Aspose.3D 18.2.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package Aspose.3D --version 18.2.0
NuGet\Install-Package Aspose.3D -Version 18.2.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Aspose.3D" Version="18.2.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Aspose.3D --version 18.2.0
#r "nuget: Aspose.3D, 18.2.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Aspose.3D as a Cake Addin
#addin nuget:?package=Aspose.3D&version=18.2.0

// Install Aspose.3D as a Cake Tool
#tool nuget:?package=Aspose.3D&version=18.2.0

Aspose.3D is a class library for working with 3D files. It allows developers to create/manipulate/render 3D scene and work with FBX,STL,OBJ,3DS,U3D,DAE,PDF,DRC,GLTF files. It allows you to open files and manipulate the elements in the 3D scene, from line,mesh,nurbs curve, to more complex elements animation, and then export to FBX ASCII, FBX binary, STL ASCII, STL binary, Collada, Wavefront .obj, 3DS, PDF formats, glTF, glTF2, Google Draco.

Product Compatible and additional computed target framework versions.
.NET Framework net35 is compatible.  net40 is compatible.  net403 was computed.  net45 was computed.  net451 was computed.  net452 was computed.  net46 was computed.  net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

NuGet packages (4)

Showing the top 4 NuGet packages that depend on Aspose.3D:

Package Downloads
Aspose.Total

Aspose.Total for .NET is the most complete package of all .NET file format APIs offered by Aspose. It empowers developers to create, edit, render, print and convert between a wide range of popular document formats within any .NET, C#, ASP.NET and VB.NET applications.

Aspose.3D.Codec.SkiaSharp

This plugin allows you to use SkiaSharp's image codec to encode and decode textures.

nilnul.geometry._stereo_._LIB_

cubic/3dimension geometry

Pilz.Simple3DFileParser

Package Description

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
24.3.0 1,258 3/26/2024
24.2.0 1,545 2/28/2024
24.1.0 2,193 1/30/2024
23.12.0 4,032 12/28/2023
23.11.1 1,202 12/8/2023
23.11.0 4,077 11/29/2023
23.10.0 4,083 10/30/2023
23.9.0 5,571 9/27/2023
23.8.0 7,581 8/25/2023
23.7.0 7,004 7/26/2023
23.6.0 6,800 6/26/2023
23.5.0 5,278 5/26/2023
23.4.0 7,058 4/13/2023
23.3.0 6,904 3/16/2023
23.2.0 6,497 2/14/2023
23.1.0 10,502 1/18/2023
22.12.0 9,709 12/21/2022
22.11.0 9,767 11/17/2022
22.10.0 11,004 10/14/2022
22.9.0 7,332 9/9/2022
22.8.0 19,906 8/3/2022
22.7.0 7,130 7/8/2022
22.6.0 10,858 6/10/2022
22.5.0 11,826 5/9/2022
22.4.0 6,920 4/13/2022
22.3.0 14,810 3/4/2022
22.2.0 8,598 2/7/2022
22.1.0 9,642 1/5/2022
21.12.0 2,590 12/3/2021
21.11.0 8,482 11/11/2021
21.10.0 6,787 10/9/2021
21.9.0 12,650 9/6/2021
21.8.0 14,727 8/6/2021
21.7.0 11,393 7/5/2021
21.6.0 4,409 6/7/2021
21.5.0 9,303 5/6/2021
21.4.0 10,653 4/2/2021
21.3.0 7,590 3/4/2021
21.2.1 10,418 2/14/2021
21.2.0 1,787 2/7/2021
21.1.0 3,536 1/8/2021
20.12.2 3,736 12/10/2020
20.12.0 1,704 12/5/2020
20.11.0 7,883 11/3/2020
20.9.0 4,066 9/4/2020
20.8.0 3,228 8/11/2020
20.7.0 3,197 7/3/2020
20.6.1 2,594 6/16/2020
20.6.0 3,316 6/8/2020
20.5.0 10,240 5/12/2020
20.4.0 4,709 4/9/2020
20.3.0 4,174 3/3/2020
20.2.1 3,371 2/14/2020
20.2.0 2,053 2/10/2020
20.1.0 4,913 1/2/2020
19.12.2 3,515 12/10/2019
19.12.0 1,716 12/9/2019
19.11.0 2,274 11/5/2019
19.10.0 35,960 10/9/2019
19.9.0 2,357 9/9/2019
19.8.0 2,200 8/2/2019
19.7.0 2,344 7/8/2019
19.6.0 2,503 6/5/2019
19.5.0 2,610 5/12/2019
19.4.0 2,165 4/4/2019
19.3.0 2,180 3/8/2019
19.2.0 2,869 2/2/2019
19.1.0 2,057 1/9/2019
18.12.0 2,279 12/6/2018
18.11.0 2,327 11/6/2018
18.10.0 2,150 10/9/2018
18.9.0 2,607 9/6/2018
18.8.0 2,195 8/8/2018
18.7.0 2,588 7/11/2018
18.6.0 3,216 6/11/2018
18.5.0 2,623 5/10/2018
18.4.0 2,495 4/16/2018
18.3.0 2,303 3/14/2018
18.2.0 2,379 2/8/2018
18.1.0 2,545 1/8/2018
17.12.0 2,314 12/8/2017
17.11.0 2,755 11/6/2017
17.10.0 2,257 10/10/2017
17.9.0 2,294 9/7/2017
17.8.0 2,231 8/8/2017
17.7.0 2,326 7/17/2017
17.6.0 2,929 6/5/2017
17.5.0 2,502 5/8/2017
17.4.0 2,424 4/5/2017
17.3.0 2,285 3/6/2017
17.2.0 2,316 2/15/2017
17.1.0 2,359 1/5/2017
16.12.0 2,582 12/4/2016
16.11.0 2,460 11/1/2016
16.9.0 2,313 9/29/2016
2.1.0 2,351 8/30/2016
2.0.0 2,472 8/2/2016
1.7.0 2,310 6/29/2016
1.6.1 2,641 5/26/2016
1.5.0 2,408 4/27/2016
1.4.0 2,406 4/1/2016
1.3.0 2,436 2/23/2016
1.2.0 2,453 12/18/2015
1.1.0 2,609 11/27/2015
1.0.0 2,483 10/26/2015

