Difference between revisions of "List of programmatic 3D modelling tools"
From apm
(→Misc) |
(added Category:Programming) |
||
(6 intermediate revisions by the same user not shown) | |||
Line 14: | Line 14: | ||
---- | ---- | ||
* B-Rep – [http://evanw.github.io/csg.js/ csg.js] – (javascript library) | * B-Rep – [http://evanw.github.io/csg.js/ csg.js] – (javascript library) | ||
− | * F-Rep – [https://libfive.com/ libfive (formerly AO)] [https://github.com/libfive/libfive (on github)] — (guile scheme software) | + | * F-Rep – [https://libfive.com/ libfive (formerly AO) by Matt Keeter] [https://github.com/libfive/libfive (on github)] — (guile scheme software) |
* F-Rep – [https://github.com/fogleman/sdf Foglemans SDF library] — (python library) | * F-Rep – [https://github.com/fogleman/sdf Foglemans SDF library] — (python library) | ||
* F-Rep – [https://implicitcad.org/ implicitcad] – (haskell DSL) | * F-Rep – [https://implicitcad.org/ implicitcad] – (haskell DSL) | ||
Line 24: | Line 24: | ||
== Misc == | == Misc == | ||
+ | * CadQuery QC-editor https://github.com/CadQuery/CQ-editor | ||
+ | ---- | ||
+ | * Ao ('''deprecated''' predecessor of libfive) https://www.mattkeeter.com/projects/ao/ | ||
+ | * Ao ('''deprecated''' predecessor of libfive) https://github.com/mkeeter/ao-guile-repl | ||
+ | ---- | ||
+ | * elm-csg (elm, CSG) [https://github.com/kraklin/elm-csg (github)] | ||
+ | ---- | ||
* CGAL (C++) [https://www.cgal.org/ (landing page)] [https://en.wikipedia.org/wiki/CGAL (wikipedia)] | * CGAL (C++) [https://www.cgal.org/ (landing page)] [https://en.wikipedia.org/wiki/CGAL (wikipedia)] | ||
* OpenCASCADE (B-Rep, C++) [https://en.wikipedia.org/wiki/Open_Cascade_Technology (wikipedia)] | * OpenCASCADE (B-Rep, C++) [https://en.wikipedia.org/wiki/Open_Cascade_Technology (wikipedia)] | ||
* JSCAD [https://github.com/jscad/OpenJSCAD.org (github)] | * JSCAD [https://github.com/jscad/OpenJSCAD.org (github)] | ||
+ | * blender python scripting | ||
+ | * blender animation nodes generated via scripting | ||
+ | ---- | ||
* BRL-CAD (C++, CSG) [https://brlcad.org/ (landing page)] [https://en.wikipedia.org/wiki/BRL-CAD (wikipedia)] | * BRL-CAD (C++, CSG) [https://brlcad.org/ (landing page)] [https://en.wikipedia.org/wiki/BRL-CAD (wikipedia)] | ||
[[Category:Pages with algorithms]] | [[Category:Pages with algorithms]] | ||
+ | |||
+ | == Related == | ||
+ | |||
+ | * [[Constructive solid geometry]] | ||
+ | * [[Software]] | ||
+ | * [[List of molecular modeling software supporting crystolecules]] | ||
+ | |||
+ | [[Category:Programming]] |
Revision as of 12:58, 11 July 2023
Up: Constructive solid geometry
Code: DSL libraries for CSG, CSG software, ...
- B-Rep – OpenSCAD – OpenSCADs website – (uses CGAL under the hood – C/C++)
Interestingly OpenSCAD ...
- ... is a 100% pure/denotative/side-effect-free by design. But as of 2021 it ...
- ... is not a higher order functional language with functions as "first class citizens".
There are quite a few copycat projects of OpenSCAD around.
Unfortunately they all seem to fail to implement a hard guarantee on code purity – (inheriting impurity from their substrate language).
Beyond OpenSCAD of the software artifacts listed here only implicitcad can give hard guarantees on purity (there enforced by types).
Related: Relations of APM to purely functional programming
- B-Rep – csg.js – (javascript library)
- F-Rep – libfive (formerly AO) by Matt Keeter (on github) — (guile scheme software)
- F-Rep – Foglemans SDF library — (python library)
- F-Rep – implicitcad – (haskell DSL)
- F-Rep – MiniSageCAD experiment on Thingiverse (implemented in the sage computer algebra system)
- F-Rep (2D) – rendering engine of the enso programming language (rust library)
- F-Rep SDF-code on shadertoy – many examples there
– Raymarching - Primitives ~ by iq
– shadertoy: tag=sdf
Misc
- CadQuery QC-editor https://github.com/CadQuery/CQ-editor
- Ao (deprecated predecessor of libfive) https://www.mattkeeter.com/projects/ao/
- Ao (deprecated predecessor of libfive) https://github.com/mkeeter/ao-guile-repl
- elm-csg (elm, CSG) (github)
- CGAL (C++) (landing page) (wikipedia)
- OpenCASCADE (B-Rep, C++) (wikipedia)
- JSCAD (github)
- blender python scripting
- blender animation nodes generated via scripting
- BRL-CAD (C++, CSG) (landing page) (wikipedia)