ProCadSharp.Collaboration 0.1.1

dotnet add package ProCadSharp.Collaboration --version 0.1.1
                    
NuGet\Install-Package ProCadSharp.Collaboration -Version 0.1.1
                    
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="ProCadSharp.Collaboration" Version="0.1.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="ProCadSharp.Collaboration" Version="0.1.1" />
                    
Directory.Packages.props
<PackageReference Include="ProCadSharp.Collaboration" />
                    
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 ProCadSharp.Collaboration --version 0.1.1
                    
#r "nuget: ProCadSharp.Collaboration, 0.1.1"
                    
#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 ProCadSharp.Collaboration@0.1.1
                    
#: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=ProCadSharp.Collaboration&version=0.1.1
                    
Install as a Cake Addin
#tool nuget:?package=ProCadSharp.Collaboration&version=0.1.1
                    
Install as a Cake Tool

ProCad

Build Docs Release Docs Site License

ProCad is a .NET 10 CAD inspection, rendering, editing, scripting, and collaboration workspace for DWG and DXF documents. It combines an Avalonia desktop/browser application with reusable CAD viewer/editor controls, an ACadSharp-backed IO layer, a render-scene pipeline, command-based editing services, and a headless trace harness for performance work.

Highlights

  • Open, inspect, compare, edit, and save DWG/DXF documents.
  • Render model space, paper space, layouts, viewports, plot styles, linetypes, hatches, raster images, underlays, dynamic blocks, XRefs, SHX text, ACIS SAT/SAB geometry, and common 2D/3D entity families.
  • Use a Dock-based Avalonia workspace with document tree, property grid, layers, blocks, viewports, entity type filters, style editors, render options, DXF/DWG semantic views, raw DXF, batch tools, scripting, collaboration, diagnostics, and logs.
  • Drive edits through command-line and interactive tools for draw, modify, annotation, clipboard, XRef, constraints, undo/redo, and script workflows.
  • Embed reusable controls through NuGet packages ProCadSharp.Controls, ProCadSharp.Controls.Skia, ProCadSharp.Controls.Avalonia, ProCadSharp.Controls.Uno, and ProCadSharp.Controls.Maui.
  • Run render profiling and trace capture through ProCad.TraceCli.
  • Build narrative and generated API documentation with Lunet.

Repository Layout

Path Purpose
ProCad Avalonia application shell, views, view models, services, docking layout, commands, diagnostics, and render backend integration.
ProCad.Desktop Classic desktop host.
ProCad.Browser Avalonia WebAssembly/browser host.
ProCad.Core CAD domain contracts, metadata, diffing, batch query/search, IO options, and export models.
ProCad.IO ACadSharp-backed DWG/DXF load/save services.
ProCad.Rendering Document-to-render-scene pipeline, entity handlers, hit testing, caching, diagnostics, and performance budgets.
ProCad.Editing CAD commands, sessions, operations, transactions, undo/redo, selection, clipboard, constraints, snaps, grips, and command runtime.
ProCad.Collaboration Realtime operation sharing, presence, conflict handling, snapshot stores, and ProEdit transport adapters.
ProCad.Scripting Roslyn-backed C# scripting and command script integration.
ProCad.Controls* Platform-neutral, Skia, Avalonia, Uno, and MAUI reusable viewer/editor controls.
ProCad.TraceCli Headless rendering and dotnet-trace harness.
ProCad.*.Tests xUnit, rendering, editing, controls, collaboration, service, ViewModel, and Avalonia headless coverage.
site Lunet documentation site and API docs configuration.
.github/workflows Build, docs, and release automation.

Requirements

  • .NET SDK 10.0.x
  • Git submodules initialized recursively
  • Optional workloads for full local coverage: wasm-tools, android, ios, maccatalyst, maui-android
git submodule update --init --recursive
dotnet workload restore
dotnet restore ProCad.slnx

Build And Test

