This is a port (with a somewhat different API) from JSCAD to C#.
We are deeply grateful to the JSCAD team for creating such a great package.
(But it is getting closer.)
If you want to poke around, I suggest you start in the CADViewer and Python directories. The READMEs there will help you quickly get started. You of course need to have the "dotnet" sdk installed on your system: DotNet Install
The API is still in flux, so please don't use it for major projects.
I have placed it here to facility cooperation with the JSCAD team for when I'm point to improvements or bugs (amazingly few) out to them.
If you just want to play with it, it has mostly been created on Linux. I have done profiling of it under Windows (using Visual Studio). I have not tried it on a Mac yet, but it is expect to work there. I would advise VSCode with the C# extension from Microsoft installed. You must have .NET 6.0 installed! Later, I'll have instructions for all of that, but if you know how to do it, I suggest you override the contents of cscad/Program.cs with what you'd like to try.
Documentation: Main CSharpCAD Documentation
Remember the API WILL CHANGE!
CSharpCAD contains integrated code from numerous places, if you want the originals see the web addresses below. We are grateful that the following have contributed code under liberal licensing (See LICENSE for the list of licenses.)
First and foremost: JSCAD JSCAD Organization
The origin of JSCAD: CSG Joost Nieuwenhuijse and Evan Wallace.
Portions of glMatrix Library: glMatrix Brandon Jones and Colin MacKenzie IV
Quickhull Library: QuickHull3D Mauricio Poppe
Earcut Triangulation: Earcut Mapbox
2D Boolean Operations NPolyBool Pierre Chalamet
2D Boolean Operations PolyBool.Net idormenco
2D Boolean Operations polybooljs Sean Connelly
AVLTree (for stability): AVLTree Jehonathan
Triangle Intersection: Möller
While no code from them was directly used, Microsoft Corporation provided the wonderful open source .Net tools that underly the development of CSharpCAD. Amazingly, it too is under the MIT license.
Finally I'd like to point out three special members of the JSCAD team, @hrgdavor, @platypii, and @z3dev for their assistance, comments and discussions.