write_object_model_3d
— Schreiben eines 3D-Objektmodells in eine Datei.
write_object_model_3d( : : ObjectModel3D, FileType, FileName, GenParamName, GenParamValue : )
write_object_model_3d
schreibt das 3D-Objektmodell
ObjectModel3D
in die Datei FileName
. Die Datei kann
mittels read_object_model_3d
wieder eingelesen werden oder
in einem entsprechenden CAD-Programm geladen werden. Es ist zu beachten,
dass Primitive nur in dem HALCON-Format 'om3' gespeichert werden.
Falls die Notwendigkeit besteht, die Primitive in einem anderen Format
zu speichern, muss zuvor sample_object_model_3d
aufgerufen werden.
Dies führt allerdings zu einer Umwandlung der Primitive in durch 3D-Punkte
abgetastete Objekte, welche einer Annäherung an die Primitive entsprechen.
Alle in die Datei geschriebenen Koordinaten werden in Metern geschrieben.
Wird die Datei daher später mit read_object_model_3d
wieder
eingelesen, so muss der Parameter Scale auf 'm' gesetzt werden, um
eine Skalierung der Daten zu vermeiden.
Der Parameter FileType
legt das Format der zu schreibenden Datei
fest. Die folgenden Dateitypen werden von write_object_model_3d
unterstützt:
HALCON-Format für 3D-Objektmodelle. Dateien mit diesem Format können
mit read_object_model_3d
wieder gelesen werden.
Die Standard-Dateiendung für dieses Format ist 'om3'.
AUTOCAD-Dateiformat. Weitere Details zu dem Format finden sich
in der Dokumentation zu read_object_model_3d
.
Die Standard-Dateiendung für dieses Format ist 'dxf'.
'Object File Format'. Dies ist ein einfaches ASCII-basiertes Format welches 3D-Punkte und Polygone speichern kann. Die Standard-Dateiendung für dieses Format ist 'off'.
'Polygon File Format' (auch Stanford Triangle Format). Dies ist ein einfaches Dateiformat welches 3D-Punkte, Punktnormalen, Polygone, Farbinformationen und punktbasierte benutzerdefinierte Attribute speichern kann. HALCON schreibt sowohl die ASCII- als auch die Binärversion des Dateiformats. Die Standard-Dateiendung für dieses Format ist 'ply'.
'OBJ File Format' (auch 'Wavefront OBJ-Format'). Dies ist ein ASCII-basiertes Format, welches 3D-Punkte, Polygone, Normalen und Dreiecke, welche in Polygone umgewandelt werden, speichern kann. Die Standard-Dateiendung für dieses Format ist 'obj'.
'STL-Dateiformat' (auch 'Stereolithography',
'SurfaceTesselationLanguage', 'StandardTriangulationLanguage' oder
'StandardTesselationLanguage'). Dieses Dateiformat kann
Dreiecke und Dreiecksnormalen speichern. Da das HALCON 3D Objektmodell
allerdings keine Dreiecksnormalen unterstützt und Punktnormalen
(wie sie z.B. mit surface_normals_object_model_3d
berechnet
werden) vom STL-Format nicht unterstützt werden, werden keine
Normalen in die Datei geschrieben. Enthält das 3D Objektmodell Polygone,
werden diese vor dem Speichern in Dreiecke umgewandelt.
STL-Dateien können im ASCII oder im Binärformat geschrieben werden.
Wird 'stl' oder 'stl_binary' angegeben, so wird das
Binärformat geschrieben, für 'stl_ascii' das ASCII format.
Die Standard-Dateiendung für dieses Format ist 'stl'.
Eine Reihe weiterer optionaler Parameter kann gesetzt werden.
Die Namen und Werte dieser Parameter werden in GenParamName
und
GenParamValue
übergeben. Einige der Parameter gelten nicht für
alle Dateitypen. Die folgenden Werte sind für GenParamName
möglich:
Invertieren der Normalenrichtung und Flächenausrichtung vor dem Speichern des 3D-Objektmodells. Ist dieser Parameter auf 'true' gesetzt, so wird für die Formate 'off' , 'ply' , 'obj' und 'stl' der Umlaufsinn aller Flächen (Dreiecke und Polygone) invertiert. Für Formate, die Punktnormalen speichern ('ply' ,'obj' ), werden zusätzlich die Normalenrichtungen vor dem Speichern invertiert. Für die Dateitypen 'om3' und 'dxf' hat der Parameter keinen Effekt.
Mögliche Werte: 'true' , 'false'
Standardwert: 'false'
Gültig für Dateitypen: 'off' , 'ply' , 'obj' , 'stl'
ObjectModel3D
(input_control) object_model_3d →
(handle)
Handle des zu schreibenden 3D-Objektmodells.
FileType
(input_control) string →
(string)
Typ der zu schreibenden Datei.
Defaultwert: 'om3'
Werteliste: 'dxf' , 'obj' , 'off' , 'om3' , 'ply' , 'ply_binary' , 'stl' , 'stl_ascii' , 'stl_binary'
FileName
(input_control) filename.write →
(string)
Dateiname der zu schreibenden Datei.
Dateiendung: .off
, .ply
, .dxf
, .om3
, .obj
, .stl
GenParamName
(input_control) string(-array) →
(string)
Namen der generischen Parameter.
Defaultwert: []
Werteliste: 'invert_normals'
GenParamValue
(input_control) string(-array) →
(string / real / integer)
Werte der generischen Parameter.
Defaultwert: []
Wertevorschläge: 'true' , 'false'
write_object_model_3d
liefert den Wert 2 (H_MSG_TRUE) wenn alle
Parameter korrekt sind und die Datei geschrieben werden konnte.
Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.
read_object_model_3d
,
xyz_to_object_model_3d
3D Metrology