dotnet restore ProCad.slnx
dotnet build ProCad.slnx -c Release --no-restore
dotnet test ProCad.slnx -c Release --no-build

Focused test runs are useful during development:

dotnet test ProCad.Tests/ProCad.Tests.csproj -c Release
dotnet test ProCad.Editing.Tests/ProCad.Editing.Tests.csproj -c Release
dotnet test ProCad.Controls.Tests/ProCad.Controls.Tests.csproj -c Release

Run the desktop host:

dotnet run --project ProCad.Desktop/ProCad.Desktop.csproj -c Debug

Run the browser host:

dotnet run --project ProCad.Browser/ProCad.Browser.csproj -c Debug

Packages

The reusable library and control packages are published with ProCadSharp.* package IDs. Project names, assemblies, and namespaces remain ProCad.*.

Package ID NuGet Downloads
ProCadSharp.Core NuGet Downloads
ProCadSharp.IO NuGet Downloads
ProCadSharp.Rendering NuGet Downloads
ProCadSharp.Editing NuGet Downloads
ProCadSharp.Scripting NuGet Downloads
ProCadSharp.Collaboration NuGet Downloads
ProCadSharp.Collaboration.ServerHost NuGet Downloads
ProCadSharp.Controls NuGet Downloads
ProCadSharp.Controls.Skia NuGet Downloads
ProCadSharp.Controls.Avalonia NuGet Downloads
ProCadSharp.Controls.Uno NuGet Downloads
ProCadSharp.Controls.Maui NuGet Downloads

Create local packages:

dotnet pack ProCad.Core/ProCad.Core.csproj -c Release -o artifacts/packages
dotnet pack ProCad.IO/ProCad.IO.csproj -c Release -o artifacts/packages
dotnet pack ProCad.Rendering/ProCad.Rendering.csproj -c Release -o artifacts/packages
dotnet pack ProCad.Editing/ProCad.Editing.csproj -c Release -o artifacts/packages
dotnet pack ProCad.Scripting/ProCad.Scripting.csproj -c Release -o artifacts/packages
dotnet pack ProCad.Collaboration/ProCad.Collaboration.csproj -c Release -o artifacts/packages
dotnet pack ProCad.Collaboration.ServerHost/ProCad.Collaboration.ServerHost.csproj -c Release -o artifacts/packages
dotnet pack ProCad.Controls/ProCad.Controls.csproj -c Release -o artifacts/packages
dotnet pack ProCad.Controls.Skia/ProCad.Controls.Skia.csproj -c Release -o artifacts/packages
dotnet pack ProCad.Controls.Avalonia/ProCad.Controls.Avalonia.csproj -c Release -o artifacts/packages
dotnet pack ProCad.Controls.Uno/ProCad.Controls.Uno.csproj -c Release -o artifacts/packages

MAUI packages require platform workloads and are packed by the release workflow on macOS.

Trace CLI

ProCad.TraceCli renders one or more files headlessly and can be used with dotnet-trace:

dotnet run --project ProCad.TraceCli -- --input /path/to/file.dxf --visual-style hiddenline

See ProCad.TraceCli/README.md for trace collection and options.

Documentation

The public documentation site is generated with Lunet from site/.

./build-docs.sh
./serve-docs.sh
./check-docs.sh

Generated output is written to site/.lunet/build/www and is published by the Docs workflow to GitHub Pages.

Release

Tags named v* trigger the release workflow. The workflow validates the solution, packs the reusable controls, publishes NuGet packages when NUGET_API_KEY is configured, and creates a GitHub release with generated notes and package artifacts.

License

This repository is licensed under the MIT license.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  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 (1)

Showing the top 1 NuGet packages that depend on ProCadSharp.Collaboration:

Package Downloads
ProCadSharp.Collaboration.ServerHost

Server-side hosting helpers for ProCad realtime collaboration sessions and shared transports.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.1.1 50 6/30/2026
0.1.0 47 6/30/2026