read_polygon_xld_dxfread_polygon_xld_dxfReadPolygonXldDxfReadPolygonXldDxfread_polygon_xld_dxf (Operator)
Name
read_polygon_xld_dxfread_polygon_xld_dxfReadPolygonXldDxfReadPolygonXldDxfread_polygon_xld_dxf — Lesen von XLD-Polygonen aus einer DXF-Datei.
Signatur
void ReadPolygonXldDxf(HObject* Polygons, const HTuple& FileName, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* DxfStatus)
HTuple HXLDPoly::ReadPolygonXldDxf(const HString& FileName, const HTuple& GenParamName, const HTuple& GenParamValue)
HString HXLDPoly::ReadPolygonXldDxf(const HString& FileName, const HString& GenParamName, double GenParamValue)
HString HXLDPoly::ReadPolygonXldDxf(const char* FileName, const char* GenParamName, double GenParamValue)
HString HXLDPoly::ReadPolygonXldDxf(const wchar_t* FileName, const wchar_t* GenParamName, double GenParamValue)
(Nur Windows)
def read_polygon_xld_dxf(file_name: str, gen_param_name: MaybeSequence[str], gen_param_value: MaybeSequence[Union[int, str, float]]) -> Tuple[HObject, Sequence[str]]
def read_polygon_xld_dxf_s(file_name: str, gen_param_name: MaybeSequence[str], gen_param_value: MaybeSequence[Union[int, str, float]]) -> Tuple[HObject, str]
Beschreibung
read_polygon_xld_dxfread_polygon_xld_dxfReadPolygonXldDxfReadPolygonXldDxfReadPolygonXldDxfread_polygon_xld_dxf liest den Inhalt der DXF-Datei
FileNameFileNameFileNameFileNamefileNamefile_name (DXF-Version AC1009, AutoCAD Release 12)
und wandelt ihn in die XLD-Polygone PolygonsPolygonsPolygonsPolygonspolygonspolygons.
Wenn kein absoluter Pfad in FileNameFileNameFileNameFileNamefileNamefile_name
angegeben wird, wird die DXF-Datei im aktuellen Verzeichnis des
HALCON-Prozesses gesucht.
Der Ausgabeparameter DxfStatusDxfStatusDxfStatusDxfStatusdxfStatusdxf_status enthält Informationen über
die Anzahl der gelesenen Polygone und, falls erforderlich,
Hinweise auf Teile der DXF-Datei, die nicht gelesen werden
konnten.
Der Operator read_polygon_xld_dxfread_polygon_xld_dxfReadPolygonXldDxfReadPolygonXldDxfReadPolygonXldDxfread_polygon_xld_dxf unterstützt die
folgenden DXF-Elemente:
-
POLYLINE
-
2D-Kurven, die aus Liniensegmenten bestehen
-
Geschlossene 2D-Kurven, die aus Liniensegmenten bestehen
-
LWPOLYLINE
-
LINE
-
POINT
-
CIRCLE
-
ARC
-
ELLIPSE
-
SPLINE
-
BLOCK
-
INSERT
Die X- und Y-Koordinaten der DXF-Elemente werden in den Spalten- und
Zeilenkoordinaten der XLD-Polygone PolygonsPolygonsPolygonsPolygonspolygonspolygons gespeichert.
Die Z-Koordinaten der DXF-Elemente werden nicht berücksichtigt.
DXF-Elemente vom Typ CIRCLE, ARC, ELLIPSE und SPLINE
werden durch XLD-Polygone 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 (bei SPLINE nur 'max_approx_error'"max_approx_error""max_approx_error""max_approx_error""max_approx_error""max_approx_error").
Generische Parameter werden
durch Angabe des Parameternamens in GenParamNameGenParamNameGenParamNameGenParamNamegenParamNamegen_param_name und des
dazugehörigen Wertes in GenParamValueGenParamValueGenParamValueGenParamValuegenParamValuegen_param_value gesetzt.
Der Parameter 'min_num_points'"min_num_points""min_num_points""min_num_points""min_num_points""min_num_points" legt
fest, wie viele Stützpunkte mindestens für die Approximation
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 bzw. die gesamte Ellipse, auch für
ARCs oder Ellipsenbögen, 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 dargestellt.
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 des XLD-Polygons von
dem idealen Kreis bzw. der idealen Ellipse sein darf (Einheit: Pixel).
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'"min_num_points""min_num_points""min_num_points""min_num_points""min_num_points" = 20
-
'max_approx_error'"max_approx_error""max_approx_error""max_approx_error""max_approx_error""max_approx_error" = 0.25
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.
Beachten Sie, dass das Einlesen einer DXF-Datei mit
read_polygon_xld_dxfread_polygon_xld_dxfReadPolygonXldDxfReadPolygonXldDxfReadPolygonXldDxfread_polygon_xld_dxf geometrisch zu dem gleichen
Ergebnis führt wie das Einlesen der Datei mit read_contour_xld_dxfread_contour_xld_dxfReadContourXldDxfReadContourXldDxfReadContourXldDxfread_contour_xld_dxf.
Lediglich die Datenstruktur, in der das Ergebnis zurückgegeben wird,
ist eine andere.
Ausführungsinformationen
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Wird ohne Parallelisierung verarbeitet.
Parameter
PolygonsPolygonsPolygonsPolygonspolygonspolygons (output_object) xld_poly(-array) → objectHXLDPolyHObjectHXLDPolyHobject *
Eingelesene XLD-Polygone.
FileNameFileNameFileNameFileNamefileNamefile_name (input_control) filename.read → HTuplestrHTupleHtuple (string) (string) (HString) (char*)
Name der DXF-Datei.
Dateiendung: .dxf
GenParamNameGenParamNameGenParamNameGenParamNamegenParamNamegen_param_name (input_control) attribute.name(-array) → HTupleMaybeSequence[str]HTupleHtuple (string) (string) (HString) (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"
GenParamValueGenParamValueGenParamValueGenParamValuegenParamValuegen_param_value (input_control) attribute.value(-array) → HTupleMaybeSequence[Union[int, str, float]]HTupleHtuple (real / integer / string) (double / int / long / string) (double / Hlong / HString) (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
DxfStatusDxfStatusDxfStatusDxfStatusdxfStatusdxf_status (output_control) string(-array) → HTupleSequence[str]HTupleHtuple (string) (string) (HString) (char*)
Statusinformationen.
Ergebnis
Wenn die Parameter korrekt sind und die angegebene Datei gelesen
werden konnte, liefert read_polygon_xld_dxfread_polygon_xld_dxfReadPolygonXldDxfReadPolygonXldDxfReadPolygonXldDxfread_polygon_xld_dxf den Wert
TRUE. Andernfalls wird eine Fehlerbehandlung durchgeführt.
Vorgänger
write_polygon_xld_dxfwrite_polygon_xld_dxfWritePolygonXldDxfWritePolygonXldDxfWritePolygonXldDxfwrite_polygon_xld_dxf
Siehe auch
write_polygon_xld_dxfwrite_polygon_xld_dxfWritePolygonXldDxfWritePolygonXldDxfWritePolygonXldDxfwrite_polygon_xld_dxf,
read_contour_xld_dxfread_contour_xld_dxfReadContourXldDxfReadContourXldDxfReadContourXldDxfread_contour_xld_dxf
Modul
Foundation