Class LinearExtrusion

LinearExtrusion class

Linear extrusion takes a 2D shape as input and extends the shape in the 3rd dimension.

public class LinearExtrusion : Entity, IMeshConvertible

Constructors

NameDescription
LinearExtrusion()Constructor of instance LinearExtrusion.
LinearExtrusion(Profile, double)Constructor of instance LinearExtrusion.

Properties

NameDescription
Center { get; set; }If this value is false, the linear extrusion Z range is from 0 to height, otherwise the range is from -height/2 to height/2.
Direction { get; set; }The direction of extrusion, default value is (0, 0, 1)
Excluded { get; set; }Gets or sets whether to exclude this entity during exporting.(Inherited from Entity.)
Height { get; set; }The height of the extruded geometry, default value is 1.0
virtual Name { get; set; }Gets or sets the name.(Inherited from A3DObject.)
ParentNode { get; set; }Gets or sets the first parent node, if set the first parent node, this entity will be detached from other parent nodes.(Inherited from Entity.)
ParentNodes { get; }Gets all parent nodes, an entity can be attached to multiple parent nodes for geometry instancing(Inherited from Entity.)
Properties { get; }Gets the collection of all properties.(Inherited from A3DObject.)
Scene { get; }Gets the scene that this object belongs to(Inherited from SceneObject.)
Shape { get; set; }The base shape to be extruded.
Slices { get; set; }The slices of the twisted extruded geometry, default value is 1.
Twist { get; set; }The number of degrees of through which the shape is extruded.
TwistOffset { get; set; }The offset that used in twisting, default value is (0, 0, 0).

Methods

NameDescription
FindProperty(string)Finds the property. It can be a dynamic property (Created by CreateDynamicProperty/SetProperty) or native property(Identified by its name)(Inherited from A3DObject.)
GetBoundingBox()Gets the bounding box of current entity in its object space coordinate system.(Inherited from Entity.)
virtual GetEntityRendererKey()Gets the key of the entity renderer registered in the renderer(Inherited from Entity.)
GetProperty(string)Get the value of specified property(Inherited from A3DObject.)
RemoveProperty(Property)Removes a dynamic property.(Inherited from A3DObject.)
RemoveProperty(string)Remove the specified property identified by name(Inherited from A3DObject.)
SetProperty(string, object)Sets the value of specified property(Inherited from A3DObject.)
ToMesh()Convert the extrusion to mesh.

Examples

The following code shows how to use LinearExtrusion to extrude a shape into a solid model.

using Aspose.ThreeD;
using Aspose.ThreeD.Entities;
using Aspose.ThreeD.Utilities;
using Aspose.ThreeD.Profiles;

//Create a new 3D scene
Scene scene = new Scene();

// Initialize the base profile to be extruded
var profile = new RectangleShape()
{
	RoundingRadius = 0.3
};

// Create left node
var left = scene.RootNode.CreateChildNode();
left.CreateChildNode(new Box(0.01, 3, 3));

// Create right node
var right = scene.RootNode.CreateChildNode();
right.CreateChildNode(new Box(0.01, 3, 3));
right.Transform.Translation = new Vector3(5, 0, 0);

//Perform linear extrusion on left node using center and slices property
left.CreateChildNode(new LinearExtrusion(profile, 10) { Center = false, Slices = 3, Twist = 20.0 });

// Perform linear extrusion on left node using center and slices property
right.CreateChildNode(new LinearExtrusion(profile, 10) { Center = true, Slices = 3, Twist = 90.0 });

scene

See Also