Público API Cambios en Aspose.3D 16.9.0

Resumen de contenidos

Importar escena 3D desde la fuente PDF

Utilizando la versión reciente (16.9.0) o superior, los desarrolladores pueden recuperar escenas 3D de un archivo PDF de entrada.

Agrega la clase Aspose.ThreeD.Formats.PdfLoadOptions

Hemos agregado la clase PdfLoadOptions. Ayuda a cargar contenido desde el archivo PDF de entrada. Los desarrolladores pueden aplicar una contraseña para los PDFs protegidos.

Abrir escena desde un archivo PDF protegido por contraseña

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

Agrega la clase Aspose.ThreeD.FileFormat y Aspose.ThreeD.Formats.PdfFormat

Hemos añadido una entrada de formato PDF en la clase FileFormat para cargar y guardar. La clase PdfFormat ayuda a manipular archivos PDF.

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

Extraiga todo el contenido crudo 3D del archivo 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);

}

Extrae todas las escenas 3D y guárdalos en un archivo 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);

}

Guardar una escena 3D en el formato PDF

Con la versión reciente (16.9.0) o superior, los desarrolladores pueden guardar todos los archivos 3D compatibles en el formato PDF.

Agrega la clase Aspose.ThreeD.Formats.PdfSaveOptions y Aspose.ThreeD.Formats.PdfLightingScheme/PdfRenderMode Enums

PdfSaveOptions ayuda a aplicar la configuración antes de guardar en el formato de salida PDF. Los desarrolladores pueden establecer un modo de renderizado y un esquema de iluminación antes de guardar una escena 3D en el formato PDF como se muestra a continuación:

Cree un 3D PDF con un cilindro y renderizado en modo de ilustración sombreada con CAD iluminación optimizada

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

Agrega el método Triangulate en la clase Aspose.ThreeD.Entities.PolygonModifier

Hemos agregado otra sobrecarga del método Triangulate en la clase PolygonModificer que toma un objeto de clase Scene como parámetro.

Convierta todos los polígonos a triángulos en el archivo 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);

Agrega dos métodos BuildTangentBinormal en la clase Aspose.ThreeD.Entities.PolygonModifier

Hemos añadido dos métodos BuildTangentBinormal en la clase PolygonModificer. Un método toma el objeto de clase Scene como un parámetro y otro toma el objeto de clase Mesh como un parámetro.

Construir datos tangentes y binormales para todas las mallas en el archivo 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);