Ara3D.SDK 1.4.2

dotnet add package Ara3D.SDK --version 1.4.2
                    
NuGet\Install-Package Ara3D.SDK -Version 1.4.2
                    
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="Ara3D.SDK" Version="1.4.2" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Ara3D.SDK" Version="1.4.2" />
                    
Directory.Packages.props
<PackageReference Include="Ara3D.SDK" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Ara3D.SDK --version 1.4.2
                    
#r "nuget: Ara3D.SDK, 1.4.2"
                    
#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.
#:package Ara3D.SDK@1.4.2
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Ara3D.SDK&version=1.4.2
                    
Install as a Cake Addin
#tool nuget:?package=Ara3D.SDK&version=1.4.2
                    
Install as a Cake Tool

πŸ“š Ara3D-SDK

NuGet Version

Ara3D-SDK is a powerful collection of open-source C# libraries for processing, transforming, and visualizing large-scale 3D modelsβ€”especially tailored for AEC (Architecture, Engineering, and Construction) workflows.

Use it standalone, or extend and customize the Ara 3D Studio desktop application.

Designed for high performance and scalability, the libraries handle massive 3D data sets in real-time. They're cross-platform and compatible with .NET 8.


πŸ“ Repository Structure

  • data/ – Sample and test 3D models
  • dist/ – Pre-built binaries and tools, including Ara3D.Studio.exe
  • examples/ – Sample applications and usage examples
  • plato-src/ – Plato source code for core numerical and geometry types and functions
  • src/ – Core cross-platform C# libraries
  • tests/ – NUnit projects for unit, regression, and developer testing
  • toolchain/ – Projects for parsing Plato and generating C# sourc code.

πŸ“œ License

Ara3D-SDK is licensed under the MIT License.


πŸ–‡οΈ Dependencies

The core Ara3D.SDK package is .NET 8 compatible, cross-platform,
and uses only the following external Nuget libraries:

  • Microsoft.CodeAnalysis.CSharp - 4.8.0
  • Microsoft.DiaSymReader.Native - 1.7.0
  • System.Memory - 4.6.0

The test projects and samples are windows-specific and use NUnit 3 and executables found in the dist folder.

The auto-generated code from Plato uses projects found in the toolchain folder. They are not run automatically, and are not currently supported.


πŸ—‚οΈ Projects

  • Ara3D.Collections
    Optimized LINQ operations for IReadOnlyList. Additional generic collection types and utilities.

  • Ara3D.DataTable
    In-memory, schema-driven table structures optimized for analytical workloads.

  • Ara3D.Domo
    Domain modeling helpers and patterns for building robust data-driven apps.

  • Ara3D.Geometry
    2D and 3D math and geometry library. Compatible with System.Numerics.

  • Ara3D.IO.A3D
    [Under Development] Reader/writer for the .a3d geometry format.

  • Ara3D.IO.BFAST
    High-speed I/O support for the BFAST binary columnar / array data format.

  • Ara3D.IO.G3D
    Import/export of G3D mesh and scene files.

  • Ara3D.IO.IfcParser
    IFC STEP-based BIM file parser with object graph mapping.

  • Ara3D.IO.StepParser
    Generic STEP file parser for CAD and BIM interoperability.

  • Ara3D.IO.VIM
    Reader/writer for the VIM format.

  • Ara3D.Logging
    Lightweight logging framework

  • Ara3D.Memory
    Efficient low-level routines for working with aligned memory and named buffers.

  • Ara3D.MemoryMappedFiles
    Utilities to work with large files via memory-mapping.

  • Ara3D.Models
    Core 3D model interfaces and data structures. Models are embedded scene-graphs with support for instancing.

  • Ara3D.NarwhalDB
    High-performance in-memory read-only relational database.

  • Ara3D.PropKit
    Property descriptors and change-notification toolkit for auto-generated serialization and UI.

  • Ara3D.SceneEval
    Data structures for creating a scene evaluation dependency graph with caching.

  • Ara3D.ScriptService
    Integration layer for embedding C# scripts at runtime.

  • Ara3D.SDK
    Meta-package that bundles all core Ara3D libraries.

  • Ara3D.Services
    Library for creating a simple service-oriented architecture, with dependency injection.

  • Ara3D.Studio.API
    Public API surface for extending Ara 3D Studio.

  • Ara3D.Studio.Data
    Low-level data layer for Ara 3D Studio.

  • Ara3D.Utils
    Miscellaneous helper methods and extension functions.

  • Ara3D.Utils.Roslyn
    Utility extensions for the C# Roslyn compiler.

  • Plato.Generated
    C# shared project containing C# source generated from Plato source code. Contains core numerical and geometry types and functions.

  • Plato.Intrinsics
    C# shared project containing predefined types and built-in functions required by Plato generated code.


πŸš€ Getting Started

To get started with Ara3D-SDK you can run the Ara3D.Studio exe found in the dist folder. Take a look at the examples file. If all goes well, you be able to modify scripts in that file and have the script auto-load.


🀝 Contributing

We welcome contributions of all kindsβ€”bug fixes, features, documentation, and more!

Before submitting a pull request:

  • Familiarize yourself with the code base
  • Follow the existing style and architecture
  • For significant changes, please open an issue first

Let's build something amazing together πŸš€


🐞 Issues and Feature Requests

Found a bug? Have a question? Want to suggest a feature for either the SDK or Ara 3D Studio?

πŸ‘‰ Open an issue and let us know!


  • Ara3D.Plato – A Domain specific programming language for math and geometry/
Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on Ara3D.SDK:

Package Downloads
Ara3D.BimOpenSchema

Package Description

Ara3D.BimOpenSchema.IO

Package Description

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.4.2 311 7/21/2025
1.4.1 308 7/21/2025
1.4.0 48 7/19/2025
1.3.1 156 6/25/2025
1.3.0 143 6/23/2025
1.2.1 145 6/17/2025
1.2.0 292 6/12/2025
1.1.0 297 6/10/2025
1.0.0 157 5/20/2025