Browse our Products

Notes de publication Aspose.3D pour .NET 24.8

Améliorations et Modifications

KeyRésuméCatégorie
THREEDNET-1576Exposer les utilitaires de système d’axes internes aux utilisateurs.Tâche
THREEDNET-1579Implémenter une prise en charge complète du flux XZTâche
THREEDNET-1578Métadonnées de version 9.5 de JTAmélioration
THREEDNET-1580Ajouter la prise en charge des PMI pour le format JT 9Amélioration
THREEDNET-1575Rotation du modèle GLB convertieCorrection de bug
THREEDNET-1577Erreur « impossible d’ouvrir ce fichier » pour le fichier 3mfCorrection de bug

Modifications de l’API

Classe ajoutée Aspose.ThreeD.Formats.SiemensJT.JtLoadOptions

        /// <summary>
        /// Charger les propriétés de la table de propriétés de JT en tant que propriétés Aspose.3D. 
        /// La valeur par défaut est false.
        /// </summary>
        public bool LoadProperties { get; set; }

        /// <summary>
        /// Charger les informations PMI du fichier JT si possible, les données seront enregistrées en tant que propriété "PMI" de <see cref="Scene.AssetInfo"/>.
        /// La valeur par défaut est false.
        /// </summary>
        public bool LoadPMI { get; set; }
        

La nouvelle classe JtLoadOptions vous permet d’indiquer à Aspose.3D de parser les métadonnées du fichier JT et de les enregistrer en tant que propriétés Aspose.3D standard.

Exemple de code

    var opt = new JtLoadOptions();
    opt.LoadProperties = true;
    var s = Scene.FromFile("test.jt", opt);
    
    foreach (var prop in s.RootNode.ChildNodes[0].Properties)
    {
        Console.WriteLine($"{prop.Name} = {prop.Value}");
    }

Membres ajoutés à la classe Aspose.ThreeD.AxisSystem:

    /// <summary>
    /// Créer une matrice utilisée pour convertir du système d'axes actuel vers le système d'axes cible.
    /// </summary>
    /// <param name="targetSystem">Système d'axes cible</param>
    /// <returns>Une nouvelle matrice de transformation pour effectuer la conversion d'axes</returns>
    public Aspose.ThreeD.Utilities.Matrix4 TransformTo(Aspose.ThreeD.AxisSystem targetSystem)

    /// <summary>
    /// Créer <see cref="AxisSystem"/> à partir de <see cref="AssetInfo"/>
    /// </summary>
    /// <param name="assetInfo">À partir duquel lire le système de coordonnées, le vecteur supérieur et le vecteur frontal.</param>
    /// <returns>Système d'axes contenant le système de coordonnées, le vecteur supérieur et le vecteur frontal à partir de l'asset info donné</returns>
    public static Aspose.ThreeD.AxisSystem FromAssetInfo(Aspose.ThreeD.AssetInfo assetInfo)

Exemple de code

La nouvelle méthode ajoutée vous permet de créer une matrice de transformation pour convertir un vecteur d’un système d’axes à un autre système d’axes.

    Scene scene = Scene.FromFile("test.fbx");
    //Créer un nouveau système d'axes avec le vecteur supérieur vers l'axe +Y et le vecteur frontal vers l'axe +X.
    var target = new AxisSystem(CoordinateSystem.LeftHanded, Axis.YAxis, Axis.XAxis);
    //Créer une matrice de transformation du système d'axes actuel de la scène vers notre système d'axes personnalisé
    var transform = AxisSystem.FromAssetInfo(scene.AssetInfo).TransformTo(target);
    //Appliquer la transformation à toutes les géométries de la scène.
    PolygonModifier.ApplyTransform(scene.RootNode, transform);

Membres ajoutés à la classe Aspose.ThreeD.Entities.PolygonModifier:

        /// <summary>
        /// Appliquer la matrice de transformation sur les points de contrôle de toutes les géométries
        /// </summary>
        /// <param name="node">Les géométries de quel nœud seront appliquées avec la transformation donnée</param>
        /// <param name="transform">La matrice de transformation qui sera appliquée aux points de contrôle.</param>
        public static void ApplyTransform(Aspose.ThreeD.Node node, Aspose.ThreeD.Utilities.Matrix4 transform)

Cette nouvelle méthode vous permet d’appliquer une matrice à tous les points de contrôle de toutes les géométries descendantes.

Exemple de code

    Scene scene = Scene.FromFile("test.fbx");
    //Créer un nouveau système d'axes avec le vecteur supérieur vers l'axe +Y et le vecteur frontal vers l'axe +X.
    var target = new AxisSystem(CoordinateSystem.LeftHanded, Axis.YAxis, Axis.XAxis);
    //Créer une matrice de transformation du système d'axes actuel de la scène vers notre système d'axes personnalisé
    var transform = AxisSystem.FromAssetInfo(scene.AssetInfo).TransformTo(target);
    //Appliquer la transformation à toutes les géométries de la scène.
    PolygonModifier.ApplyTransform(scene.RootNode, transform);


 
 Français