.NET API for 3D File Formats


Product Page | Docs | Demos | API Reference | Examples | Blog | Search | Free Support | Temporary License
Aspose.3D for .NET empowers .NET applications to connect with 3D document formats. 3D .NET API lets engineers read, convert, build, alter, and control the substance of the 3D document formats without any 3D modeling and rendering software installed on the machine.
What is Aspose.3D for .NET?
Aspose.3D for .NET is an on premise class library that enables your .NET applications to create, read, manipulate, convert and save various formats of 3D files (e.g. 3DS, 3MF, DAE, DFX, gITF, U3D, MB, MA, USDZ etc.), without installing any 3rd party 3D modeling or rendering software.
Aspose.3D for .NET API enhances your .NET apps to open files of 3D formats and work with the elements within the 3D scenes; such as; line, mesh, nurbs, curves to more complex elements like animation. You can also work with textures, parametrized geometries, scene graphs, custom properties, skeletons, morph deformers and much more.
Aspose.3D for .NET can be used on any operating system (Windows, MacOS, Linux) that can install Mono (.NET 4.0 Framework support) or use .NET Core. It is a single .NET library that you can deploy with any .NET application by simply copying it. You do not have to worry about other services or modules. Aspose.3D for .NET is designed to perform equally well on the server as well as the client-side.
3D File Processing Features
- Import 3D scenes from PDF.
- Import, create, customize, & save 3D scenes.
- Create 3D mesh & scale geometries of a 3D scene.
- Configure cube by setting up normals or UV.
- Perform element formatting using 3D transformations.
- Share geometry data among multiple nodes of a mesh.
- Add 3D scene animation.
- Work with 3D objects & models.
Read & Write 3D Formats
Autodesk®: FBX 6.1, 7.2 to 7.5 (ASCII/Binary), Maya (ASCII/Binary)
Blender: Blend
OpenUSD: USD, USDZ
3D Systems CAD: STL (ASCII/Binary)
Wavefront: OBJ
Discreet 3D Studio: 3DS
Universal3D: U3D
Collada: DAE
GL Transmission: glTF (ASCII/Binary)
Google Draco: DRC
RVM: (Text/Binary)
Portable Document Format: PDF
Other: AMF, PLY (ASCII/Binary)
Save 3D Files As
WEB: HTML
Read 3D Formats
DirectX: X (ASCII/Binary)
Siemens®: JT 8, JT 9, JT 9.5
Other: DXF, VRML, 3MF
Platform Independence
Aspose.3D for .NET is written in C# and supports Windows Forms as well as ASP.NET apps. Development can be performed on any platform that has a .NET environment for both 32-bit and 64-bit applications. It supports .NET Frameworks 2.0 till 4.7.2 as well as the Client Profile version for .NET Framework 4.0.
Get Started
Are you ready to give Aspose.3D for .NET a try? Simply execute Install-Package Aspose.3D
from the Package Manager Console in Visual Studio to fetch the NuGet package. If you already have Aspose.3D for .NET and want to upgrade the version, please execute Update-Package Aspose.3D
to get the latest version.
You can execute the below code snippet to see how Aspose.3D performs in your environment or check the GitHub Repository for other common usage scenarios.
Scene scene = new Scene();
scene.RootNode.CreateChildNode("box", new Box());
scene.RootNode.CreateChildNode("cylinder", new Cylinder());
scene.Save("output.fbx");
Just one line of code, converting a 3D file into a different format couldn't be simpler with Aspose.3D for .NET:
Scene.FromFile("input.blend").Save("output.usdz");
Aspose.3D for .NET's blind watermark feature is an advanced tool designed for embedding hidden watermarks within 3D models, enhancing digital asset protection.
Mesh mesh = ...;
mesh = Watermark.EncodeWatermark(mesh, "Copyright by Aspose.3D");
(new Scene(mesh)).Save("copyright.stl");
mesh = Scene.FromFile("copyright.stl").RootNode.ChildNodes[0].GetEntity<Mesh>();
var watermark = Watermark.DecodeWatermark(mesh);
Console.WriteLine($"Watermark in file: {watermark}");
Aspose.3D for .NET provides many procedural modeling like extruding, sweeping on 2D profile to form a 3D geometry, boolean operations, or parametric geometrics.
Scene scene = new Scene();
var profile = new RectangleShape()
{
RoundingRadius = 0.3
};
var left = scene.RootNode.CreateChildNode();
left.CreateChildNode(new Box(0.01, 3, 3));
var right = scene.RootNode.CreateChildNode();
right.CreateChildNode(new Box(0.01, 3, 3));
right.Transform.Translation = new Vector3(5, 0, 0);
left.CreateChildNode(new LinearExtrusion(profile, 3) { Center = false, Slices = 3 });
right.CreateChildNode(new LinearExtrusion(profile, 3) { Center = true, Slices = 3 });
Product Page | Docs | Demos | API Reference | Examples | Blog | Search | Free Support | Temporary License