Aspose.3D for .NET 17.11-novembre 2017

Autres améliorations et changements

CléRésuméCatégorie
THREEDNET-303Ajouter la prise en charge de l’importation RVM-binaire (AVEVA PDMS)Nouvelle fonctionnalité
THREEDNET-305Ajouter le support de la fusion des maillesNouvelle fonctionnalité
THREEDNET-306FBX à GLTF-opacité matérielle incorrecte au GLTFBug

Public API et changements incompatibles vers l’arrière

Voir la liste de toutes les modifications apportées au public API telles que les membres ajoutés, renommés, supprimés ou dépréciés ainsi que toute modification non rétrocompatible apportée au Aspose.3D for .NET. Si vous avez des préoccupations concernant un changement répertorié, veuillez le soulever sur leAspose.3D forum de soutien.

Ajoute les membres RvmText et RvmBinary à Aspose.ThreeD.FileFormat classe

C#

 /// <summary>

/// AVEVA Plant Design Management System Model in text format

/// </summary>

public static readonly FileFormat RvmText;

/// <summary>

/// AVEVA Plant Design Management System Model in binary format

/// </summary>

public static readonly FileFormat RvmBinary;

La détection de format automatique est prise en charge pour le fichier PDMS RVM, les développeurs peuvent donc l’importer directement avec le constructeur de la classe Scene sans spécifier explicitement le FileFormat.

C#

 Scene scene = new Scene("stablizer.rvm");

Ajoute Aspose.ThreeD.Formats.RvmLoadOptions classe

Les propriétés CylinderRadialSegments, DishLongitudeSegments, DishLatitudeSegments et TorusTubularSegments sont utilisées pour contrôler la manière de convertir les primitives définies dans les fichiers Rvm en maillages. Les détails peuvent être trouvés dans les classes Aspose.ThreeD. Entités. Cylindre et Aspose.ThreeD. Entités. Torus

C#

 /// <summary>

/// Load options for AVEVA Plant Design Management System's RVM file.

/// </summary>

public class RvmLoadOptions : LoadOptions

{

    /// <summary>

    /// The RVM file contains no material information, but the Aspose.3D can generate materials for each objects.

    /// Default value is true

    /// </summary>

    public bool GenerateMaterials { get; set; }

    /// <summary>

    /// Gets or sets the number of cylinder's radial segments, default value is 16

    /// </summary>

    public int CylinderRadialSegments { get; set; }

    /// <summary>

    /// Gets or sets the number of dish's longitude segments, default value is 12

    /// </summary>

    public int DishLongitudeSegments { get; set; }

    /// <summary>

    /// Gets or sets the number of dish's latitude segments, default value is 8

    /// </summary>

    public int DishLatitudeSegments { get; set; }

    /// <summary>

    /// Gets or sets the number of torus's tubular segments, default value is 20

    /// </summary>

    public int TorusTubularSegments { get; set; }

    /// <summary>

    /// Construct a <see cref="RvmLoadOptions"/> instance

    /// </summary>

    /// <param name="contentType"></param>

    public RvmLoadOptions(FileContentType contentType);

    /// <summary>

    /// Construct a <see cref="RvmLoadOptions"/> instance

    /// </summary>

    public RvmLoadOptions();

}

Code d’échantillon:

C#

 Scene scene = new Scene();

var opt = new RvmLoadOptions()

{

    CylinderRadialSegments = 32,

    DishLatitudeSegments = 16,

    DishLongitudeSegments = 24,

    TorusTubularSegments = 40

};

scene.Open("LAD-TOP.rvm", opt);

scene.Save("LAD-TOP.obj", FileFormat.WavefrontOBJ);

3 membres sont ajoutés au Aspose.ThreeD. Entités. Classe polygonmodificateur

C#

 /// <summary>

/// Convert a whole node to a single transformed mesh

/// Vertex elements like normal/texture coordinates are not supported yet

/// </summary>

/// <param name="node">The node to merge</param>

/// <returns>Merged mesh</returns>

public static Mesh MergeMesh(Node node)

/// <summary>

/// Convert a whole scene to a single transformed mesh

/// Vertex elements like normal/texture coordinates are not supported yet

/// </summary>

/// <param name="scene">The scene to merge</param>

/// <returns>The merged mesh</returns>

public static Mesh MergeMesh(Scene scene);

/// <summary>

/// Convert a whole node to a single transformed mesh

/// Vertex elements like normal/texture coordinates are not supported yet

/// </summary>

/// <param name="nodes">The nodes to merge</param>

/// <returns>Merged mesh</returns>

public static Mesh MergeMesh(IList<Node> nodes);

Code d’échantillon:

C#

 Scene scene = new Scene("LAD-TOP.rvm");

Mesh mesh = PolygonModifier.MergeMesh(scene);

FileFormat.PLY.EncodeMesh(mesh, "LAD-TOP.ply");

Le membre de la transparence est ajouté au Aspose.ThreeD. Ombrage. Classe PbrMaterial

Seul le GLTF 2.0 prend en charge le matériel PBR, donc cette amélioration n’affecte que l’exportation GLTF 2.0.

C#

 /// <summary>

///  Gets or sets the transparency factor.

/// The factor should be ranged between 0(0%, fully opaque) and 1(100%, fully transparent)

/// Any invalid factor value will be clamped.

/// </summary>

/// <value>The transparency factor.</value>

public double Transparency { get; set; }

Code d’échantillon:

C#

 Scene scene = new Scene();

scene.RootNode.CreateChildNode("box", new Box()).Material = new PbrMaterial() {Transparency = 0.5, Albedo = new Vector3(Color.AliceBlue)};

scene.Save("box.gltf", FileFormat.GLTF2);

Exemples d’utilisation

Veuillez consulter la liste des sujets d’aide ajoutés ou mis à jour dans les documents Wiki Aspose.3D:

  1. Fusionner les mailles dans le fichier 3D
  2. Utilisez les options de charge RVM