Non-destructive modeling

From apm
Revision as of 14:51, 6 June 2023 by Apm (Talk | contribs) (minimal basic page)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
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)

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)

Related

External links