Working with Linear Extrusion
Performing Linear Extrusion
Aspose.3D for .NET offers LinearExtrusion
class, which takes a 2D shape as an input and extends the shape in the 3rd dimension. Following code snippet shows how to perform linear extrusion:
// For complete examples and data files, please go to https://github.com/aspose-3d/Aspose.3D-for-.NET | |
// Initialize the base profile to be extruded | |
var profile = new RectangleShape() | |
{ | |
RoundingRadius = 0.3 | |
}; | |
// Perform Linear extrusion by passing a 2D profile as input and extend the shape in the 3rd dimension | |
var extrusion = new LinearExtrusion(profile, 10) { Slices = 100, Center = true, Twist = 360, TwistOffset = new Vector3(10, 0, 0) }; | |
// Create a scene | |
Scene scene = new Scene(); | |
// Create a child node by passing extrusion | |
scene.RootNode.CreateChildNode(extrusion); | |
// Save 3D scene | |
scene.Save("LinearExtrusion.obj"); |
Slices
in Linear Extrusion
Aspose.3D for .NET offers Slices
property of LinearExtrusion
class. Slices property defines the number of intermediate points along the path of the extrusion. Following code snippet shows how to use Slices property in linear extrusion:
// For complete examples and data files, please go to https://github.com/aspose-3d/Aspose.3D-for-.NET | |
// Initialize the base profile to be extruded | |
var profile = new RectangleShape() | |
{ | |
RoundingRadius = 0.3 | |
}; | |
// Create a scene | |
Scene scene = new Scene(); | |
// Create left node | |
var left = scene.RootNode.CreateChildNode(); | |
// Create right node | |
var right = scene.RootNode.CreateChildNode(); | |
left.Transform.Translation = new Vector3(15, 0, 0); | |
// Slices parameter defines the number of intermediate points along the path of the extrusion | |
// Perform linear extrusion on left node using slices property | |
left.CreateChildNode(new LinearExtrusion(profile, 2) { Slices = 2 }); | |
// Perform linear extrusion on right node using slices property | |
right.CreateChildNode(new LinearExtrusion(profile, 2) { Slices = 10 }); | |
// Save 3D scene | |
scene.Save("SlicesInLinearExtrusion.obj"); |
Center
in Linear Extrusion
Aspose.3D for .NET offers Center
property of LinearExtrusion
class. If the Center property is set to true, the extrusion range is from -Height/2 to Height/2, otherwise, the extrusion is from 0 to Height. Following code snippet shows how to use Center property in linear extrusion:
// For complete examples and data files, please go to https://github.com/aspose-3d/Aspose.3D-for-.NET | |
// Initialize the base profile to be extruded | |
var profile = new RectangleShape() | |
{ | |
RoundingRadius = 0.3 | |
}; | |
// Create a scene | |
Scene scene = new Scene(); | |
// Create left node | |
var left = scene.RootNode.CreateChildNode(); | |
// Create right node | |
var right = scene.RootNode.CreateChildNode(); | |
left.Transform.Translation = new Vector3(15, 0, 0); | |
// Slices parameter defines the number of intermediate points along the path of the extrusion | |
// Perform linear extrusion on left node using slices property | |
left.CreateChildNode(new LinearExtrusion(profile, 2) { Slices = 2 }); | |
// Perform linear extrusion on right node using slices property | |
right.CreateChildNode(new LinearExtrusion(profile, 2) { Slices = 10 }); | |
// Save 3D scene | |
scene.Save("SlicesInLinearExtrusion.obj"); |
Twist
in Linear Extrusion
Aspose.3D for .NET offers Twist
property of LinearExtrusion
class. Twist property handles the degree of the rotation while extruding the shape. Following code snippet shows how to use Twist property in linear extrusion:
// For complete examples and data files, please go to https://github.com/aspose-3d/Aspose.3D-for-.NET | |
// Initialize the base profile to be extruded | |
var profile = new RectangleShape() | |
{ | |
RoundingRadius = 0.3 | |
}; | |
// Create a scene | |
Scene scene = new Scene(); | |
// Create left node | |
var left = scene.RootNode.CreateChildNode(); | |
// Create rifht node | |
var right = scene.RootNode.CreateChildNode(); | |
left.Transform.Translation = new Vector3(15, 0, 0); | |
// Twist property defines the degree of the rotation while extruding the profile | |
// Perform linear extrusion on left node using twist and slices property | |
left.CreateChildNode(new LinearExtrusion(profile, 10) { Twist = 0, Slices = 100 }); | |
// Perform linear extrusion on right node using twist and slices property | |
right.CreateChildNode(new LinearExtrusion(profile, 10) { Twist = 90, Slices = 100 }); | |
// Save 3D scene | |
scene.Save("TwistInLinearExtrusion.obj"); |
TwistOffset
in Linear Extrusion
Aspose.3D for .NET offers TwistOffset
property of LinearExtrusion
class. Twist Offset property translates offset while rotating the extrusion. Following code snippet shows how to use TwistOffset property in linear extrusion:
// For complete examples and data files, please go to https://github.com/aspose-3d/Aspose.3D-for-.NET | |
// Initialize the base profile to be extruded | |
var profile = new RectangleShape() | |
{ | |
RoundingRadius = 0.3 | |
}; | |
// Create a scene | |
Scene scene = new Scene(); | |
// Create left node | |
var left = scene.RootNode.CreateChildNode(); | |
// Create right node | |
var right = scene.RootNode.CreateChildNode(); | |
left.Transform.Translation = new Vector3(18, 0, 0); | |
// TwistOffset property is the translate offset while rotating the extrusion. | |
// Perform linear extrusion on left node using twist and slices property | |
left.CreateChildNode(new LinearExtrusion(profile, 10) { Twist = 360, Slices = 100 }); | |
// Perform linear extrusion on right node using twist, twist offset and slices property | |
right.CreateChildNode(new LinearExtrusion(profile, 10) { Twist = 360, Slices = 100, TwistOffset = new Vector3(3, 0, 0) }); | |
// Save 3D scene | |
scene.Save(RunExamples.GetOutputFilePath("TwistOffsetInLinearExtrusion.obj"), FileFormat.WavefrontOBJ); |
Direction
in Linear Extrusion
Aspose.3D for .NET offers Direction
property of LinearExtrusion
class. Direction property defines the direction of the extrusion. Following code snippet shows how to use Direction property in linear extrusion:
// For complete examples and data files, please go to https://github.com/aspose-3d/Aspose.3D-for-.NET | |
// Initialize the base profile to be extruded | |
var profile = new RectangleShape() | |
{ | |
RoundingRadius = 0.3 | |
}; | |
// Create a scene | |
Scene scene = new Scene(); | |
// Create left node | |
var left = scene.RootNode.CreateChildNode(); | |
// Create right node | |
var right = scene.RootNode.CreateChildNode(); | |
left.Transform.Translation = new Vector3(8, 0, 0); | |
// Direction property defines the direction of the extrusion. | |
// Perform linear extrusion on left node using twist and slices property | |
left.CreateChildNode(new LinearExtrusion(profile, 10) { Twist = 360, Slices = 100 }); | |
// Perform linear extrusion on right node using twist, slices, and direction property | |
right.CreateChildNode(new LinearExtrusion(profile, 10) { Twist = 360, Slices = 100, Direction = new Vector3(0.3, 0.2, 1) }); | |
// Save 3D scene | |
scene.Save("DirectionInLinearExtrusion.obj"); |