Version next (202Y-MM-DD)
-
ExtOpenScad interface changes
- Added
projection(cut=true)
support #448
- Added
-
Haskell interface changes
-
Other changes
- Fixing
shell
so that it doesn't increase the outside dimentions of objects. - Fixing an issue with bounding boxes for infinite functions. #412
- Making
torus
andellipsoid
primitive objects, rather than being defined implicitly. #450 - Improved formatting of ExtOpenSCAD code #472
- Fixing an issue where ImplicitCAD extended primitive objects were being exported to OpenSCAD where they aren't supported.
- Fixing relative imports to use the directory of the initial source file rather than the directory where
extopenscad
was called.
- Fixing
Version 0.4.1.0 (2023-12-18)
-
ExtOpenScad interface changes
- Added
rands
andlookup
support #433 - Added several primitives
cone(r, h, center)
torus(r1, r2)
ellipsoid(a, b, c)
- Adding vector-matrix, matrix-vector, and matrix-matrix multiplication support to
*
#414 - Several mathematical functions that have undefined values for some inputs or tend to infinity have been given finite but extremely large bounds.
- Added
-
Haskell interface changes
- Added matching primitives for
cone
,torus
, andellipsoid
- Adding vector-matrix, matrix-vector, and matrix-matrix multiplication support to
mult
#414
- Added matching primitives for
-
Other changes
- Migrating StateC and StateE to a ReaderT/WriterT/StateT transformer stack, rather than being just StateT. #432
- Fixing an off by one error in variable stack lookups. #431
- Fixing exponent operator precedence. #428
- Fixing some crashes relating to unclosed loops when generating surfaces. #373
- Addition of canonicalization pass and
canonicalize
member function forObject
#445
Version 0.4.0.0 (2022-06-06)
-
Changelog started. Previous release was
0.3.0.1
. -
Haskell interface changes
- Added support for XY-scaling on
linear_extrude
#269ExtrudeRM
scale type changes from(Either ℝ (ℝ -> ℝ))
toExtrudeRMScale
- Replaced the Rect primitives with SquareR and CubeR #296
squareR
andcubeR
are now available
- Added support for mirroring objects around axis using
mirror
function #300 differenceR
changes type to require mandatory shape to substract from #294- from
Object obj vec => R -> [obj] -> obj
- to
Object obj vec => R -> obj -> [obj] -> obj
- from
- Both
SymbolicObj2
andSymbolicObj3
now haveSemigroup
andMonoid
instances, where<>
acts asunion
#301 - Added
rotateQ
function for rotating with Quaternions #314 ℝ2
andℝ3
are now usingV2
andV3
fromlinear
instead of tuples #342- Rounding is now separate from primitives #362
- Introduces
withRounding
function. - Instead of
primitiveR roundingValue ...
we now usewithRounding roundingValue (primitive ...)
- Replaces
squareR
,rectR
,polygonR
,cubeR
,rect3R
,extrudeR
,extrudeRM
with versions without rounding arugment (square
,rect
, ...).
- Introduces
- Removed
ExtrudeRotateR
#365 rotateExtrude
now longer accepts rounding paramater #367- Added
transform3
(transform using 4x4 matrix representing affine transformation) #410 - Changed
Object obj vec
class toObject obj f a
#420
- Added support for XY-scaling on
-
ExtOpenSCAD interface changes
-
Other changes
- Fixed the ExtOpenSCAD lexer bug where newlines were part of identifiers #256
implicitsnap
not built by default anymore #272- Can be enabled again with
cabal configure --flag=implicitsnap
- Can be enabled again with
- Fixed vertex coordinates of OBJ output #281
discreteAprox
ofNormedTriangleMesh
now runs in parallel #282
- Binaries now built with default
-rtsopts "-with-rtsopts -N -qg -t"
to allow automatic parallelization - Added haddocks for Haskell eDSL #284 & #287
- Added golden test machinery #311
- Added quickcheck test machinery for implicit functions #316
- Rotate now internally uses quaternions #314
- Fixes to triangle generation #355 and #375
- ExtOpenSCAD vector addition #408