Public API Changements dans Aspose.3D 16.9.0

Résumé du contenu

Importer 3D Scène de la Source PDF

En utilisant la version récente (16.9.0) ou supérieure, les développeurs peuvent récupérer des scènes 3D à partir d’un fichier d’entrée PDF.

Ajoute la classe Aspose.ThreeD.Formats.PdfLoadOptions

Nous avons ajouté la classe PdfLoadOptions. Il aide à charger le contenu du fichier d’entrée PDF. Les développeurs peuvent appliquer un mot de passe pour les PDF protégés.

Ouvrir la scène à partir d’un fichier PDF protégé par mot de passe

 // set path with filename and extension 

string path = @"House_Design.pdf";

// create a new scene

Scene scene = new Scene();

// use loading options and apply password

PdfLoadOptions opt = new PdfLoadOptions() {Password = Encoding.UTF8.GetBytes("password")};

// open scene

scene.Open(path, opt);

Ajoute Aspose.ThreeD.FileFormat et Aspose.ThreeD.Formats.PdfFormat Classe

Nous avons ajouté une entrée au format PDF dans la classe FileFormat à des fins de chargement et de sauvegarde. La classe PdfFormat aide à manipuler les PDF.

 public static readonly Aspose.ThreeD.Formats.PdfFormat PDF;

Extraire tout le contenu brut 3D du fichier PDF

 // set PDF file path and password

string path = @"House_Design.pdf";

byte[] password = null;

// extract 3D contents

List<byte[]> contents = FileFormat.PDF.Extract(path, password);

int i = 1;

// iterate through the contents and in separate 3D files

foreach (byte[] content in contents)

{

    string fileName = "3d-" + (i++);

    File.WriteAllBytes(fileName, content);

}

Extraire toutes les scènes 3D et les enregistrer dans le fichier FBX

 // set PDF file path and password

string path = @"House_Design.pdf";

byte[] password = null;

List<Scene> scenes = FileFormat.PDF.ExtractScene(path, password);

int i = 1;

// iterate through the scenes and save in 3D files

foreach (Scene scene in scenes)

{

    string fileName = "3d-" + (i++) + ".fbx";

    scene.Save(fileName, FileFormat.FBX7400ASCII);

}

Enregistrer une scène 3D dans le format PDF

En utilisant la version récente (16.9.0) ou supérieure, les développeurs peuvent enregistrer tous les fichiers 3D pris en charge au format PDF.

Ajoute Aspose.ThreeD.Formats.PdfSaveOptions classe et Aspose.ThreeD.Formats.PdfLightingScheme/PdfRenderMode Enums

Le PdfSaveOptions aide à appliquer le réglage avant d’enregistrer dans le format de sortie PDF. Les développeurs peuvent définir un mode de rendu et un schéma d’éclairage avant d’enregistrer une scène 3D dans le format PDF comme ci-dessous:

Créez un 3D PDF avec un cylindre, et rendu en mode illustration ombré avec un éclairage optimisé CAD

 // create a new scene

Scene scene = new Scene();

// create a cylinder child node

scene.RootNode.CreateChildNode("cylinder", new Cylinder()).Material = new PhongMaterial() { DiffuseColor = new Vector3(Color.DarkCyan)};

// set rendering mode and lighting scheme

PdfSaveOptions opt = new PdfSaveOptions();

opt.LightingScheme = PdfLightingScheme.CAD;

opt.RenderMode = PdfRenderMode.ShadedIllustration;

// save in the PDF format

scene.Save("output.pdf", opt);

Ajoute la méthode Triangulate dans la classe Aspose.ThreeD.Entities.PolygonModifier

Nous avons ajouté une autre surcharge de la méthode Triangulate dans la classe PolygonModifier qui prend un objet de classe Scène comme paramètre.

Convertir tous les polygones en triangles dans le fichier FBX

 // load an existing 3D file

Scene scene = new Scene("original.fbx");

// triangulate a scene

PolygonModifier.Triangulate(scene);

// save 3D scene

scene.Save("triangulated.fbx", FileFormat.FBX7400ASCII);

Ajoute deux méthodes BuildTangentBinormal dans la classe Aspose.ThreeD.Entities.PolygonModifier

Nous avons ajouté deux méthodes BuildTangentBinormal dans la classe PolygonModifier. Une méthode prend l’objet de classe Scène comme paramètre et une autre prend l’objet de classe Mesh comme paramètre.

Construire des données tangentes et binormales pour tous les maillages du fichier FBX

 // load an existing 3D file

Scene scene = new Scene("original.fbx");

// triangulate a scene

PolygonModifier.BuildTangentBinormal(scene);

// save 3D scene

scene.Save("output.fbx", FileFormat.FBX7400ASCII);