Seite 1 von 2
CAD STEP EXPORT
Verfasst: Sonntag 12. November 2017, 21:17
von stefanxfg
Hallo. Ich habe Daten in einem Dictionary, welche einen Körper darstellen. Weiß jemand, wie ich auf einfache Weise diesen Körper exportieren kann? Welches Modul bietet diese Funktionalität?
Re: CAD STEP EXPORT
Verfasst: Sonntag 12. November 2017, 21:31
von sls
Hallo,
du könntest dir dazu mal folgendes Paket anschauen:
https://pypi.python.org/pypi/aocxchange/0.3.0
Damit solltest du das Dictionary als STEP exportieren können.
Mfg
Re: CAD STEP EXPORT
Verfasst: Sonntag 12. November 2017, 21:34
von noisefloor
Hallo,
das könnte schwierig werden... Was ist das für ein Dict? Hast du dir die Schlüssel selber ausgedacht? Oder folgen die einer Spez? Wenn ja, welcher?
Gruß, noisefloor
Re: CAD STEP EXPORT
Verfasst: Sonntag 12. November 2017, 22:02
von stefanxfg
Hallo.
Daas mit aocxchange hatte ich zwar schon gesehen, aber das erfordert weitere Installationen. Soweit ich gesehen habe benötigt man dort pythonocc und aocutils. Dann habe ich das so verstanden das man da mit wxpython hantieren muss. Ich verwende aber tkinter. Die Installation von pythonocc hatte ich nicht hinbekommen.
Mein Dictionary hat diese Form:
{'X' : {'Y' : [], 'Z' : []}}
und es werden sowohl für die keys als auch die Listeneinträge nur Zahlen verwendet.
Re: CAD STEP EXPORT
Verfasst: Montag 13. November 2017, 08:33
von noisefloor
Hallo,
dann wir das nicht funktionieren. Da kannst ja auch nicht erwarten, dass irgendwein Konverter auto-magisch eine von dir ersonnene Datenstruktur erkennt und dann in eine STEP-Datei oder so umwandelt...
Theoretisch könntest du eine ASCII-STL Datei selber erstellen. Da musst du dein Modell "nur" in Dreiecke zerlegen. Womit du zwangsläufig auch nur eine Nährung bekommst und keine 1:1 Abbildung deines Models.
Gruß, noisefloor
Re: CAD STEP EXPORT
Verfasst: Montag 13. November 2017, 09:02
von stefanxfg
HAllo. So war das auch nicht gemeint. Ich dachte, ich könnte erst einmal Datenpunkte an das Modul schicken und dann dessen Funktionalitäten benutzen um 3d-Formen zu erstellen und in einem STEP-Format zu exportieren.
Im Prinzip möchte ich die bereitgestellten Funktionen benutzen und dann das Ergebnis speichern. Ist das nicht möglich?
Re: CAD STEP EXPORT
Verfasst: Montag 13. November 2017, 09:18
von noisefloor
Hallo,
was vielleicht geht:
FreeCAD kannst du über Python skripten und FreeCAD besitzt auch die Möglichkeit, STEP-Datei zu exportieren.
Gruß, noisefloor
Re: CAD STEP EXPORT
Verfasst: Montag 13. November 2017, 09:51
von stefanxfg
Also du meinst, dass mit pythonocc oder/und aocxchange mein Vorhaben nicht umsetzbar ist?
Re: CAD STEP EXPORT
Verfasst: Montag 13. November 2017, 09:57
von __deets__
Ich glaube du solltest dein Vorhaben besser beschreiben. Was sind das für Daten, welche Art Objekte soll da rausfallen, etc.
Re: CAD STEP EXPORT
Verfasst: Montag 13. November 2017, 10:22
von stefanxfg
Hallo. Im Grunde mache ich Berechnungen mit dem Ziel eine Kontur im y-z-Koordinatensystem zu bestimmen. Es ensteht ein geschlossener Linienzug. Einfachste Form wäre ein Kreis. Wenn ich nun noch x-Stellen angebe, dann habe ich eine ähnliche Kontur aber im Raum verschoben. Diese können größer oder kleiner sein. Es entsteht förmlich gesehen eine Röhre oder ein Tunnel.
Meine Daten befinden sich in Nested Dictionarys. Ich möchte diese Punkte mit einem CAD-Modul versenden oder verbinden und dort auch Linienzüge bilden. Diese im Raum befindlichen Linienzüge würde ich dann über ein Wireframe darstellen lassen. Also sollen dann Flächen abgebildet werden. Das ganze möchte ich als STEP exportieren um es im CAD-System zu importieren.
Ist das nun etwas verständlicher? Man könnte es auch als Hüllkurven bezeichnen.
Re: CAD STEP EXPORT
Verfasst: Montag 13. November 2017, 10:36
von __deets__
Wenn du keine parametrischen Flächen und andere mathematisch exakte Geometrien brauchst (und so klingt das), bist du mit STL IMHO besser bedient. Das sollte deine CAD Software genauso schlucken, und da gibt es diverse pure Python libraries.
Re: CAD STEP EXPORT
Verfasst: Montag 13. November 2017, 10:47
von stefanxfg
Da hast du völlig recht. Ich mache nichts parametrisch. Das Programm läuft ja auch eigenständig. Es soll nur der reine Export bedient werden. Ich möchte CAD-System unabhängig vom Dateiformat verwenden.
und die STL-Datei stellt dann einen Körper irgendeiner Art dar, den ich im CAD öffnen kann?
Re: CAD STEP EXPORT
Verfasst: Montag 13. November 2017, 10:51
von __deets__
Ja.
Re: CAD STEP EXPORT
Verfasst: Montag 13. November 2017, 11:06
von stefanxfg
Das Problem für mich ist, dass ich nicht weiß, was für ein Format und was für Daten in der STL sind. Ist das eine Textdatei? Ich habe mir mal numpy-stl angeschaut. Da werden Mesh-Objekte beschrieben. Ich weiß aber nichts damit anzufangen.
Re: CAD STEP EXPORT
Verfasst: Montag 13. November 2017, 11:45
von __deets__
Ein mesh ist ein Netz. Aus punkten & Linien die sie verbinden. Exakt so wie du das selbst beschreibst. Mit ist nicht so klar wieso du damit konzeptionell Probleme hast, wenn dir STEP klar ist. Letzteres ist um Größenordnungen komplizierter.
Re: CAD STEP EXPORT
Verfasst: Montag 13. November 2017, 12:01
von noisefloor
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
Re: CAD STEP EXPORT
Verfasst: Montag 13. November 2017, 14:06
von stefanxfg
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.
Re: CAD STEP EXPORT
Verfasst: Montag 13. November 2017, 16:12
von Kniffte
@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.
Re: CAD STEP EXPORT
Verfasst: Montag 13. November 2017, 20:38
von stefanxfg
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.
Re: CAD STEP EXPORT
Verfasst: Montag 13. November 2017, 21:11
von noisefloor
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