3D-Grafik 3D Modelle für 3D-Drucker aufbereiten

SporSeba97

Neues Mitglied
Hallo,

seit einiger Zeit bin ich im Besitz eines Raspberry Pi 2. Nachdem ich ein wenig mit ihm rumgespielt habe, hatte ich die Idee mit dem Raspberry einen 3D Drucker zu bauen. Motoren, Gestell und sonstige Hardware sind keine Probleme. Auch die Steuerung der Motoren funktioniert mit Java ganz gut (über GPIO: http://pi4j.com/). Nun stellt sich mir die Frage, wie kann ich in Java ein 3D Modell einlesen und dann nach möglich kein soweit aufbereiten, dass ich dann den "Druckkopf" mit den Motoren richtig bewege.

Meine erste Idee war ich zerteile das Modell in viele kleine Scheiben. Dann nehme ich jede Scheibe einzeln und lasse dort, wo das Modell ist, den Druckkopf hinfahren und "drucken". (Anhand der 2D Koordinaten)
Nun kommt meine Frage: Wie kann ich das Modell in solche Scheiben zerteilen oder die Koordinaten des Modelles herrausfinden?
Ich habe zur Frage auch schon Google gefragt und die Forum-Suche genutzt, aber habe nichts gefunden.

Ich würde mich über viele Antworten freuen.

Mit freundlichen Grüßen
SporSeba97
 
Kennst du dich mit "Sampling" aus?
In Java kannst du ja auch Töne, dargestellt durch Kurven, abspielbar machen, indem du diese in viele kleine Tonstufen zerteilst.

Meiner Meinung nach musst du also dein Modell durch Kurven und Linien darstellen können und von jeder Ebene (Die Höhenspanne kannst du ja bei jedem Druck neu einstellen -> Qualität) den Mittelwert bilden

Hoffe ich hab dich auf eine nicht triviale Idee gebracht

Gruß eMmiE
 
Erst mal danke für deine Antwort.

Mit Sampling kenne ich mich nicht so wirklich aus. Auch verstehe ich nicht wirklich was du mit den Funktionen und Kurven meinst.

Ich hatte jetzt mehr so die Idee so etwas wie Durchschnitte eines Modells zu erzeugen oder Punkt für Punkt das Modell abzufahren und dann zu testen ob der Punkt innerhalb des Modells liegt oder nicht.
Kennt einer Funktionen mit denen man dies machen kann?

Mit freundlichen Grüßen
SporSeba97
 
Jetzt nur mal der rein mathematische Ansatz. Vorab: Ich kenne mich mit 3D-Daten nicht direkt aus und gehe mal davon aus, eine 3D-Datei enthält 3-Dimensionale Punkt-Koordinaten und angaben, welche Punkte miteinander Verbunden sind. (Sicherlich auchnoch komplexere Strukturen, die sich aber auf das genannte zurückrechnen lassen).

Dann Wäre zunächst einmal zu prüfen, ob das Objekt überhaupt in deinen Drucker passt (oder ggf skaliert werden muss/soll).
Nach ggf erneuter Umrechnung kannst du dann, je nachdem wie die Qualität eingestellt ist, Ebenen definieren die eine "Schicht" repräsentieren. Dann musst du für jeden Punkt und jede Strecke, die im 3D-Objekt gegeben sind den Schnittpunkt mit der jewailigen Ebene berechnen. Wenn du dann all diese Punkte miteinander Verbindest hast du die 2-dimensionale Form der Schicht (am besten wäre es natürlich, wenn eine Methode [c]public java.awt.Shape getLayerShape(Layer e)[/code] realisierbar wäre).
Die kannst du dann (in entprechender Dicke = Höhe des Objekts / Anzahl an Schichten) mit deiner Hardware "drucken".
 

Zurück
Oben