KlassenKlassenKlassenKlassen | | | | Operatoren

read_object_model_3d_dxfread_object_model_3d_dxfReadObjectModel3dDxfread_object_model_3d_dxfReadObjectModel3dDxfReadObjectModel3dDxf (Operator)

Name

read_object_model_3d_dxfread_object_model_3d_dxfReadObjectModel3dDxfread_object_model_3d_dxfReadObjectModel3dDxfReadObjectModel3dDxf — Lesen eines 3D-Objektmodells aus einer DXF-Datei.

Warnung

read_object_model_3d_dxfread_object_model_3d_dxfReadObjectModel3dDxfread_object_model_3d_dxfReadObjectModel3dDxfReadObjectModel3dDxf 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_3dread_object_model_3dReadObjectModel3dread_object_model_3dReadObjectModel3dReadObjectModel3d verwenden.

Signatur

read_object_model_3d_dxf( : : FileName, Scale, GenParamNames, GenParamValues : ObjectModel3D, DxfStatus)

Herror read_object_model_3d_dxf(const char* FileName, const char* Scale, const char* GenParamNames, double GenParamValues, Hlong* ObjectModel3D, char* DxfStatus)

Herror T_read_object_model_3d_dxf(const Htuple FileName, const Htuple Scale, const Htuple GenParamNames, const Htuple GenParamValues, Htuple* ObjectModel3D, Htuple* DxfStatus)

Herror read_object_model_3d_dxf(const HTuple& FileName, const HTuple& Scale, const HTuple& GenParamNames, const HTuple& GenParamValues, Hlong* ObjectModel3D, char* DxfStatus)

Herror read_object_model_3d_dxf(const HTuple& FileName, const HTuple& Scale, const HTuple& GenParamNames, const HTuple& GenParamValues, HTuple* ObjectModel3D, HTuple* DxfStatus)

HTuple HObjectModel3D::ReadObjectModel3dDxf(const HTuple& FileName, const HTuple& Scale, const HTuple& GenParamNames, const HTuple& GenParamValues)

void ReadObjectModel3dDxf(const HTuple& FileName, const HTuple& Scale, const HTuple& GenParamNames, const HTuple& GenParamValues, HTuple* ObjectModel3D, HTuple* DxfStatus)

HTuple HObjectModel3D::ReadObjectModel3dDxf(const HString& FileName, const HTuple& Scale, const HTuple& GenParamNames, const HTuple& GenParamValues)

HString HObjectModel3D::ReadObjectModel3dDxf(const HString& FileName, const HString& Scale, const HString& GenParamNames, double GenParamValues)

HString HObjectModel3D::ReadObjectModel3dDxf(const char* FileName, const char* Scale, const char* GenParamNames, double GenParamValues)

void HOperatorSetX.ReadObjectModel3dDxf(
[in] VARIANT FileName, [in] VARIANT Scale, [in] VARIANT GenParamNames, [in] VARIANT GenParamValues, [out] VARIANT* ObjectModel3D, [out] VARIANT* DxfStatus)

VARIANT HObjectModel3DX.ReadObjectModel3dDxf(
[in] BSTR FileName, [in] VARIANT Scale, [in] VARIANT GenParamNames, [in] VARIANT GenParamValues)

static void HOperatorSet.ReadObjectModel3dDxf(HTuple fileName, HTuple scale, HTuple genParamNames, HTuple genParamValues, out HTuple objectModel3D, out HTuple dxfStatus)

HTuple HObjectModel3D.ReadObjectModel3dDxf(string fileName, HTuple scale, HTuple genParamNames, HTuple genParamValues)

string HObjectModel3D.ReadObjectModel3dDxf(string fileName, string scale, string genParamNames, double genParamValues)

Beschreibung