This page contains release notes for Aspose.3D for .NET 18.2.

                   
   
Other Improvements and Changes
Key Summary Category

THREEDNET-335 Implement adding Targets to the MorphChannel
New feature


THREEDNET-348 Add support of skeleton/morphing animation exporting New feature

THREEDNET-332 Add support for NURBS curve New feature

THREEDNET-333 Add support for NURBS surface New feature

THREEDNET-338 Add support of Pre/Post Rotation New feature

THREEDNET-351 Cannot render transparency on PNG image of the scene Enhancement

THREEDNET-334 Output FBX - the null pointer error occurred Bug

Public API and Backwards Incompatible Changes
See the list of any changes made to the public API such as added, renamed, removed or deprecated members as well as any non-backward compatible change made to Aspose.3D for .NET. If you have concerns about any change listed, please raise it on the Aspose.3D support forum.
Adds members to Aspose.ThreeD.Deformers.Bone classC#

/// <summary>
/// Gets the weight for control point specified by index
/// </summary>
/// <param name="index">Control point&#39;s index</param>
/// <returns>the weight at specified index, or 0 if the index is invalid</returns>
public double GetWeight(int index)
/// <summary>
/// Sets the weight for control point specified by index
/// </summary>
/// <param name="index">Control point&#39;s index</param>
/// <param name="weight">New weight</param>
public void SetWeight(int index, double weight)
/// <summary>
/// Gets the count of weight, this is automatically extended by <see cref="SetWeight"/>
/// </summary>
int WeightCount{ get;}
/// <summary>
/// Gets or sets the transform matrix of the bone.
/// </summary>
Aspose.ThreeD.Utilities.Matrix4 BoneTransform{ get;set;}

Adds members to Aspose.ThreeD.Deformers.MorphTargetChannel classC#

/// <summary>
/// Gets the weight for the specified target, if the target is not belongs to this channel, default value 0 is returned.
/// </summary>
/// <param name="target"></param>
/// <returns></returns>
public double GetWeight(Aspose.ThreeD.Entities.Geometry target)
/// <summary>
/// Sets the weight for the specified target, default value is 1, range should between 0~1
/// </summary>
/// <param name="target"></param>
/// <param name="weight"></param>
public void SetWeight(Aspose.ThreeD.Entities.Geometry target, double weight)

Adds members in class Aspose.ThreeD.Entities.NurbsCurve
C#

/// <summary>
/// Evaluate the nurbs curve
/// </summary>
/// <param name="steps">The evaluation frequency between two neighbor knots, default value is 20</param>
/// <returns>Points in the curve</returns>
public Aspose.ThreeD.Utilities.Vector4[] Evaluate(double delta)
/// <summary>
/// Evaluate the curve&#39;s point at specified position
/// </summary>
/// <param name="u">The position in the curve, between 0 and 1</param>
/// <returns></returns>
public Aspose.ThreeD.Utilities.Vector4 EvaluateAt(double u)


Sample code:
C#

