Skip to content

Releases: jsconan/camelSCAD

Version 1.10.1

13 Jul 20:17
15a17c6
Compare
Choose a tag to compare

Fixes in scripts:

  • scadrenderallrecurse: render the child files from the root folder when recursing
  • slic3rsliceallrecurse: slice the child files from the root folder when recursing

Pull requests:

Full Changelog: v1.10.0...v1.10.1

Version 1.10.0

27 Jun 19:53
42856b7
Compare
Choose a tag to compare

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:

Full Changelog: v1.9.0...v1.10.0

Version 1.9.0

25 Jun 13:27
aa2e79b
Compare
Choose a tag to compare

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

19 Jun 16:22
de24712
Compare
Choose a tag to compare

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:

Full Changelog: v1.7.0...v1.8.0

Version 1.7.0

21 Feb 21:30
1bb6946
Compare
Choose a tag to compare

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

17 Feb 15:16
3b6faf4
Compare
Choose a tag to compare

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

16 Feb 21:00
03ecf8b
Compare
Choose a tag to compare

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

12 Feb 13:10
74400bb
Compare
Choose a tag to compare

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

09 Feb 20:29
db70f0b
Compare
Choose a tag to compare

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

06 Feb 17:38
91f826a
Compare
Choose a tag to compare

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