connection_object_model_3dT_connection_object_model_3dConnectionObjectModel3dConnectionObjectModel3dconnection_object_model_3d (Operator)
Name
connection_object_model_3dT_connection_object_model_3dConnectionObjectModel3dConnectionObjectModel3dconnection_object_model_3d
— Berechnen der Zusammenhangskomponenten eines 3D-Objektmodells.
Signatur
def connection_object_model_3d(object_model_3d: MaybeSequence[HHandle], feature: MaybeSequence[str], value: MaybeSequence[Union[int, float]]) -> Sequence[HHandle]
Beschreibung
connection_object_model_3dconnection_object_model_3dConnectionObjectModel3dConnectionObjectModel3dConnectionObjectModel3dconnection_object_model_3d
berechnet innerhalb des
3D-Objektmodells ObjectModel3DObjectModel3DObjectModel3DObjectModel3DobjectModel3Dobject_model_3d
die
Zusammenhangskomponenten. Der Zusammenhang zweier Komponenten
wird mithilfe eines Attributs und einem darauf definierten Distanzmaß
ermittelt, das durch den Parameter FeatureFeatureFeatureFeaturefeaturefeature
festgelegt wird:
- 'distance_3d'"distance_3d""distance_3d""distance_3d""distance_3d""distance_3d":
Alle Punkte, deren euklidischer Abstand zueinander kleiner als
ValueValueValueValuevaluevalue
ist, werden als zusammenhängend angesehen.
- 'angle'"angle""angle""angle""angle""angle":
-
Punkte werden als zusammenhängend angesehen, falls der Winkel
zwischen den Normalen der Punkte kleiner als ValueValueValueValuevaluevalue
ist.
ValueValueValueValuevaluevalue
wird in Bogenmaß angegeben und muss
zwischen 0 und pi liegen.
Voraussetzung: Das 3D-Objektmodell muss Normalen
enthalten. Diese können mit surface_normals_object_model_3dsurface_normals_object_model_3dSurfaceNormalsObjectModel3dSurfaceNormalsObjectModel3dSurfaceNormalsObjectModel3dsurface_normals_object_model_3d
berechnet werden.
- 'distance_mapping'"distance_mapping""distance_mapping""distance_mapping""distance_mapping""distance_mapping":
-
Punkte werden als zusammenhängend angesehen, falls der Abstand
zwischen den im Pixel-Mapping gespeicherten Pixel kleiner ist als
ValueValueValueValuevaluevalue
. Um das gleiche Verhalten wie im
Operator connectionconnectionConnectionConnectionConnectionconnection
zu erhalten und eine 8-er Nachbarschaft
zu erhalten, sollte für ValueValueValueValuevaluevalue
ein Wert größer als 1.5 angegeben
werden.
Voraussetzung: Das 3D-Objektmodell muss Pixel-Mapping enthalten.
Das ist der Fall, wenn das 3D-Objektmodell mit
xyz_to_object_model_3dxyz_to_object_model_3dXyzToObjectModel3dXyzToObjectModel3dXyzToObjectModel3dxyz_to_object_model_3d
erstellt wurde.
- 'mesh'"mesh""mesh""mesh""mesh""mesh":
-
Bestimmt die Zusammenhangskomponenten in der
Vermaschung des 3D-Objektmodells. Ein Dreieck oder Polygon verbindet
hierbei mehrere 3D-Punkte zu einer Zusammenhangskomponente. Gibt es zwei
Polygone, die den selben Punkt enthalten, werden alle Punkte beider
Polygone zu einer Zusammenhangskomponente zusammengefasst.
Voraussetzung: Das 3D-Objektmodell muss trianguliert worden sein, was
mit triangulate_object_model_3dtriangulate_object_model_3dTriangulateObjectModel3dTriangulateObjectModel3dTriangulateObjectModel3dtriangulate_object_model_3d
erreicht werden kann. Falls das
3D-Objektmodell schon ein Pixel-Mapping enthält, kann alternativ auch
prepare_object_model_3dprepare_object_model_3dPrepareObjectModel3dPrepareObjectModel3dPrepareObjectModel3dprepare_object_model_3d
genutzt werden, um das 3D-Objekt schnell
zu triangulieren. Hierbei ist der Parameter PurposePurposePurposePurposepurposepurpose
auf den Wert 'segmentation'"segmentation""segmentation""segmentation""segmentation""segmentation" zu setzen.
- 'lines'"lines""lines""lines""lines""lines":
-
Bestimmt die Zusammenhangskomponenten bezüglich
der enthaltenen Linienzüge des 3D-Objektmodells.
Voraussetzung: Das 3D-Objektmodell muss Linienzüge enthalten. Diese
können mit intersect_plane_object_model_3dintersect_plane_object_model_3dIntersectPlaneObjectModel3dIntersectPlaneObjectModel3dIntersectPlaneObjectModel3dintersect_plane_object_model_3d
berechnet werden.
Die benötigten Attribute können auch manuell mit
set_object_model_3d_attribset_object_model_3d_attribSetObjectModel3dAttribSetObjectModel3dAttribSetObjectModel3dAttribset_object_model_3d_attrib
oder
set_object_model_3d_attrib_modset_object_model_3d_attrib_modSetObjectModel3dAttribModSetObjectModel3dAttribModSetObjectModel3dAttribModset_object_model_3d_attrib_mod
gesetzt werden. Es ist möglich, dass
3D-Objektmodell bereits die benötigten Attribute enthält, insbesondere,
wenn es mit read_object_model_3dread_object_model_3dReadObjectModel3dReadObjectModel3dReadObjectModel3dread_object_model_3d
eingelesen wurde, oder mit
deserialize_object_model_3ddeserialize_object_model_3dDeserializeObjectModel3dDeserializeObjectModel3dDeserializeObjectModel3ddeserialize_object_model_3d
deserialisiert wurde. Um zu überprüfen,
ob das benötigte Attribut vorhanden ist, kann
get_object_model_3d_paramsget_object_model_3d_paramsGetObjectModel3dParamsGetObjectModel3dParamsGetObjectModel3dParamsget_object_model_3d_params
genutzt werden.
Ausführungsinformationen
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Automatisch parallelisiert auf interner Datenebene.
Dieser Operator unterstützt Cancel-Timeouts und Interrupts.
Parameter
ObjectModel3DObjectModel3DObjectModel3DObjectModel3DobjectModel3Dobject_model_3d
(input_control) object_model_3d(-array) →
HObjectModel3D, HTupleMaybeSequence[HHandle]HTupleHtuple (handle) (IntPtr) (HHandle) (handle)
Handle eines 3D-Objektmodells.
FeatureFeatureFeatureFeaturefeaturefeature
(input_control) string(-array) →
HTupleMaybeSequence[str]HTupleHtuple (string) (string) (HString) (char*)
Attribut, aufgrund dessen die
Zusammenhangskomponenten berechnet werden.
Defaultwert:
'distance_3d'
"distance_3d"
"distance_3d"
"distance_3d"
"distance_3d"
"distance_3d"
Werteliste: 'angle'"angle""angle""angle""angle""angle", 'distance_3d'"distance_3d""distance_3d""distance_3d""distance_3d""distance_3d", 'distance_mapping'"distance_mapping""distance_mapping""distance_mapping""distance_mapping""distance_mapping", 'lines'"lines""lines""lines""lines""lines", 'mesh'"mesh""mesh""mesh""mesh""mesh"
ValueValueValueValuevaluevalue
(input_control) number(-array) →
HTupleMaybeSequence[Union[int, float]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Obere Schranke für den Abstand zweier
Zusammenhangskomponenten.
Defaultwert: 1.0
Wertevorschläge: 1.0, 1.1, 1.5, 10.0, 100.0
ObjectModel3DConnectedObjectModel3DConnectedObjectModel3DConnectedObjectModel3DConnectedobjectModel3DConnectedobject_model_3dconnected
(output_control) object_model_3d-array →
HObjectModel3D, HTupleSequence[HHandle]HTupleHtuple (handle) (IntPtr) (HHandle) (handle)
Handle der 3D-Objektmodelle der
Zusammenhangskomponenten.
Beispiel (HDevelop)
gen_object_model_3d_from_points (rand(100), rand(100),\
rand(100), ObjectModel3D)
connection_object_model_3d (ObjectModel3D, 'distance_3d', 0.2,\
ObjectModel3DConnected)
dev_get_window (WindowHandle)
visualize_object_model_3d (WindowHandle, [ObjectModel3DConnected], [], [],\
['colored'], [12], [], [], [], PoseOut)
Ergebnis
connection_object_model_3dconnection_object_model_3dConnectionObjectModel3dConnectionObjectModel3dConnectionObjectModel3dconnection_object_model_3d
liefert den Wert TRUE wenn alle
Parameter korrekt sind. Andernfalls wird eine Fehlerbehandlung
durchgeführt.
Vorgänger
read_object_model_3dread_object_model_3dReadObjectModel3dReadObjectModel3dReadObjectModel3dread_object_model_3d
,
xyz_to_object_model_3dxyz_to_object_model_3dXyzToObjectModel3dXyzToObjectModel3dXyzToObjectModel3dxyz_to_object_model_3d
,
select_points_object_model_3dselect_points_object_model_3dSelectPointsObjectModel3dSelectPointsObjectModel3dSelectPointsObjectModel3dselect_points_object_model_3d
Nachfolger
project_object_model_3dproject_object_model_3dProjectObjectModel3dProjectObjectModel3dProjectObjectModel3dproject_object_model_3d
,
object_model_3d_to_xyzobject_model_3d_to_xyzObjectModel3dToXyzObjectModel3dToXyzObjectModel3dToXyzobject_model_3d_to_xyz
Siehe auch
select_object_model_3dselect_object_model_3dSelectObjectModel3dSelectObjectModel3dSelectObjectModel3dselect_object_model_3d
,
select_points_object_model_3dselect_points_object_model_3dSelectPointsObjectModel3dSelectPointsObjectModel3dSelectPointsObjectModel3dselect_points_object_model_3d
Modul
3D Metrology