CAD STEP EXPORT

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Benutzeravatar
noisefloor
User
Beiträge: 3843
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

STL ist sowas wie das simpelste Format für 3D Körper. Das verstehen alle CAD-Programme. Außerdem wird es AFAIK als Datenquelle für 3D-Drucker genutzt.

Wenn du mal den Wikipedia-Artikel liest, sollte es eigentlich klarer sein.

Gruß, noisefloor
stefanxfg
User
Beiträge: 85
Registriert: Sonntag 2. April 2017, 14:11

Ich habe programmiertechnisch mit beiden Varianten noch nicht gearbeitet. Ich möchte mir nun so eine Art Flächenkörper ins CAD holen. Wenn das mit dem Mesh geht, dann ist das auch OK für mich. Mit numpy habe ich auch bei Matplotllib schon gearbeitet. Das würde scih also anbieten.
Kniffte
User
Beiträge: 64
Registriert: Dienstag 27. September 2016, 11:05

@stefanxfg:
Mit Hilfe des Links von noisefloor kannst du ja nachvollziehen wie eine .stl aufgebaut ist.
Wenn man davon ausgeht, dass deine Kurvenzüge auf der y-z-Ebene liegen, nur in z-Richtung zueinander verschoben sind und jeweils die gleiche Anzahl von Punkten haben, dann:
- musst du die Fläche, die zwischen Kurvenzug 1 und Kurvenzug 2 in Dreiecke aufteilen
- den Normalenvektor für jedes Dreieck berechnen/erzeugen
- alles im entsprechenden Format in eine .stl packen

Siehe auch http://pythonhosted.org/numpy-stl/usage ... -and-faces
Im Grunde hast du ja deine Punkte der Kurvenzügen (vertices).
Dann musst du noch deine Einzelflächen (faces) aus den zur Verfügung stehenden Punkten (vertices) definieren und wie
im Link die zugehörigen Normalenvektoren erzeugen
Eine Einzelfläche wäre in deinem Fall
[Koordinanten Punkt1 von Kurvenzug1, Koordinanten Punkt2 von Kurvenzug1, Koordinanten Punkt1 von Kurvenzug2]
wie für diese Fläche der Normalenvektor zu berechnen ist, findest du auch im Link zu numpy-stl.

Um mal bei deinem Minimalbsp. eines Kreisquerschnittes zu bleiben, wird dieser dann im CAD als .stl importiert kein Kreis mehr sein,
sondern ein Polygon, dass je nach Anzahl der Punkte deiner Kurven kantig aussieht.

Interessant wäre noch zu wissen, warum du nicht einfach die Kurvenzüge mittels ihrer Punkte und deren x,y,z Koordinaten in´s CAD importierst
und dort die Fläche/ den Volumenkörper erzeugst? Jedes vernünftige CAD Programm kann Punktewolken importieren, die machen dir daraus auch direkt ne Kurve/ Spline und das Verbinden zu Flächen ist dann auch nicht mehr aufwändig.
stefanxfg
User
Beiträge: 85
Registriert: Sonntag 2. April 2017, 14:11

Danke für die Erklärung. Der Grund ist, dass ich programmunabhängig bleiben möchte. Als Ergebnis soll die fertige Datei exportiert werden, welche dann vom Benutzer importiert werden kann. Es ist eben eine Erleichterung der Arbeit, wenn man die Umwandlung nicht mehr von Hand machen muss.

Ich werde das mal ausprobieren. Vielleicht kann man dann noch eine Knovertierung von STL zu STEP machen. Oder es ist dann nicht mehr notwendig. Ich hoffe, dass in der STL auch die Informationen stehen, dass das jeweilige CAD dann weiß, dass es sich um Flächen handelt.

Ich habe gerade gesehen, dass man auch direkt von matplotlib ins stl exportieren kann. Vielleicht ist das ja die beste Wahl.
Benutzeravatar
noisefloor
User
Beiträge: 3843
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,
Ich hoffe, dass in der STL auch die Informationen stehen, dass das jeweilige CAD dann weiß, dass es sich um Flächen handelt.
Äh... STL Daten bestehen _nur_ aus Dreiecksflächen...

Gruß, noisefloor
stefanxfg
User
Beiträge: 85
Registriert: Sonntag 2. April 2017, 14:11

Naja, ich weiß nicht wie man die Dreiecke erstellt. Jedoch habe ich über matplotlib bereits ein Meshgrid erstellt. Ich versuche mal, ob man das auch exportieren kann.
Antworten