πŸ“š Ara3D-SDK

June 26, 2026 Β· View on GitHub

NuGet Version

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

Use it standalone, or to 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

  • artifacts/ - Built nuget packages
  • data/ – Testing data
  • deprecated/ - Projects that are no longer being built or maintained
  • 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
  • ext/ - Libraries with additional dependencies, or for Windows only
  • tests/ – NUnit projects for unit, regression, and developer testing
  • vendor/ - Required 3rd party libraries
  • toolchain/ – Projects for parsing Plato and generating C# source 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

All core libraries live under src/. See the src/ project index for a full list grouped by category (geometry, I/O, BIM, architecture, Studio, utilities).

Install via the Ara3D.SDK meta-package, or reference individual projects from src/.


🀝 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

Coding guidelines and AI agents

Coding conventions and the preferred development workflow are documented in AGENTS.md, with tracked improvements logged in docs/TECHNICAL_DEBT.md. Read these before making changes (they apply to AI agents and humans alike).

Use the helper scripts to build and test:

build.bat              :: build the solution (Debug)
test.bat               :: run the full test suite (includes Slow tests)
test.bat fast          :: run all areas, skip Slow file-I/O tests
test.bat geometry      :: run only one area's tests (all | sdk | geometry | bim | devtools | knownissues)
test.bat geometry fast :: run one area, skip Slow tests
test.bat sdk OpenVIM   :: run tests in an area matching a name substring
test.bat knownissues   :: run documented known-broken behavior tests (opt-in only)
pack.bat               :: pack all NuGet packages from build/packages.txt (Release)
release.bat            :: build supported SDK surface, run scoped tests, then pack
bump-version.bat patch :: bump Ara3DVersion in Directory.Build.props
publish-nuget.bat smoke :: build, test, pack, and run NuGet integration tests (no push)
release-nuget.bat patch :: full NuGet release (bump, smoke, commit, tag, publish)
save.bat "message"      :: commit without pushing

Script cheat sheet: docs/WORKFLOWS.md.
NuGet release: docs/NUGET_RELEASE.md.

Known-issues tests are intentionally excluded from default and release test runs. They document bugs or incomplete behavior that should fail until the underlying issue is fixed.

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