Работа с линейной экструзионной

Contents
[ ]

Выполнение линейной экструзии

Aspose.3D for .NET предлагает класс LinearExtrusion, который принимает 2D форму в качестве входных данных и расширяет форму в 3-м измерении. Следующий фрагмент кода показывает, как выполнить линейную экструзию:

// 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");

“Слизы” в линейной экструзии

Aspose.3D for .NET предлагает свойство Slices класса LinearExtrusion. Свойство “Срезы” определяет число промежуточных точек вдоль пути выдавливания. Следующий фрагмент кода показывает, как использовать свойство Slices в линейной экструзии:

// 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");

«Центр» в линейной экструзии

Aspose.3D for .NET предлагает свойство Center класса LinearExtrusion. Если для свойства Центр установлено значение true, диапазон выдавливания составляет от-Height/2 до Height/2, в противном случае выдавливание будет от 0 до Height. Следующий фрагмент кода показывает, как использовать свойство Center в линейной экструзии:

// 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’ в линейной экструзии

Aspose.3D for .NET предлагает свойство Twist класса LinearExtrusion. Свойство Twist регулирует степень вращения при выдавливании формы. Следующий фрагмент кода показывает, как использовать свойство Twist в линейной экструзии:

// 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” в линейной экструзии

Aspose.3D for .NET предлагает свойство TwistOffset класса LinearExtrusion. Свойство Twist Offset преобразует смещение при вращении экструзии. Следующий фрагмент кода показывает, как использовать свойство TwistOffset в линейной экструзии:

// 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);

«Направление» в линейной экструзии

Aspose.3D for .NET предлагает свойство Direction класса LinearExtrusion. Свойство Direction определяет направление выдавливания. Следующий фрагмент кода показывает, как использовать свойство Direction в линейной экструзии:

// 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");