ThreeDeeToSetApp

Hier bitte alles zum Selbergestalten einbringen
Antworten
Benutzeravatar
CowboyJoe
China-Importeur
Beiträge: 238
Registriert: 10. Juni 2024 10:20

ThreeDeeToSetApp

Beitrag von CowboyJoe »

Ich habe eine kleine App gebaut, die 3D-Objekte quantisiert und Sets draus macht.
Eingefügtes Bild.png
Man kann 3D Dateien hochladen, die dann quantisiert werden.
Man kann definieren, wie gross das Set skaliert wird und Offsets, um manuell die Mittelpunkte nachbessern zu können.
Die Inneren Bricks werden entfernt.
Der Export nach Stud.io fehlt momentan noch.
Im Bild oben hab ich mal einen Calibrationcube quantisiert.

und hier nochmal was für kleine Kapitäne:
Eingefügtes Bild (2).png
Momentan noch alles etwas hölzern, aber es wird. :bouncy:
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Benutzeravatar
CowboyJoe
China-Importeur
Beiträge: 238
Registriert: 10. Juni 2024 10:20

Re: ThreeDeeToSetApp

Beitrag von CowboyJoe »

Update:
Export funktioniert nun auch:
Eingefügtes Bild (3).png
Bei der Entwicklung habe ich mich gewundert, dass die Bricks auf dem Kopf standen. Habe das dann korrigiert.
Beim Export stehen sie nun wieder auf dem Kopf.
=> Anfangs war die Noppe am falschen Ende des Steines (Boden) befestigt! Da der Stein nur ein Quader war, fiel das nicht auf. :lol:

Aber abgesehen davon geht es.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Benutzeravatar
CowboyJoe
China-Importeur
Beiträge: 238
Registriert: 10. Juni 2024 10:20

Re: ThreeDeeToSetApp

Beitrag von CowboyJoe »

So. nun klappt der Export auch richtig herum.
Eingefügtes Bild (4).png
Als nächstes will ich die Wände aufdickbar machen 1,5 oder 2 Studs.

Danach folgt der Algorithmus, der die Steine zu grösseren zusammenfügt.

Farbe könnte ich auch noch hinzufügen.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Benutzeravatar
5N00P1
FrankenSTEIN
Beiträge: 6647
Registriert: 26. Januar 2022 08:50

Re: ThreeDeeToSetApp

Beitrag von 5N00P1 »

CowboyJoe hat geschrieben: ↑24. September 2026 11:00 Ich habe eine kleine App gebaut, die 3D-Objekte quantisiert und Sets draus macht.
Magst du nem Noob wie mir erklären, was das bedeutet? Was ist hier der Anwendungsfall?
Benutzeravatar
CowboyJoe
China-Importeur
Beiträge: 238
Registriert: 10. Juni 2024 10:20

Re: ThreeDeeToSetApp

Beitrag von CowboyJoe »

Öh? Ich dachte die Bilder erklären das ganz gut.

Du nimmst dir eine beliebige 3D-Datei von irgendwas her (Superhelden, Monster, Katzen, wasauchimmer) und raus kommt eine Studio-Datei, mit Bricks.
Das Schiffchen ist ein Benchy. Jeder, der nen 3D-Drucker hat, hat das schonmal gedruckt. Ich habs mal als Beispiel hergenommen.

Der Anwendungsfall ist dann sowas:
https://klemmbrett.info/viewtopic.php?p=97598#p97598
Balbard
MOC-Bauer
Beiträge: 652
Registriert: 26. Januar 2022 09:15

Re: ThreeDeeToSetApp

Beitrag von Balbard »

Also könnte ich jetzt auf eine Seite mit 3D Drucker Vorlagen gehen, und mit da draus Klemmbausteinmodelle generieren lassen?
Benutzeravatar
CowboyJoe
China-Importeur
Beiträge: 238
Registriert: 10. Juni 2024 10:20

Re: ThreeDeeToSetApp

Beitrag von CowboyJoe »

jup.
Allerdings geht nicht jedes. Einige haben Löcher oder sind gewunden oder die Normalen sind falsch oder sind anderweitig defekt, aber wenn es ein heiles Objekt ist, sollte es gehen.
Und allzu gross von der Polygonzahl dürfen sie auch nicht sein. Die Benchy musste ich von 110k Polygonen auf 10k dezimieren.
Weiterhin ist der Algo an irgendeiner Stelle sehr langsam. Es kann schonmal ne Minute brauchen, bis er fertig ist. Hier fehlen noch Optmierungen und die GUI muss auch noch aufgehübscht werden.

Hm. mir ist grad noch eingefallen, dass ich ein 9 Punkt Oversampling einbauen könnte.
Benutzeravatar
CowboyJoe
China-Importeur
Beiträge: 238
Registriert: 10. Juni 2024 10:20

Re: ThreeDeeToSetApp

Beitrag von CowboyJoe »

So. Es gibt nun Parameter, die die Wanddicke steuern.
Eingefügtes Bild (5).png
Next stop: Layeroptimization city.

