read_contour_xld_dxf
— Lesen von XLD-Konturen aus einer DXF-Datei.
read_contour_xld_dxf( : Contours : FileName, GenParamName, GenParamValue : DxfStatus)
read_contour_xld_dxf
liest den Inhalt der DXF-Datei
FileName
(DXF-Version AC1009, AutoCAD Release 12)
und wandelt ihn in die XLD-Konturen Contours
.
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 Konturen und, falls erforderlich,
Hinweise auf Teile der DXF-Datei, die nicht gelesen werden
konnten.
Der Operator read_contour_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-Konturen Contours
gespeichert.
Die Z-Koordinaten der DXF-Elemente werden nicht berücksichtigt.
Wenn die Datei mit dem Operator write_contour_xld_dxf
erstellt wurde, werden alle Attribute und globalen Attribute
eingelesen, die für die ursprüngliche XLD-Kontur definiert waren.
Das heißt, read_contour_xld_dxf
unterstützt die erweiterten
Elementdaten, die von write_contour_xld_dxf
geschrieben werden.
Das Einlesen dieser Attribute kann durch Setzen des
generischen Parameters 'read_attributes' auf
'false' verhindert werden. Generische Parameter werden
durch Angabe des Parameternamens in GenParamName
und des
dazugehörigen Wertes in GenParamValue
gesetzt.
DXF-Elemente vom Typ CIRCLE, ARC, ELLIPSE und SPLINE werden durch XLD-Konturen 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 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 approximiert. Der Parameter 'max_approx_error' legt fest, wie groß die maximale Abweichung der XLD-Kontur 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:
'read_attributes' = 'true'
'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.
Contours
(output_object) xld_cont(-array) →
object
Eingelesene XLD-Konturen.
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' , 'read_attributes'
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: 'true' , 'false' , 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_contour_xld_dxf
den Wert
2 (H_MSG_TRUE). Andernfalls wird eine Fehlerbehandlung durchgeführt.
write_contour_xld_dxf
,
read_polygon_xld_dxf
,
query_contour_attribs_xld
,
query_contour_global_attribs_xld
,
get_contour_attrib_xld
,
get_contour_global_attrib_xld
Foundation