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.
Height { get; set; }The height of the extruded geometry, default value is 1.0
virtual Name { get; set; }Gets or sets the name.
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.
ParentNodes { get; }Gets all parent nodes, an entity can be attached to multiple parent nodes for geometry instancing
Properties { get; }Gets the collection of all properties.
Scene { get; }Gets the scene that this object belongs to
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)
GetBoundingBox()Gets the bounding box of current entity in its object space coordinate system.
virtual GetEntityRendererKey()Gets the key of the entity renderer registered in the renderer
GetProperty(string)Get the value of specified property
RemoveProperty(Property)Removes a dynamic property.
RemoveProperty(string)Remove the specified property identified by name
SetProperty(string, object)Sets the value of specified property
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