Difference between revisions of "Non-destructive modeling"

From apm
Jump to: navigation, search
(minimal basic page)
 
m (Related)
 
(2 intermediate revisions by the same user not shown)
Line 10: Line 10:
 
then non-destructive modeling is no longer guaranteed. <br>
 
then non-destructive modeling is no longer guaranteed. <br>
 
{{wikitodo|explain why}}
 
{{wikitodo|explain why}}
 
== Pure languages - more or less usable for programmatic CAD ==
 
 
* [[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]]
 
+
* weakly related: [[Tracing trajectories of component in machine phase]]
== External links ==
+
 
+
* https://openscad.org/
+
* http://implicitcad.org/
+
* https://github.com/Haskell-Things/ImplicitCAD
+

Latest revision as of 16:10, 1 February 2024

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)

Related