btw: ich habe den Voxelizationalgorithmus geändert. Es dauert nun nur noch 1-3s für die Generierung. Dürfte allerdings mit dem zusätzlichen Schritt der Optimierung wieder hochgehen.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Benutzeravatar
5N00P1
FrankenSTEIN
Beiträge: 6647
Registriert: 26. Januar 2022 08:50

Re: ThreeDeeToSetApp

Beitrag von 5N00P1 »

CowboyJoe hat geschrieben: ↑24. September 2026 22:08 Du nimmst dir eine beliebige 3D-Datei von irgendwas her (Superhelden, Monster, Katzen, wasauchimmer) und raus kommt eine Studio-Datei, mit Bricks.
Aber das konnte Studio doch schon selbst, hab das damals für den D'deridex gemacht, aus dem 3D Modell nen Steinemodell gemacht.
Benutzeravatar
CowboyJoe
China-Importeur
Beiträge: 238
Registriert: 10. Juni 2024 10:20

Re: ThreeDeeToSetApp

Beitrag von CowboyJoe »

Ich kann natürlich deinen Einwand verstehen. In dieser schnelllebigen Welt sind Veränderungen immer etwas Angsteinflößendes. Gerade weil die Entwicklung immer schneller geht. Und dann kommt auch noch KI dazu. Da wünscht man sich gerne mehr Stabilität und Einfachheit. Da ist der Wunsch, dass alle nur ein Tool nutzen sollten, um ihre Brickmodelle zu bauen verständlich.

Ich lebe halt auch mal gefährlich und schreibe eigene Programme. Wenn also die Klemmbausteinpolizei bei mir vorbeikommt, sage ich ihr einfach, dass ich meine Modelle vorschriftsmäßig mit der Lego-Software erstellt habe. Ich hoffe die merken es nicht, dass hier ein böses Drittprogramm genutzt wurde und bitte sag keinem weiter, dass man dafür auch andere Tools nutzen kann. In der Zwischenzeit lerne ich noch was dabei, dieses Programm zu schreiben, statt einfach nur eines zu benutzen. Dir steht natürlich frei weiterhin das vorgeschriebene Lego-Tool zu verwenden.
Benutzeravatar
o_l_a_f
Ururgestein
Beiträge: 3031
Registriert: 18. Februar 2022 18:42

Re: ThreeDeeToSetApp

Beitrag von o_l_a_f »

@CowboyJoe Jetzt fehlt noch ein Editor, der ebenenweise farbige 1xn und 2×n-Steine positionieren kann. ;-)
Benutzeravatar
CowboyJoe
China-Importeur
Beiträge: 238
Registriert: 10. Juni 2024 10:20

Re: ThreeDeeToSetApp

Beitrag von CowboyJoe »

Den gibts so halb. Um die Wandstärken und die Layerslices prüfen zu können habe ich etwas eingebaut, um obere Layer auszublenden, sodass nur die unteren sichtbar sind.
Wichtig bei einem Layer ist immer auch das unterlegende Layer, um die Kontaktstellen überbrücken zu können. D.h man muss auch mmer das unterliegende Layer mit anzeigen.
Die Positionierung ist auch recht einfach, da es sich um ein Grid handelt, dessen Koordinaten bekannt sind. Das ist dann ähnlich wie Tetris spielen. Snotten geht ja nicht, also bleiben nur 6 Richtungen für die Position, links drehen, rechts drehen.

Umgesetzt ist das allerdings noch nicht. Ich habe mich etwas stärker auf einen Algorithmus konzentriert, der automatisch die Steine im Layer zusammenfügen soll. Das ist ein Least Squares Algorithmus, der Steine über unterliegenden Kontaktstellen niedriger(besser) bewertet als über Stellen, die bereits zusammenhalten. Weiterhin werden 2xn Steine niedriger bewertet als 1xn und längere niedriger als kurze (Länger ist besser! *hust*). Allerdings kann es bei 2xn passieren, dass 1x1 Steine übrig bleiben. Das ist GANZ übel, daher werden diese weiter bestraft indem sie extrem hoch bewertet werden. Dadurch wird dann ein kürzerer 2xn Stein verbaut und ein 2x2 Eckstein oder eben zwei 1xn Steine nebeneinander.

Gestern habe ich nun allerdings erstmal die User DB eingebaut. Als nächstes muss noch die Rollenvergabe (admin, user) rein. Das ist %$/&%&/ und frisst sch... viel Zeit.

Das Färben werde ich später angehen. Dazu muss der Algo ein Durchschnitt aus den umliegenden Vertices bilden oder eine Textur nutzen. Da ist momentan der praktikable Ansatz den Pinsel in Studio rauszuholen und dann dort einmal drüber zu wischen.
Benutzeravatar
CowboyJoe
China-Importeur
Beiträge: 238
Registriert: 10. Juni 2024 10:20

Re: ThreeDeeToSetApp

Beitrag von CowboyJoe »

