Click or drag to resize
AB4D logo

PlaneSliceModel3D(Model3D, Transform3D) Method

Slices the 3D models defined by model3D (GeometryModel3D or Model3DGroup) with this Plane and returns a new ModelVisual3D with models that are in front of the plane (in the direction of plane's Normal vector). The models that are fully in front of the Plane are not changed (the same instances are used). The models that intersect the Plane are sliced and new models are created from them.

Namespace: Ab3d.Utilities
Assembly: Ab3d.PowerToys (in Ab3d.PowerToys.dll) Version: 11.1.8864.1045
Syntax
C#
public Model3D SliceModel3D(
	Model3D model3D,
	Transform3D parentTransform = null
)

Parameters

model3D  Model3D
model3D as GeometryModel3D or Model3DGroup
parentTransform  Transform3D  (Optional)
Transform3D that is added to the model3D (null by default)

Return Value

Model3D
new GeometryModel3D of Model3DGroup or models that are in front of the plane
Remarks

SliceModel3D slices the 3D models defined by model3D (GeometryModel3D or Model3DGroup) with this Plane and returns a new ModelVisual3D with models that are in front of the plane (in the direction of plane's Normal vector). The models that are fully in front of the Plane are not changed (the same instances are used). The models that intersect the Plane are sliced and new models are created from them.

Note for using with textured objects: SliceModel3D correctly calculates sliced TextureCoordinates, but to show the texture correctly, the ViewportUnits on ImageBrush needs to be set to BrushMappingMode.Absolute. It should not be set to BrushMappingMode.RelativeToBoundingBox (a default value in WPF). In case of RelativeToBoundingBox, both sliced parts of the 3D model will still show the whole texture).

See Also