Ara3D.SDK
1.4.2
dotnet add package Ara3D.SDK --version 1.4.2
NuGet\Install-Package Ara3D.SDK -Version 1.4.2
<PackageReference Include="Ara3D.SDK" Version="1.4.2" />
<PackageVersion Include="Ara3D.SDK" Version="1.4.2" />
<PackageReference Include="Ara3D.SDK" />
paket add Ara3D.SDK --version 1.4.2
#r "nuget: Ara3D.SDK, 1.4.2"
#:package Ara3D.SDK@1.4.2
#addin nuget:?package=Ara3D.SDK&version=1.4.2
#tool nuget:?package=Ara3D.SDK&version=1.4.2
π Ara3D-SDK
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 modelsdist/
β Pre-built binaries and tools, includingAra3D.Studio.exe
examples/
β Sample applications and usage examplesplato-src/
β Plato source code for core numerical and geometry types and functionssrc/
β Core cross-platform C# librariestests/
β NUnit projects for unit, regression, and developer testingtoolchain/
β 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 frameworkAra3D.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!
π Related Projects
- Ara3D.Plato β A Domain specific programming language for math and geometry/
Product | Versions 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. |
-
net8.0
- Microsoft.CodeAnalysis.CSharp (>= 4.8.0)
- Microsoft.DiaSymReader.Native (>= 1.7.0)
- System.Memory (>= 4.6.0)
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.