KlassenKlassenKlassenKlassen | | | | Operatoren

volume_object_model_3d_relative_to_planeT_volume_object_model_3d_relative_to_planeVolumeObjectModel3dRelativeToPlanevolume_object_model_3d_relative_to_planeVolumeObjectModel3dRelativeToPlaneVolumeObjectModel3dRelativeToPlane (Operator)

Name

volume_object_model_3d_relative_to_planeT_volume_object_model_3d_relative_to_planeVolumeObjectModel3dRelativeToPlanevolume_object_model_3d_relative_to_planeVolumeObjectModel3dRelativeToPlaneVolumeObjectModel3dRelativeToPlane — Berechnen des Volumens eines 3D-Objektmodells relativ zu einer Ebene im Raum.

Signatur

volume_object_model_3d_relative_to_plane( : : ObjectModel3D, Plane, Mode, UseFaceOrientation : Volume)

Herror T_volume_object_model_3d_relative_to_plane(const Htuple ObjectModel3D, const Htuple Plane, const Htuple Mode, const Htuple UseFaceOrientation, Htuple* Volume)

Herror volume_object_model_3d_relative_to_plane(const HTuple& ObjectModel3D, const HTuple& Plane, const HTuple& Mode, const HTuple& UseFaceOrientation, double* Volume)

Herror volume_object_model_3d_relative_to_plane(const HTuple& ObjectModel3D, const HTuple& Plane, const HTuple& Mode, const HTuple& UseFaceOrientation, HTuple* Volume)

HTuple HObjectModel3D::VolumeObjectModel3dRelativeToPlane(const HTuple& Plane, const HTuple& Mode, const HTuple& UseFaceOrientation) const

void VolumeObjectModel3dRelativeToPlane(const HTuple& ObjectModel3D, const HTuple& Plane, const HTuple& Mode, const HTuple& UseFaceOrientation, HTuple* Volume)

static HTuple HObjectModel3D::VolumeObjectModel3dRelativeToPlane(const HObjectModel3DArray& ObjectModel3D, const HPoseArray& Plane, const HTuple& Mode, const HTuple& UseFaceOrientation)

double HObjectModel3D::VolumeObjectModel3dRelativeToPlane(const HPose& Plane, const HString& Mode, const HString& UseFaceOrientation) const

double HObjectModel3D::VolumeObjectModel3dRelativeToPlane(const HPose& Plane, const char* Mode, const char* UseFaceOrientation) const

void HOperatorSetX.VolumeObjectModel3dRelativeToPlane(
[in] VARIANT ObjectModel3D, [in] VARIANT Plane, [in] VARIANT Mode, [in] VARIANT UseFaceOrientation, [out] VARIANT* Volume)

VARIANT HObjectModel3DX.VolumeObjectModel3dRelativeToPlane(
[in] VARIANT Plane, [in] VARIANT Mode, [in] VARIANT UseFaceOrientation)

static void HOperatorSet.VolumeObjectModel3dRelativeToPlane(HTuple objectModel3D, HTuple plane, HTuple mode, HTuple useFaceOrientation, out HTuple volume)

static HTuple HObjectModel3D.VolumeObjectModel3dRelativeToPlane(HObjectModel3D[] objectModel3D, HPose[] plane, HTuple mode, HTuple useFaceOrientation)

double HObjectModel3D.VolumeObjectModel3dRelativeToPlane(HPose plane, string mode, string useFaceOrientation)

Beschreibung

volume_object_model_3d_relative_to_planevolume_object_model_3d_relative_to_planeVolumeObjectModel3dRelativeToPlanevolume_object_model_3d_relative_to_planeVolumeObjectModel3dRelativeToPlaneVolumeObjectModel3dRelativeToPlane berechnet das Volumen eines 3D-Objektmodells relativ zu einer Ebene im Raum. Für das 3D-Objektmodell muss eine Triangulierung oder eine Polygonliste vorhanden sein.

Die Ebene wird in PlanePlanePlanePlanePlaneplane als Pose übergeben. Die x-y Ebene der Pose entspricht der Ebene. Die z-Achse der Pose entspricht der Normalen der Ebene.