Der Operator read_object_model_3d_dxfread_object_model_3d_dxfReadObjectModel3dDxfread_object_model_3d_dxfReadObjectModel3dDxfReadObjectModel3dDxf liest den Inhalt der DXF-Datei FileNameFileNameFileNameFileNameFileNamefileName (DXF-Version AC1009, AutoCAD Release 12) und wandelt ihn in ein 3D-Objektmodell. Der Handle für das 3D-Objektmodell wird in ObjectModel3DObjectModel3DObjectModel3DObjectModel3DObjectModel3DobjectModel3D zurückgegeben. Wenn kein absoluter Pfad in FileNameFileNameFileNameFileNameFileNamefileName 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 DxfStatusDxfStatusDxfStatusDxfStatusDxfStatusdxfStatus 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_dxfread_object_model_3d_dxfReadObjectModel3dDxfread_object_model_3d_dxfReadObjectModel3dDxfReadObjectModel3dDxf unterstützt die folgenden DXF-Elemente:

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'"min_num_points""min_num_points""min_num_points""min_num_points""min_num_points" und 'max_approx_error'"max_approx_error""max_approx_error""max_approx_error""max_approx_error""max_approx_error" gesteuert werden. Der Parameter 'min_num_points'"min_num_points""min_num_points""min_num_points""min_num_points""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'"min_num_points""min_num_points""min_num_points""min_num_points""min_num_points" bezieht sich immer auf den entsprechenden Vollkreis, auch für ARCs, d.h., wenn 'min_num_points'"min_num_points""min_num_points""min_num_points""min_num_points""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'"max_approx_error""max_approx_error""max_approx_error""max_approx_error""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:

Um eine genauere Approximation zu erreichen, muss entweder ein größerer Wert für 'min_num_points'"min_num_points""min_num_points""min_num_points""min_num_points""min_num_points" oder ein kleinerer Wert für 'max_approx_error'"max_approx_error""max_approx_error""max_approx_error""max_approx_error""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:

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_3dclear_object_model_3dClearObjectModel3dclear_object_model_3dClearObjectModel3dClearObjectModel3d.

Parallelisierung

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.

Parameter

FileNameFileNameFileNameFileNameFileNamefileName (input_control)  filename.read HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

Name der DXF-Datei

Dateiendung: .dxf

ScaleScaleScaleScaleScalescale (input_control)  number HTupleHTupleHTupleVARIANTHtuple (string / integer / real) (string / int / long / double) (HString / Hlong / double) (char* / Hlong / double) (BSTR / Hlong / double) (char* / Hlong / double)

Maßstab oder Dimension.

Defaultwert: 'm' "m" "m" "m" "m" "m"

Wertevorschläge: 'm'"m""m""m""m""m", 'cm'"cm""cm""cm""cm""cm", 'mm'"mm""mm""mm""mm""mm", 'microns'"microns""microns""microns""microns""microns", 'µm'"µm""µm""µm""µm""µm", 1.0, 0.01, 0.001, 1.0e-6, 0.0254, 0.3048, 0.9144

GenParamNamesGenParamNamesGenParamNamesGenParamNamesGenParamNamesgenParamNames (input_control)  string(-array) HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

Namen der generischen Parameter, die für den DXF-Input eingestellt werden sollen.

Defaultwert: []

Werteliste: 'max_approx_error'"max_approx_error""max_approx_error""max_approx_error""max_approx_error""max_approx_error", 'min_num_points'"min_num_points""min_num_points""min_num_points""min_num_points""min_num_points"

GenParamValuesGenParamValuesGenParamValuesGenParamValuesGenParamValuesgenParamValues (input_control)  number(-array) HTupleHTupleHTupleVARIANTHtuple (real / integer / string) (double / int / long / string) (double / Hlong / HString) (double / Hlong / char*) (double / Hlong / BSTR) (double / Hlong / char*)

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

ObjectModel3DObjectModel3DObjectModel3DObjectModel3DObjectModel3DobjectModel3D (output_control)  object_model_3d HObjectModel3D, HTupleHTupleHObjectModel3D, HTupleHObjectModel3DX, VARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong) (Hlong)

Handle des eingelesenen 3D-Objektmodells.

DxfStatusDxfStatusDxfStatusDxfStatusDxfStatusdxfStatus (output_control)  string(-array) HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

Statusinformationen.

Ergebnis

read_object_model_3d_dxfread_object_model_3d_dxfReadObjectModel3dDxfread_object_model_3d_dxfReadObjectModel3dDxfReadObjectModel3dDxf liefert den Wert 2 (H_MSG_TRUE) wenn alle Parameter korrekt sind. Andernfalls wird eine Fehlerbehandlung durchgeführt.

Modul

3D Metrology


KlassenKlassenKlassenKlassen | | | | Operatoren