public static void Main(string[] args)
{
   NurbsCurve curve = new NurbsCurve();
   curve.ControlPoints.AddRange(new Vector4[]{
       new Vector4(-28.0118217468262, 53.0359077453613, 0, 1),
       new Vector4(8.95330429077148, 64.7735290527344, 0, 1),
       new Vector4(35.7778739929199, 42.424259185791, 0, 1),
       new Vector4(24.8725852966309, -4.86993026733398, 0, 1),
       new Vector4(-35.7778739929199, -34.192684173584, 0, 1),
       new Vector4(-18.6066780090332, -57.1458396911621, 0, 1),
       new Vector4(17.733715057373, -64.7735290527344, 0, 1)
   });
   curve.KnotVectors.AddRange(new double[]{0, 0, 0, 0, 0.25, 0.5, 0.75, 1, 1, 1, 1});
   foreach (var pt in curve.Evaluate())
   {
       Console.WriteLine(pt);
   }
}


Adds members to Aspose.ThreeD.Entities.NurbsCurve class
C#

/// <summary>
/// Convert the nurbs surface to the mesh
/// </summary>
/// <returns></returns>
public Aspose.ThreeD.Entities.Mesh ToMesh()

   
                           
               
                           
With the recent version 18.2 of Aspose.3D for .NET, the NURBS surface is now render able.

                   
   
   
                           
               
                           
The NURBS surface that has a periodic U/V direction is not supported yet, will be supported in the future versions.

                   
   
Adds members to Aspose.ThreeD.Transform class

Some FBX files contain a non-zero pre/post rotation value for nodes, these two properties exposes them to the user and allow you to manipulate them.
C#

/// <summary>
/// Gets or sets the pre-rotation represented in degree
/// </summary>
Aspose.ThreeD.Utilities.Vector3 PreRotation{ get;set;}
/// <summary>
/// Gets or sets the post-rotation represented in degree
/// </summary>
Aspose.ThreeD.Utilities.Vector3 PostRotation{ get;set;}


Adds members to Aspose.ThreeD.Utilities.MathUtils class
C#

/// <summary>
/// Convert a number from radian to degree
/// </summary>
/// <param name="x">The x component in radian value.</param>
/// <param name="y">The y component in radian value.</param>
/// <param name="z">The z component in radian value.</param>
/// <returns>The degree value.</returns>
public static Aspose.ThreeD.Utilities.Vector3 ToDegree(double x, double y, double z)
/// <summary>
/// Convert a vector from degree to radian
/// </summary>
/// <param name="x">The x component in degree value.</param>
/// <param name="y">The y component in degree value.</param>
/// <param name="z">The z component in degree value.</param>
/// <returns>The radian value.</returns>
public static Aspose.ThreeD.Utilities.Vector3 ToRadian(double x, double y, double z)


The old code example:
C#

MathUtils.ToDegree(new Vector3(x, y, z));
MathUtils.ToRadian(new Vector3(x, y, z));


It can now be simplified as:
C#

MathUtils.ToDegree(x, y, z);
MathUtils.ToRadian(x, y, z);




   
                           
               
                           
The following changes should bring no code changes to user side, but they're required for the java version to keep consistent.

                   
   
Member updated in Aspose.ThreeD.Formats.GLTFSaveOptions
Old definition

System.Func<Aspose.ThreeD.Shading.Material, Aspose.ThreeD.Shading.Material> MaterialConverter{ get;set;}

New definition

//New definition
Aspose.ThreeD.Formats.MaterialConverter MaterialConverter{ get;set;}


The definition of MaterialConverter has the same signature to the old Func<Material, Material>:
C#

/// <summary>
/// Custom converter to convert the geometry&#39;s original material to GLTF&#39;s PBR material.
/// </summary>
/// <param name="mat">Old material instance</param>
/// <returns>New material instance</returns>
public delegate Material MaterialConverter(Material mat);


Adds a new class Aspose.ThreeD.Entities.VertexElementVector4
This class is the new base class of VertexElementNormal, VertexElementVertexColor, VertexElementBinormal, VertexElementTangent, VertexElementUV and VertexElementSpecular. It does not affect user's side code.
Member is modified to Aspose.ThreeD.Entities.NurbsCurve class
Old definition

System.Collections.Generic.List<double> KnotVectors{ get;}

New definition

IArrayList<double> KnotVectors{ get;}


Member is modified to Aspose.ThreeD.Entities.NurbsDirection class
Old definition

System.Collections.Generic.List<double> KnotVectors{ get;}

New definition

IArrayList<double> KnotVectors{ get;}


Usage Examples
Please check the list of help topics added or updated in the Aspose.3D Wiki docs:

   
       

       
https://docs.aspose.com/display/3dnet/Aspose.3D+for+.NET+18.2+-+February+2018