Публичные изменения API в Aspose.3D 16.9.0

Содержание Резюме

Импорт сцены 3D из источника PDF

Используя последнюю версию (16.9.0) или выше, разработчики могут получать сцены 3D из входного файла PDF.

Добавляет Aspose.ThreeD. Форматы. Класс PdfLoadOptions

Мы добавили класс PdfLoadOptions. Это помогает при загрузке содержимого из входного файла PDF. Разработчики могут применять пароль для защищенных PDF-файлов.

Открыть сцену из защищенного паролем файла PDF

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

Добавляет Aspose.ThreeD.FileFormat и Aspose.ThreeD. Форматы. Класс PDFFormat

Мы добавили запись формата PDF в класс FileFormat для загрузки и сохранения. Класс PdfFormat помогает манипулировать PDF-файлами.

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

Извлеките все необработанное содержимое 3D из файла 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);

}

Извлеките все сцены 3D и сохраните их в файл 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);

}

Сохраните сцену 3D в формате PDF

Используя последнюю версию (16.9.0) или выше, разработчики могут сохранять все поддерживаемые файлы 3D в формате PDF.

Добавляет Aspose.ThreeD. Форматы. Класс PdfSaveOptions и Aspose.ThreeD. Форматы. Схема PDFLightingScheme/PdfRenderMode Сводки

PdfSaveOptions помогает применить настройку перед сохранением в формате вывода PDF. Разработчики могут установить режим рендеринга и схему освещения перед сохранением сцены 3D в формате PDF, как показано ниже:

Создайте 3D PDF с цилиндром и отрисовайте в режиме затененной иллюстрации с оптимизированным освещением 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);

Добавляет метод триангуляции в класс Aspose.ThreeD. Сущности. PolygonModifier

Мы добавили еще одну перегрузку метода Triangulate в класс PolygonModifier, который принимает объект класса Scene в качестве параметра.

Преобразовать все многоугольники в треугольники в файле 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);

Добавляет два метода BuildTangentBinormal в класс Aspose.ThreeD. Entity. PolygonModifier

Мы добавили два метода BuildTangentBinormal в класс PolygonModifier. Один метод принимает объект класса Scene в качестве параметра, а другой-объект класса Mesh в качестве параметра.

Построение касательных и бинонормальных данных для всех ячеек в файле 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);