Hab mal die Layeransicht etwas aufgehübscht.
Eingefügtes Bild (6).png
Links findet man den Brick layer doppel slider, der das untere und obere angezeigte Layer definiert.
Die rote Linie ist eine Cutline mit dem Originalmodell.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von CowboyJoe am 26. September 2026 22:40, insgesamt 1-mal geändert.
Benutzeravatar
5N00P1
FrankenSTEIN
Beiträge: 6647
Registriert: 26. Januar 2022 08:50

Re: ThreeDeeToSetApp

Beitrag von 5N00P1 »

CowboyJoe hat geschrieben: ↑26. September 2026 10:46 Ich kann natürlich deinen Einwand verstehen. In dieser schnelllebigen Welt sind Veränderungen immer etwas Angsteinflößendes. Gerade weil die Entwicklung immer schneller geht. Und dann kommt auch noch KI dazu. Da wünscht man sich gerne mehr Stabilität und Einfachheit. Da ist der Wunsch, dass alle nur ein Tool nutzen sollten, um ihre Brickmodelle zu bauen verständlich.
Was du so alles in mein Post reininterpretierst..... schon spanned!

Ich versuche zu verstehen, warum du etwas baust, was es schon gibt! Ich habe mehrere Posts nicht verstanden was du überhaupt machst, um dann zu entdecken, dass Studio das schon eingebaut hat. Deshalb meine Frage nach dem warum! Wenn du es aus Spaß an der Freude machst, herzlichen Glückwunsch und ich wünsche dir viel Spaß dabei! Aber dichte mir doch bitte keine Angst vor der Zukunft an, ich würde dich bitten hier nicht von dir auf andere zu schließen!
Benutzeravatar
o_l_a_f
Ururgestein
Beiträge: 3031
Registriert: 18. Februar 2022 18:42

Re: ThreeDeeToSetApp

Beitrag von o_l_a_f »

@5N00P1 ich vermutte aus Spaß und weil er es besser kann. Ich denke, Ihr habt da anfangs einfach nur aneinander vorbeigeredet und das hat sich hochgeschaukelt.
@CowboyJoe Ist die URL im, letzten Post im Bild zur allgemeinen Nutzung. Wollte lieber vorher fragen.
Die neue Ansicht gefällt mir sehr gut, vielleicht noch ein Button für unten.
Eine Konturlinie für die nächste Ebene wahlweise zur Modelkontur wäre noch interessant.
Benutzeravatar
CowboyJoe
China-Importeur
Beiträge: 238
Registriert: 10. Juni 2024 10:20

Re: ThreeDeeToSetApp

Beitrag von CowboyJoe »

Momentan ist das ganze leider noch nicht erreichbar. Ich suche noch wie ein Blöder nach nem Server, der das hosten kann. Aber die Server, die ich gefunden habe sind alle crap. Fast alle ohne SSL-Verschlüsselung. Einer ist nett und hat SSL-Verschlüsselung.... und injiziert buggy Code in Webseiten. Viele haben nur so eine crappy Oberfläche wo man sich seine Wunschwebseite zusammenclicken kann. Andere bieten tolle Server an, wo man dann für jedes Modul nochmal Euros latzen darf. So fängt man keine Kunden ein.

Mittlerweile sind auch ein paar Gizmos dazugekommen und ein Edit Modus.
Allerdings bin ich zu dem Schluss gekommen, dass ich keine unterschiedlichen Steine setzen werde. Alles, was ich setzen werde sind 1x1 Bricks. Das Zusammenfassen macht dann der Algorithmus. Man setzt also einen Brick hin und der Algo berechnet die neue ideale Brickzusammensetzung des Layers. Leider scheitert das, wenn man unterschiedliche Farben hat, da man dafür ja andere Bricks verwenden muss und eine Grenze entsteht. D.h. ich muss erst Farben einbauen, bevor ich zusammenfassen kann...

Gestern habe ich die Brickshader und das Culling verbessert. Noppen sind nun wirklich rund und nicht mehr eckig. Das Wireframe ist nun viel besser an den Studs und smooth geshaded. Studs werden ausgeblendet, wenn 2 Steine aufeinander gesteckt werden. Das verbessert die Renderperformance. Ich habe ein Sihouttenrenderign für die Studs versucht, aber das benötigt einen weiteren Renderpass und macht es langsam. Ist dann wieder rausgeflogen.
Man kann auch die Darstellung transparent machen. Das sieht imho sogar besser aus, als in Stud.io.

Hier sieht man die unterste Ebene meines Testhasen:
Eingefügtes Bild (7).png
Für gute Stabilität wir jede gerade Ebene in einer Richtung verlegt (X), jede ungerade orthogonal dazu (Y). Die gestreiften Bricks zeigen die X-Richtung an.
Überlagert sind die Faltungen mit den entsprechenden Bricks als Kernel. (1xn vorerst)
Jetzt muss das noch subtrahiert und dann in Shader verpackt werden.
Überraschend problematisch sind die 2x2 Eckbricks. Da werde ich wohl für jede Orientierung einen Shader benötigen. Blöd. Aber die kommen nur in Situationen zum Einsatz, bei denen einzelne 1x1 Steine sonst abfallen würden. (oberste Reihe)
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Antworten