| Operatoren |
read_object_model_3d_dxf — Lesen eines 3D-Objektmodells aus einer DXF-Datei.
read_object_model_3d_dxf ist veraltet und wird nur aus Gründen der Rückwärtskompatibilität zur Verfügung gestellt. Neue Applikationen sollten stattdessen den Operator read_object_model_3d verwenden.
read_object_model_3d_dxf( : : FileName, Scale, GenParamNames, GenParamValues : ObjectModel3D, DxfStatus)
Der Operator read_object_model_3d_dxf liest den Inhalt der DXF-Datei FileName (DXF-Version AC1009, AutoCAD Release 12) und wandelt ihn in ein 3D-Objektmodell. Der Handle für das 3D-Objektmodell wird in ObjectModel3D zurückgegeben. Wenn kein absoluter Pfad in FileName angegeben wird, wird die DXF-Datei im aktuellen Verzeichnis des HALCON-Prozesses gesucht. Die Dateiendung für die DXF-Datei ist in HALCON 'dxf'.
Der Ausgabeparameter DxfStatus enthält Informationen über die Anzahl der gelesenen 3D-Flächen und, falls erforderlich, Hinweise auf Teile der DXF-Datei, die nicht gelesen werden konnten.
Der Operator read_object_model_3d_dxf unterstützt die folgenden DXF-Elemente:
POLYLINE
Vielflächennetz (Polyline flag 64)
3DFACE
LINE
CIRCLE
ARC
SOLID
BLOCK
INSERT
Die zweidimensionalen linienhaften DXF-Elemente LINE, CICRLE und ARC werden nicht als Flächen interpretiert. Nur im Fall, dass sie extrudiert sind, werden die dadurch entstehenden Flächen in das 3D-Objektmodell eingefügt.
Die gekrümmte Oberfläche extrudierter DXF-Elemente vom Typ CIRCLE und ARC wird durch ebene Flächen approximiert. Die Genauigkeit dieser Approximation kann über die beiden generischen Parameter 'min_num_points' und 'max_approx_error' gesteuert werden. Der Parameter 'min_num_points' legt fest, wieviele Stützpunkte mindestens für die Approximation des DXF-Elements CIRCLE bzw. ARC verwendet werden. Der Parameter 'min_num_points' bezieht sich immer auf den entsprechenden Vollkreis, auch für ARCs, d.h., wenn 'min_num_points' auf den Wert 50 gesetzt ist und ein DXF-Element vom Typ ARC eingelesen wird, das einen Halbkreis darstellt, so wird dieser durch mindestens 25 Stützpunkte approximiert. Der Parameter 'max_approx_error' legt fest, wie groß die maximale Abweichung der XLD-Kontur von dem idealen Kreis sein darf. Diese Abweichung wird in der Einheit bestimmt, die in der DXF-Datei verwendet wird. Für die Bestimmung der Genauigkeit der Approximation werden beide Kriterien ausgewertet und dasjenige verwendet, das zu einer genaueren Approximation führt.
Die intern verwendeten Defaultwerte für die generischen Parameter sind:
'min_num_points' = 20
'max_approx_error' = 0.25
Um eine genauere Approximation zu erreichen, muss entweder ein größerer Wert für 'min_num_points' oder ein kleinerer Wert für 'max_approx_error' verwendet werden.
Eine Möglichkeit, um eine passende DXF-Datei zu erzeugen, besteht darin, ein 3D-Modell des Objektes mit dem CAD-Programm AutoCAD zu erstellen. Dabei muss darauf geachtet werden, dass die Oberfläche des Objektes modelliert wird, nicht nur die Kanten. Linien, die z.B. Objektkanten darstellen, können von HALCON nicht verwendet werden, da sie nicht die Oberfläche des Objektes beschreiben. Wenn die Modellierung des Objektes abgeschlossen ist, kann das 3D-Modell im DWG-Format abgespeichert werden. Um die DWG-Datei in eine DXF-Datei zu konvertieren, die für die Verwendung in HALCON geeignet ist, sind die folgenden Schritte durchzuführen:
Exportieren des 3D CAD-Modells in eine 3DS-Datei mit dem AutoCAD-Befehl 3dsout. Dabei erfolgt eine Dreiecksvermaschung der Oberfläche des Objektes, d.h., die Oberfläche wird nur noch durch Dreiecke dargestellt. (Nutzer von AutoCAD 2007 oder neueren Versionen können sich ein Dienstprogramm, das diesen Befehl zur Verfügung stellt, auf den Internetseiten von Autodesk herunterladen.)
Öffnen einer neuen, leeren Zeichnung.
Importieren der 3DS-Datei in die neue Zeichnung mit dem AutoCAD-Befehl 3dsin.
Speichern des Modells in eine DXF R12-Datei.
Nutzer anderer CAD-Programme sollten sicherstellen, dass die Oberfläche des 3D-Modells vor dem Export nach DXF dreiecksvermascht wird. Wenn das CAD-Programm diese Funktionalität nicht zur Verfügung stellt, besteht oft die Möglichkeit, das 3D-Modell im proprietären Format des CAD-Programms abzuspeichern und anschließend mit einem Konverter für CAD-Formate, der die Dreiecksvermaschung durchführen kann, zu konvertieren.
Es ist zu beachten, dass falls ein 3D-Objektmodell nicht länger benötigt wird oder überschrieben werden soll, zunächst der Speicher wieder freigegeben werden muss durch Aufrufen des Operators clear_object_model_3d.
Dieser Operator liefert ein Handle zurück. Es ist zu beachten, dass der Zustand einer Instanz dieses Handletyps durch bestimmte Operatoren geändert werden kann, obwohl das Handle als Eingabeparameter in diesen Operatoren verwendet wird.
Maßstab oder Dimension.
Defaultwert: 'm'
Wertevorschläge: 'm', 'cm', 'mm', 'microns', 'µm', 1.0, 0.01, 0.001, 1.0e-6, 0.0254, 0.3048, 0.9144
Namen der generischen Parameter, die für den DXF-Input eingestellt werden sollen.
Defaultwert: []
Werteliste: 'max_approx_error', 'min_num_points'
Werte der generischen Parameter, die für den DXF-Input eingestellt werden sollen.
Defaultwert: []
Wertevorschläge: 0.1, 0.25, 0.5, 1, 2, 5, 10, 20
Handle des eingelesenen 3D-Objektmodells.
Statusinformationen.
read_object_model_3d_dxf liefert den Wert 2 (H_MSG_TRUE) wenn alle Parameter korrekt sind. Andernfalls wird eine Fehlerbehandlung durchgeführt.
3D Metrology
| Operatoren |