Releases: jsconan/camelSCAD
Version 1.10.1
Fixes in scripts:
scadrenderallrecurse
: render the child files from the root folder when recursingslic3rsliceallrecurse
: slice the child files from the root folder when recursing
Pull requests:
Full Changelog: v1.10.0...v1.10.1
Version 1.10.0
Features:
-
Add a way to specify a string variable for the CLI scripts.
The script helper
varif()
will build a string variable when a third parameter is set:varif "foo" "bar" # will write foo=bar varif "foo" "bar" # will write foo="bar"
Fixes:
- Fix the wrong license header in the scripts.
Pull requests:
- Fix/wrong license headers in the scripts by @jsconan in #120
- Feature/string variable helper by @jsconan in #121
- Release 1.10.0 by @jsconan in #122
Full Changelog: v1.9.0...v1.10.0
Version 1.9.0
Add operators extruding polygons given as points.
extrudePolygon()
: Extrudes a polygon defined by the given points, optionally increasing the size by adding a distance to the outline.extrudePolygonBox()
: Extrudes a box defined by the given polygon points, optionally increasing the size by adding a distance to the outline.
Pull requests:
Full Changelog: v1.8.0...v1.9.0
Version 1.8.0
Add visual tests for the operators and the shapes.
Add shapes and operators to present visual tests:
testElement(c="red", angle=0, size=1, center=false)
: Renders a test element. If no children is given, a cube with an arrow on top is rendered.testbedColor(alpha)
: Colorizes a test element.testbedExtrude(alpha)
: Extrudes and colorizes a test element.visualTest(index, length, width, title="test", margin=1, cols=0)
: Renders a test area, moving the tested shapes in it.visualTestSuite(length, width, title="test", margin=1, cols=0, center=false)
: Renders a test area for each child module, moving the tested shapes in it.
Fixes:
- properly use the build box and the render mode in the sample tube-cap
- typo in doc
- make the operation operator resilient to wrong parameters or children
- prevent dividing by 0 when
count
is 1 in rotate operator - a wrong function was used to get the size of the chamfered box
- set the default height to 1 if none supplied to the link shape
- take care of the h parameter in buildVolume
- properly position the sample from the object to slice
- assume default values in rotateOrigin
Pull requests:
- Feature/visual tests by @jsconan in #115
- Release 1.8.0 by @jsconan in #116
- Release 1.8.0 by @jsconan in #117
Full Changelog: v1.7.0...v1.8.0
Version 1.7.0
Add script utils:
distfile
: Makes sure a file exists. Otherwise creates a copy from the dist file.
Pull requests:
Full Changelog: v1.6.1...v1.7.0
Version 1.6.1
Fix script utils:
- use the provided path to Slic3r to get the version in
slic3rversion
- use the function
slic3rversion
to get the version of Slic3r
Pull requests:
Full Changelog: v1.6.0...v1.6.1
Version 1.6.0
Add core functions:
interpolationThreshold()
: Computes the threshold for a particular interpolation step considering the expected number of steps, and with respect to start and end thresholds.
Add operators:
presentAnimate()
: Presents the child modules only between the start and end thresholds, with respect to the$t
variable.
Update script utils:
- Add color for the warning messages.
- Add the function
buildpath
to build a destination path from a list of parts. - Add the function
scadversion
to get the version of the installed OpenSCAD. - Add the function
sclic3rversion
to get the version of the installed Slic3r. - Add the function
scadpreview
to render a capture of a SCAD model. - Add the function
scadecho
to capture the echos printed by a model. - Accept other parameters than variable definitions when calling OpenSCAD.
Pull requests:
Full Changelog: v1.5.0...v1.6.0
Version 1.5.0
Add operators to ease scenes animation:
mirrorAnimate()
: Mirrors the child modules, interpolating the axis with respect to the$t
variable.resizeAnimate()
: Resizes the child modules, interpolating the sizes with respect to the$t
variable.rotateAnimate()
: Rotates the child modules, interpolating the angles with respect to the$t
variable.scaleAnimate()
: Scales the child modules, interpolating the scale ratios with respect to the$t
variable.translateAnimate()
: Translates the child modules, interpolating the coordinates with respect to the$t
variable.
Fixes:
- Use a less confusing parameter name for the domain of values applied to compute percentage ratio. This impacts
percentage()
,simpleInterpolationRange()
,interpolationRange()
,interpolationStep()
,simpleInterpolationRange2D()
,interpolationRange2D()
,interpolationStep2D()
,simpleInterpolationRange3D()
,interpolationRange3D()
,interpolationStep3D()
Pull requests:
Full Changelog: v1.4.0...v1.5.0
Version 1.4.0
Add core functions:
percentage()
: Gets a percentage value as a number between -1 and 1.simpleInterpolationRange()
: Generates a range to interpolate a value given a step between 0 and 1, from a low and high value.interpolationRange()
: Generates a range to interpolate a value given a step between 0 and 1, from a list of values.interpolateStep()
: Interpolates a value given a step between 0 and 1.simpleInterpolationRange2D()
: Generates a range to interpolate 2D coordinates given a step between 0 and 1, from a low and high coordinate.interpolationRange2D()
: Generates a range to interpolate 2D coordinates given a step between 0 and 1, from a list of coordinates.interpolateStep2D()
: Interpolates 2D coordinates given a step between 0 and 1.simpleInterpolationRange3D()
: Generates a range to interpolate 3D coordinates given a step between 0 and 1, from a low and high coordinate.interpolationRange3D()
: Generates a range to interpolate 3D coordinates given a step between 0 and 1, from a list of coordinates.interpolateStep3D()
: Interpolates 3D coordinates given a step between 0 and 1.
Pull requests:
Full Changelog: v1.3.0...v1.4.0
Version 1.3.0
Add core functions:
iToX()
: Extract the X-coordinate from a linear position.iToY()
: Extract the Y-coordinate from a linear position.
Refactor operators:
distributeGrid()
: Use the functions converting linear to 2D coordinates.repeatGrid()
: Use the functions converting linear to 2D coordinates.
Pull requests:
Full Changelog: v1.2.0...v1.3.0