Aspose.3D for .NET 23.5 Release Notes

Improvements and Changes

KeySummaryCategory
THREEDNET-1359Exporting to OBJ - Image/texture files not copied to OBJ directoryTask
THREEDNET-1361Decouple the dependency of System.DrawingTask
THREEDNET-1360Allow export PBR material definition and normal mapping in OBJ exporterImprovement
THREEDNET-1357Missing material and texture when loading obj fileBug fixing
THREEDNET-1358When importing an obj file, ControlPoints encountered an error reading data and read it as normal vector dataBug fixing

API changes

Added class Aspose.ThreeD.Profiles.FontFile

Added class Aspose.ThreeD.Profiles.Text

A FontFile can be used with Text to define profile from a string, then it can be used by other procedural modeling classes like LinearExtrusion

// For complete examples and data files, please go to https://github.com/aspose-3d/Aspose.3D-for-.NET
// Load font from bytes
var font = FontFile.Parse(File.ReadAllBytes(@"test-font.otf"));
// Create a Text profile
var text = new Text()
{
Font = font,
Content = "Hello World",
FontSize = 10
};
// Extrude the profile to give it a thickness.
var linear = new LinearExtrusion(text, 10).ToMesh();
// create a scene from the mesh and save it to stl file
var scene = new Scene(linear);
scene.Save(@"test.stl");

Added members to class Aspose.ThreeD.Formats.DracoSaveOptions, Aspose.ThreeD.Formats.GltfSaveOptions, Aspose.ThreeD.Formats.ObjSaveOptions:

Set this to true to make the exporter rescale position coordinates of meshes by Scene.AssetInfo.UnitScaleFactor, this option works for Gltf/Obj/Draco file.

        /// <summary>
        /// Apply <see cref="AssetInfo.UnitScaleFactor"/> to the mesh.
        /// Default value is false.
        /// </summary>
        bool ApplyUnitScale{ get;set;}

Sample code

        var s = new Scene("test.fbx");
        var opt = new ObjSaveOptions() { ApplyUnitScale = true };
        s.Save("output.glb", opt);