Ara3D.BimOpenSchema.IO
1.6.1
dotnet add package Ara3D.BimOpenSchema.IO --version 1.6.1
NuGet\Install-Package Ara3D.BimOpenSchema.IO -Version 1.6.1
<PackageReference Include="Ara3D.BimOpenSchema.IO" Version="1.6.1" />
<PackageVersion Include="Ara3D.BimOpenSchema.IO" Version="1.6.1" />
<PackageReference Include="Ara3D.BimOpenSchema.IO" />
paket add Ara3D.BimOpenSchema.IO --version 1.6.1
#r "nuget: Ara3D.BimOpenSchema.IO, 1.6.1"
#:package Ara3D.BimOpenSchema.IO@1.6.1
#addin nuget:?package=Ara3D.BimOpenSchema.IO&version=1.6.1
#tool nuget:?package=Ara3D.BimOpenSchema.IO&version=1.6.1
π Ara3D-SDK
Ara3D-SDK is a collection of open-source C# libraries 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. Core and geometry packages target net8.0 and run cross-platform; file I/O and the full SDK target net8.0-windows.
π Repository Structure
artifacts/β built NuGet packages (gitignored; output ofpack.bat)apps/β standalone desktop apps (e.g. BOS Browser)data/β testing datadeprecated/β projects that are no longer being built or maintainedexamples/β sample applications and usage examplesext/β Windows-only SDK extensions (IFC loader, WPF helpers)integrations/β optional third-party adapters (e.g. Assimp)plugins/β host plug-ins (Bowerbird, Revit add-ins)plato-src/β Plato source for core numerical and geometry typessrc/β supported SDK libraries and NuGet meta-packagestests/β NUnit projects for unit, regression, and developer testingvendor/β required third-party librariestoolchain/β Plato parsing and code-generation tools (unsupported)
π¦ NuGet packages
Current version: 1.6.1 (set by Ara3DVersion in Directory.Build.props).
All published packages share that version. Bump with bump-version.bat patch|minor|major|X.Y.Z, then
build and pack:
build.bat Release
pack.bat
Packages are written to artifacts/ (gitignored). Only src/ and ext/
libraries are packed β see build/packages.txt (nothing under
toolchain/, including Parakeet). Dependency diagrams:
docs/PACKAGES.md. Release workflow:
docs/NUGET_RELEASE.md.
Meta-packages
Meta-packages are dependency-only bundles (no source of their own). Pick the smallest tier that fits your app:
Ara3D.SDK (net8.0-windows β full Windows stack)
βββ Ara3D.SDK.Core net8.0 β cross-platform foundation
βββ Ara3D.SDK.Geometry net8.0 β meshes, models, SIMD math
βββ Ara3D.SDK.IO net8.0-windows β file formats, BOS, IFC
βββ Ara3D.Studio.API Studio plug-in API
βββ Ara3D.Utils.Wpf WPF helpers (ext/)
Each library below is also published on its own at the same version. Per-project READMEs:
src/README.md.
Ara3D.SDK.Core (net8.0)
| Package | Description |
|---|---|
Ara3D.Collections |
Read-only list views, sparse matrices, LINQ helpers |
Ara3D.DataTable |
Columnar in-memory data interfaces |
Ara3D.Events |
Thread-safe event bus |
Ara3D.F8 |
SIMD (AVX) 8-wide float math |
Ara3D.Logging |
Logging, progress, and job management |
Ara3D.Memory |
Aligned buffers, slices, memory-mapped file views |
Ara3D.PropKit |
Runtime property descriptors for UI binding |
Ara3D.Utils |
Paths, zip, profiling, and general utilities |
Ara3D.Utils.Roslyn |
Roslyn compilation helpers |
Ara3D.WorkItems |
Background work-item queues |
Ara3D.SDK.Geometry (net8.0)
| Package | Description |
|---|---|
Ara3D.Collections |
Read-only list views, sparse matrices, LINQ helpers |
Ara3D.F8 |
SIMD (AVX) 8-wide float math |
Ara3D.Geometry |
Meshes, topology, SDFs, voxels, spatial queries |
Ara3D.Memory |
Aligned buffers, slices, memory-mapped file views |
Ara3D.Models |
Scene models, instances, render buffers |
Ara3D.Utils |
Paths, zip, profiling, and general utilities |
Ara3D.SDK.IO (net8.0-windows)
| Package | Description |
|---|---|
Ara3D.IO.BFAST |
Binary Format for Array Serialization and Transmission |
Ara3D.IO.G3D |
G3D geometry exchange format (BFAST container) |
Ara3D.IO.GeoJson |
GeoJSON and IMDF indoor mapping |
Ara3D.IO.GltfExporter |
glTF/GLB export |
Ara3D.IO.PLY |
PLY mesh import/export |
Ara3D.IO.SharpGLTF |
glTF/GLB import and manipulation (assembly: SharpGLTF.Core) |
Ara3D.IO.StepParser |
ISO STEP file tokenizer and parser |
Ara3D.IO.VIM |
VIM BIM binary format |
Ara3D.BimOpenSchema |
BIM Open Schema object model |
Ara3D.BimOpenSchema.IO |
Parquet/DuckDB/Excel serialization and IFC import |
Ara3D.IfcLoader |
IFC β BOS conversion (ext/) |
Ara3D.SDK (net8.0-windows) β all three meta-packages above, plus:
| Package | Description |
|---|---|
Ara3D.Studio.API |
Flow graph, assets, and modifier pipeline types |
Ara3D.Utils.Wpf |
WPF helpers (ext/) |
Not published to NuGet
These repo folders are built locally but excluded from meta-packages and build/packages.txt:
plugins/β Bowerbird, Revit add-insapps/β BOS Browserintegrations/β Assimp loaderwip/β work in progress (e.g. Domo)toolchain/β dev tools (Parakeet, Plato, IfcTypeGen);IsPackable=false, not inpackages.txt
π License
Ara3D-SDK is licensed under the MIT License.
ποΈ Dependencies
Most library packages have zero external NuGet dependencies. The exceptions:
| Package | External dependencies |
|---|---|
Ara3D.Utils.Roslyn |
Microsoft.CodeAnalysis.CSharp, Microsoft.DiaSymReader.Native |
Ara3D.IO.GltfExporter |
Newtonsoft.Json |
Ara3D.BimOpenSchema.IO |
ClosedXML, DuckDB.NET.Data.Full, Parquet.Net |
Ara3D.IfcLoader also ships the native web-ifc-library.dll from vendor/
(not a NuGet package). See docs/PACKAGES.md for the full dependency graph.
Test projects and samples are Windows-specific and use NUnit 3. Auto-generated code from Plato
uses projects in toolchain/; they are not run automatically and are not
currently supported.
ποΈ Projects
All supported libraries live under src/. See the src/ project index for
per-project READMEs grouped by category (geometry, I/O, BIM, Studio, utilities).
Install via a meta-package (see NuGet packages above) or reference individual
library 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 geometry Delaunay :: 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!
π 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-windows7.0 is compatible. net9.0-windows was computed. net10.0-windows was computed. |
-
net8.0-windows7.0
- Ara3D.BimOpenSchema (>= 1.6.1)
- Ara3D.IfcLoader (>= 1.6.1)
- ClosedXML (>= 0.105.0)
- DuckDB.NET.Data.Full (>= 1.3.2)
- Parquet.Net (>= 5.2.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Ara3D.BimOpenSchema.IO:
| Package | Downloads |
|---|---|
|
Ara3D.SDK.IO
File format, BIM Open Schema, and IFC conversion packages for Ara 3D SDK applications. |
GitHub repositories
This package is not used by any popular GitHub repositories.