read_polygon_xld_dxf
— Lesen von XLD-Polygonen aus einer DXF-Datei.
read_polygon_xld_dxf( : Polygons : FileName, GenParamName, GenParamValue : DxfStatus)
read_polygon_xld_dxf
liest den Inhalt der DXF-Datei
FileName
(DXF-Version AC1009, AutoCAD Release 12)
und wandelt ihn in die XLD-Polygone Polygons
.
Wenn kein absoluter Pfad in FileName
angegeben wird, wird die DXF-Datei im aktuellen Verzeichnis des
HALCON-Prozesses gesucht.
Der Ausgabeparameter DxfStatus
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_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 Polygons
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' und 'max_approx_error'
gesteuert werden (bei SPLINE nur 'max_approx_error' ).
Generische Parameter werden
durch Angabe des Parameternamens in GenParamName
und des
dazugehörigen Wertes in GenParamValue
gesetzt.
Der Parameter 'min_num_points' legt
fest, wieviele Stützpunkte mindestens für die Approximation
verwendet werden.
Der Parameter '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'
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'
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' = 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.
Beachten Sie, dass das Einlesen einer DXF-Datei mit
read_polygon_xld_dxf
geometrisch zu dem gleichen
Ergebnis führt wie das Einlesen der Datei mit read_contour_xld_dxf
.
Lediglich die Datenstruktur, in der das Ergebnis zurückgegeben wird,
ist eine andere.
Polygons
(output_object) xld_poly(-array) →
object
Eingelesene XLD-Polygone.
FileName
(input_control) filename.read →
(string)
Name der DXF-Datei.
Dateiendung: .dxf
GenParamName
(input_control) attribute.name(-array) →
(string)
Namen der generischen Parameter, die für den DXF-Input eingestellt werden sollen.
Defaultwert: []
Werteliste: 'max_approx_error' , 'min_num_points'
GenParamValue
(input_control) attribute.value(-array) →
(real / integer / string)
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
DxfStatus
(output_control) string(-array) →
(string)
Statusinformationen.
Wenn die Parameter korrekt sind und die angegebene Datei gelesen
werden konnte, liefert read_polygon_xld_dxf
den Wert
2 (H_MSG_TRUE). Andernfalls wird eine Fehlerbehandlung durchgeführt.
write_polygon_xld_dxf
,
read_contour_xld_dxf
Foundation