Aspose.3D 07613481 19,6 Notas de la versión

Mejoras y cambios

ClaveResumenCategoría
THREEDNET-511Mejorar la creación de cilindroNueva característica
THREEDNET-507Pierde algunos materiales al abrir el archivo RVMError
THREEDNET-508El sistema puede no asignar el conjunto de descriptores a veces en Vulkan rendererError

Público API y cambios incompatibles al revés

Consulte la lista de cualquier cambio realizado al público API, como miembros agregados, renombrados, eliminados o obsoletados, así como cualquier cambio no compatible con versiones anteriores realizado a Aspose.3D for .NET. Si tiene inquietudes sobre cualquier cambio enumerado, por favor recújelo en elAspose.3D foro de apoyo.

Añadido nueva propiedad OffsetTop en la clase Aspose.ThreeD. Entidades. Cilindro

 /// <summary>

/// Gets or sets the vertices transformation offset of the top side.

/// </summary>

public Vector3 OffsetTop

{

    get;

    set;

}

Añadido nueva propiedad OffsetBottom en la clase Aspose.ThreeD. Entidades. Cilindro

 /// <summary>

/// Gets or sets the vertices transformation offset of the bottom side.

/// </summary>

public Vector3 OffsetBottom

{

    get;

    set;

}

Código de muestra para generar un cilindro con OffsetTop personalizado:

 Scene scene = new Scene();

var fan = new Cylinder(2, 2, 10, 20, 1, false);

fan.OffsetTop = new Vector3(5, 3, 0);

scene.RootNode.CreateChildNode(fan).Transform.Translation = new Vector3(10, 0, 0);

var nonfan = new Cylinder(2, 2, 10, 20, 1, false);

scene.RootNode.CreateChildNode(nonfan);

scene.Save("test.obj", FileFormat.WavefrontOBJ);

Vista previa:

Todo: imagen_Alt_Texto

La izquierda tieneOffset TopEstablecido en (5, 3, 0), es fácil ver que la tapa superior se ha movido y todo el torso también se ve afectado.

Añadido nueva propiedad GenerateFanCylinder en la clase Aspose.ThreeD. Entidades. Cilindro

 /// <summary>

/// Gets or sets whether to generate the fan-style cylinder when the ThetaLength is less than 2*PI, otherwise the model will not be cut.

/// </summary>

public bool GenerateFanCylinder

{

    get;set;

}

Código de muestra para generar un cilindro estilo ventilador y un cilindro sin ventilador:

 Scene scene = new Scene();

var fan = new Cylinder(2, 2, 10, 20, 1, false);

fan.GenerateFanCylinder = true;

fan.ThetaLength = MathUtils.ToRadian(270);

scene.RootNode.CreateChildNode(fan).Transform.Translation = new Vector3(10, 0, 0);

var nonfan = new Cylinder(2, 2, 10, 20, 1, false);

nonfan.GenerateFanCylinder = false;

nonfan.ThetaLength = MathUtils.ToRadian(270);

scene.RootNode.CreateChildNode(nonfan);

scene.Save("test.obj", FileFormat.WavefrontOBJ);

Vista previa:

Todo: imagen_Alt_Texto

El cilindro izquierdo tiene GenerateFanCylinder = falso y el derecho tiene GenerateFanCylinder = true.

Añadido nueva propiedad ShearTop en la clase Aspose.ThreeD. Entidades. Cilindro

 /// <summary>

/// Gets or sets of the shear transform of the top side, vector stores the (x-axis, z-axis) shear value that measured in radian, default value is (0, 0)

/// </summary>

public Vector2 ShearTop

{

    get;

    set;

}

Añadido nueva propiedad ShearBottom en la clase Aspose.ThreeD. Entidades. Cilindro

 /// <summary>

/// Gets or sets of the shear transform of the bottom side, vector stores the (x-axis, z-axis) shear value that measured in radian, default value is (0, 0)

/// </summary>

public Vector2 ShearBottom

{

    get;

    set;

}

Código de muestra para mostrar el uso de ShearBottom(ShearTop):

 Scene scene = new Scene();

var cylinder1 = new Cylinder(2, 2, 10, 20, 1, false);

cylinder1.ShearBottom = new Vector2(0, 0.83);// shear 47.5deg in xy plane(z-axis)

scene.RootNode.CreateChildNode(cylinder1).Transform.Translation = new Vector3(10, 0, 0);

var cylinder2 = new Cylinder(2, 2, 10, 20, 1, false);

scene.RootNode.CreateChildNode(cylinder2);

scene.Save("test.obj", FileFormat.WavefrontOBJ);

Vista previa:

Todo: imagen_Alt_Texto

El cilindro izquierdo tiene ShearBottom a (0, 0,83) mientras que el derecho es un cilindro ordinal.