volume_object_model_3d_relative_to_plane
— Berechnen des Volumens eines 3D-Objektmodells.
volume_object_model_3d_relative_to_plane( : : ObjectModel3D, Plane, Mode, UseFaceOrientation : Volume)
volume_object_model_3d_relative_to_plane
berechnet das Volumen
unter den Flächen eines 3D-Objektmodells relativ zu einer Ebene im Raum.
Die Ebene wird durch die x-y-Ebene der Pose in Plane
definiert.
Für das 3D-Objektmodell ObjectModel3D
muss eine Triangulierung oder eine Polygonliste vorhanden sein.
Falls das 3D-Objektmodell eine wasserdichte und geordnete Vermaschung
besitzt, berechnet der Operator mit den Standardeinstellungen das
tatsächliche Volumen. Um Fälle zu behandeln, wo das Netz nicht
wasserdicht oder die Vermaschung nicht konsistent ist, kann die Berechnung
des Volumens mit den Parametern Mode
und
UseFaceOrientation
beeinflusst werden.
Wie das Volumen berechnet wird:
Zuerst berechnet der Operator das Volumen der Prismen, die sich aus der Projektion der einzelnen Flächen auf die Ebene ergeben.
Die einzelnen Volumen der Prismen können positiv oder negativ sein,
abhängig von der Orientierung (hin zur oder weg von der Ebene) oder der
Lage (oberhalb oder unterhalb) der Fläche. Das kann mit dem Parameter
UseFaceOrientation
eingestellt werden.
Danach werdem die Volumen der Prismen abhängig vom Parameter Mode
aufsummiert.
Das in Volume
zurückgegebene Volumen ist der Absolutbetrag der
berechneten Summe.
Einstellen der Parameter:
Mode
kann folgende Werte annehmen:
Die Volumen oberhalb und unterhalb der Ebene werden addiert.
Das Volumen unterhalb der Ebene wird vom Volumen oberhalb der Ebene abgezogen.
Nur Flächen oberhalb der Ebene werden berücksichtigt.
Nur Flächen unterhalb der Ebene werden berücksichtigt.
UseFaceOrientation
kann folgende Werte annehmen:
Verwendet die Orientierung der Fläche relativ zur Ebene. Eine Fläche zeigt weg von der Ebene, falls die Eckpunkte von der Ebene aus betrachtet im Uhrzeigersinn angeordnet sind. Das Volumen eines Prismas ist positiv, wenn die Orientierung der Fläche weg von der Ebene zeigt. Das Volumen eines Prismas ist negativ, wenn die Orientierung der Fläche hin zu der Ebene zeigt.
Das Volumen eines Prismas is positiv, wenn die Fläche oberhalb der Ebene liegt. Das Volumen eines Prismas is negativ, wenn die Fläche unterhalb der Ebene liegt.
Zum Beispiel wird mit der Standardeinstellung (Mode
:
'signed' , UseFaceOrientation
: 'true' )
das Volumen eine geschlossenen Objektes berechnet. In diesem Fall wird
die Ebene Plane
zwar benötigt, hat aber keinen Einfluss auf das
berechnete Endergebnis.
Ist die Entfernung zwischen der Ebene und dem Objekt sehr groß (ca. 10000 mal größer als der Durchmesser), kann die Berechnung des Volumens numerisch instabil werden.
ObjectModel3D
(input_control) object_model_3d(-array) →
(handle)
Handle eines 3D-Objektmodells.
Plane
(input_control) pose(-array) →
(real / integer)
Pose der Ebene.
Defaultwert: [0,0,0,0,0,0,0]
Mode
(input_control) string(-array) →
(string)
Methode, mit der Volumina ober- und unterhalb der Referenzebene kombiniert werden.
Defaultwert: 'signed'
Werteliste: 'negative' , 'positive' , 'signed' , 'unsigned'
UseFaceOrientation
(input_control) string(-array) →
(string)
Legt fest, ob die Orientierung der Dreiecke Einfluss auf das resultierende Vorzeichen des darunter liegenden Volumens haben soll.
Defaultwert: 'true'
Werteliste: 'false' , 'true'
Volume
(output_control) number(-array) →
(real)
Absolutbetrag des berechneten Volumens.
Parameteranzahl: Volume == ObjectModel3D
gen_box_object_model_3d ([0,0,0,0,0,0,0],3,2,1, ObjectModel3D) convex_hull_object_model_3d (ObjectModel3D, ObjectModel3DConvexHull) volume_object_model_3d_relative_to_plane (ObjectModel3DConvexHull,\ [0,0,0,0,0,0,0], 'signed',\ 'true', Volume)
volume_object_model_3d_relative_to_plane
liefert den Wert 2 (H_MSG_TRUE) wenn
alle Parameter korrekt sind. Andernfalls wird eine Fehlerbehandlung
durchgeführt.
read_object_model_3d
,
xyz_to_object_model_3d
,
select_points_object_model_3d
project_object_model_3d
,
object_model_3d_to_xyz
3D Metrology