Difference between revisions of "Non-destructive modeling"

From apm
Jump to: navigation, search
(minimal basic page)
 
(factored a lot out to * Programmatic 3D modeling)
Line 11: Line 11:
 
{{wikitodo|explain why}}
 
{{wikitodo|explain why}}
  
== Pure languages - more or less usable for programmatic CAD ==
+
'''[[Programmatic 3D modeling]]'''
 
+
* [[OpenSCAD]] (easy to learn) in both function and geometry realm which are kept separate (which is sometimes annoying)
+
----
+
* [[elm]] (easy to learn) not aimed at 3D modelling – can do 3D stuff but not for expot for manufacturing
+
* [[haskell]] (hard to learn) there are 3D modeling libraries like '''ImplicitCAD''' lack of a live preview is a big issue though
+
* [[unison]] (mid level to learn) not aimed at 3D modelling – no 3D libraries yet :( still early
+
 
+
== Languages requiring manual discipline (which always fails because it can) ==
+
 
+
* libfive (guile scheme or python)
+
* python based OpenSCAD clones
+
* Javascrip B-Rep CSG libraries: https://evanw.github.io/csg.js/
+
* ...
+
  
 
== Related ==
 
== Related ==
  
 +
* [[Programmatic 3D modeling]]
 
* [[Constructive solid geometry]]
 
* [[Constructive solid geometry]]
 
* [[3D modeling]]
 
* [[3D modeling]]
 
* [[OpenSCAD]]
 
* [[OpenSCAD]]
 
* [[Relations of APM to purely functional programming]]
 
* [[Relations of APM to purely functional programming]]
 
== External links ==
 
 
* https://openscad.org/
 
* http://implicitcad.org/
 
* https://github.com/Haskell-Things/ImplicitCAD
 

Revision as of 14:54, 6 June 2023

This article is a stub. It needs to be expanded.

Reversibility in 3D modelling. Also an old edits can be changed with changes propagating forward to the current version. In programmatic fully parametric 3D modelling that defers triangulation to as late as possible (e.g. OpenSCAD) this comes naturally.

Non-destructive modelling is highly desired for the very same reasons
immutability, purity, lack-of-side-effect, denotativeness is desired in coding.

When programmatic 3D modeling allows for hidden global state (like anything python based does)
then non-destructive modeling is no longer guaranteed.
(wiki-TODO: explain why)

Programmatic 3D modeling

Related