Aspose.3D for .NET 21.9 Release Notes

Improvements and Changes

KeySummaryCategory
THREEDNET-930Add PCD export supportNew Feature
THREEDNET-926Add XYZ import supportNew Feature
THREEDNET-927Add XYZ export supportNew Feature
THREEDNET-938Triangle-area based point cloud surface generation algorithm.New Feature
THREEDNET-932Add Point Cloud import support in A3DW formatNew Feature
THREEDNET-931Add Point Cloud export support in A3DW formatFeature
THREEDNET-946Fixed PointCloud cannot be exported to PLY formatBug fix
THREEDNET-934Converting from USDZ to OBJ result in ExceptionBug fix
THREEDNET-936Lock contention caused by GC in FBX importerImprovement

API changes

Most changes in 21.9 are PointCloud related, added XYZ/PCD support for PointCloud, fixed Point Cloud export in PLY, added PointCloud import/export/rendering support in A3DW/HTML.

Added new method to class Aspose.ThreeD.Entities.PointCloud:

        /// <summary>
        /// Create a new point cloud instance from a geometry object.
        /// Density is the number of points per unit triangle(Unit triangle are the triangle with maximum surface area from the mesh)
        /// </summary>
        /// <param name="g">Mesh or other geometry instance</param>
        /// <param name="density">Number of points per unit triangle</param>
        /// <returns></returns>
        public static Aspose.ThreeD.Entities.PointCloud FromGeometry(Aspose.ThreeD.Entities.Geometry g, int density);

The new FromGeometry allows you to specify the density of distributed points in the geometry’s triangles.

Sample code:

        var prim = new Torus();
        var pc = PointCloud.FromGeometry(prim.ToMesh(), 50);
        var s = new Scene(pc);
        s.Save("point-cloud.glb", FileFormat.GLTF2_Binary);

Added new formats to class Aspose.ThreeD.FileFormat:

        public static readonly Aspose.ThreeD.FileFormat Xyz;
        public static readonly Aspose.ThreeD.FileFormat Pcd;
        public static readonly Aspose.ThreeD.FileFormat PcdBinary;

Sample code:

        var prim = new Torus();
        var pc = PointCloud.FromGeometry(prim.ToMesh(), 50);
        var s = new Scene(pc);
        s.Save("point-cloud.glb", FileFormat.Pcd);