Das Vorzeichen eines Teilvolumens ergibt sich aus der Lage des Körpers bezüglich der Ebene: oberhalb resultiert dieses in einem positiven Volumen, unterhalb in einem negativen. Mit Hilfe des Parameters ModeModeModeModeModemode kann ausgewählt werden, wie dieses Vorzeichen zur Berechnung des Gesamtvolumens berücksichtigt werden soll. Ist ModeModeModeModeModemode auf 'positive'"positive""positive""positive""positive""positive" gesetzt, werden nur Werte oberhalb der Ebene zum Volumen hinzugerechnet. Ist ModeModeModeModeModemode auf 'negative'"negative""negative""negative""negative""negative" gesetzt, werden nur Werte unterhalb der Ebene hinzugerechnet. Ist ModeModeModeModeModemode auf ('signed'"signed""signed""signed""signed""signed") gesetzt, gehen die Volumina oberhalb der Ebene positiv und die Volumina unterhalb negativ in die Rechnung ein, das Ergebnis wird ohne Vorzeichen zurückgegeben. Der Wert 'unsigned'"unsigned""unsigned""unsigned""unsigned""unsigned" rechnet sowohl Volumina über der Ebene als auch unter der Ebene positiv zum Gesamtvolumen hinzu. UseFaceOrientationUseFaceOrientationUseFaceOrientationUseFaceOrientationUseFaceOrientationuseFaceOrientation bestimmt, ob zusätzlich die Reihenfolge der Punkte einer Fläche zur Vorzeichenbestimmung hinzugezogen werden soll.

Bei vollständig geschlossenen und geordneten Vermaschungen empfiehlt sich die Verwendung der Standardeinstellung 'signed'"signed""signed""signed""signed""signed". In diesem Fall sollte die Ebene in der Nähe des Objektes liegen, um Ungenauigkeiten in der Rechnung zu vermeiden. Für die meisten Vermaschungen kann der Standardwert verwendet werden.

Achtung

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.

Parallelisierung

Parameter

ObjectModel3DObjectModel3DObjectModel3DObjectModel3DObjectModel3DobjectModel3D (input_control)  object_model_3d(-array) HObjectModel3D, HTupleHTupleHObjectModel3D, HTupleHObjectModel3DX, VARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong) (Hlong)

Handle eines 3D-Objektmodells.

PlanePlanePlanePlanePlaneplane (input_control)  pose(-array) HPose, HTupleHTupleHTupleHPoseX, VARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

Pose der Ebene.

Defaultwert: [0,0,0,0,0,0,0]

ModeModeModeModeModemode (input_control)  string(-array) HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

Methode, mit der Volumina ober- und unterhalb der Referenzebene kombiniert werden.

Defaultwert: 'signed' "signed" "signed" "signed" "signed" "signed"

Werteliste: 'negative'"negative""negative""negative""negative""negative", 'positive'"positive""positive""positive""positive""positive", 'signed'"signed""signed""signed""signed""signed", 'unsigned'"unsigned""unsigned""unsigned""unsigned""unsigned"

UseFaceOrientationUseFaceOrientationUseFaceOrientationUseFaceOrientationUseFaceOrientationuseFaceOrientation (input_control)  string(-array) HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

Legt fest, ob die Orientierung der Dreiecke Einfluss auf das resultierende Vorzeichen des darunter liegenden Volumens haben soll.

Defaultwert: 'true' "true" "true" "true" "true" "true"

Werteliste: 'false'"false""false""false""false""false", 'true'"true""true""true""true""true"

VolumeVolumeVolumeVolumeVolumevolume (output_control)  number(-array) HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Berechnetes Volumen.

Parameteranzahl: Volume == ObjectModel3D

Beispiel (HDevelop)

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)

Ergebnis

volume_object_model_3d_relative_to_planevolume_object_model_3d_relative_to_planeVolumeObjectModel3dRelativeToPlanevolume_object_model_3d_relative_to_planeVolumeObjectModel3dRelativeToPlaneVolumeObjectModel3dRelativeToPlane liefert den Wert 2 (H_MSG_TRUE) wenn alle Parameter korrekt sind. Andernfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

read_object_model_3dread_object_model_3dReadObjectModel3dread_object_model_3dReadObjectModel3dReadObjectModel3d, xyz_to_object_model_3dxyz_to_object_model_3dXyzToObjectModel3dxyz_to_object_model_3dXyzToObjectModel3dXyzToObjectModel3d, select_points_object_model_3dselect_points_object_model_3dSelectPointsObjectModel3dselect_points_object_model_3dSelectPointsObjectModel3dSelectPointsObjectModel3d

Nachfolger

project_object_model_3dproject_object_model_3dProjectObjectModel3dproject_object_model_3dProjectObjectModel3dProjectObjectModel3d, object_model_3d_to_xyzobject_model_3d_to_xyzObjectModel3dToXyzobject_model_3d_to_xyzObjectModel3dToXyzObjectModel3dToXyz

Siehe auch

area_object_model_3darea_object_model_3dAreaObjectModel3darea_object_model_3dAreaObjectModel3dAreaObjectModel3d

Modul

3D Metrology


KlassenKlassenKlassenKlassen | | | | Operatoren