Skip to content

Latest commit

 

History

History
486 lines (390 loc) · 25.5 KB

RELEASE.md

File metadata and controls

486 lines (390 loc) · 25.5 KB

Version numbers are based on Semantic Versioning.

v3.3

Deprecated

Signature Description
rails2sections use maxtrix/m_transpose instead.
util/sort use util/sorted instead.
util/has use util/contains instead.
util/bsearch use util/binary_search instead.
maze/mz_square_cells use maze/mz_square.
maze/mz_square_walls use maze/mz_squarewalls instead.
maze/mz_hex_walls use maze/mz_hexwalls instead.
maze/mz_theta_cells use maze/mz_theta instead.

Util

Signature Description
util/sorted(lt[, cmp, key, reverse]) sort a list.
util/contains(lt, elem) return true if lt contains elem.
util/binary_search(sorted, target[, lo, hi]) search a value in a sorted list.
util/count(lt, test) return the number of times test return true in the list.

Matrix

Signature Description
matrix/m_replace(m, i, j, value) replace the aᵢⱼ element of a matrix.

Triangle

Signature Description
triangle/tri_subdivide(shape_pts[, n]) subdivide a triangle n times.

Point Picking

Signature Description
pp/pp_disk(radius, value_count[, seed]) generate random points over a disk.
pp/pp_sphere(radius, value_count[, seed]) pick random points on the surface of a sphere.
pp/pp_poisson2(size, r[, start, k, seed]) perform poisson sampling over a rectangle area.
pp/pp_poisson3(size, r[, start, k, seed]) perform poisson sampling over a cube space.

Maze

Signature Description
maze/mz_square([rows, columns, start, init_cells, x_wrapping, y_wrapping, seed]) return cell data of a square maze.
maze/mz_squarewalls(cells, cell_width[, left_border, bottom_border]) a helper for creating square wall data from maze cells.
maze/mz_hexwalls(cells, cell_radius[, left_border, bottom_border]) a helper for creating hex wall data from maze cells.
maze/mz_theta(rings, beginning_number[, start, seed]) return cell data of a theta maze.
maze/mz_tiles(cells[, left_border, bottom_border]) turn maze cells into tiles.

v3.2.2

Maintenance release: bug fixes & performance improvements.

v3.2.1

Maintenance release: bug fixes & performance improvements.

v3.2

Deprecated:

Name Description
paths2sections use rails2sections instead.
hull_polyline2d, hull_polyline3d use polyline_join instead.
shape_starburst, shape_pentagram use shape_star instead.
starburst use polyhedra/star instead.

New parameters:

  • angle_between adds ccw.

New modules/functions:

Matrix

2D/3D Function

Signature Description
rails2sections(rails) create sections along rails.

Transformation

Signature Description
select(i) select module objects.
polyline_join(points) place a join on each point. Hull each pair of joins and union all convex hulls.

2D Shape

Signature Description
shape_star([outer_radius, inner_radius, n]) create a 2D star.

Polyhedra

Signature Description
polyhedra/star([outerRadius, innerRadius, height, n]) create a 3D star.
polyhedra/polar_zonohedra(n[, theta]) create a polar zonohedra.
polyhedra/tetrahedron(radius[, detail]) create a tetrahedron.
polyhedra/hexahedron(radius[, detail]) create a hexahedron.
polyhedra/octahedron(radius[, detail]) create a octahedron.
polyhedra/dodecahedron(radius[, detail]) create a dodecahedron.
polyhedra/icosahedron(radius[, detail]) create a icosahedron.
polyhedra/superellipsoid(radius[, detail]) create a superellipsoid.

v3.1

Deprecated:

Name Description
bezier_surface use surface/sf_splines instead.
function_grapher use surface/sf_thicken instead.

New modules/functions:

Matrix

Signature Description
maxtrix/m_transpose(m) transpose a matrix.

Surface

Signature Description
surface/sf_curve(levels, curve_path, ...) curve a photo.
surface/sf_splines(ctrl_pts, row_spline, column_spline) generalized-spline surface.
surface/sf_thicken(points, thickness, ...) thicken a surface.
surface/sf_solidifyT(points1, points2, triangles) solidify two surfaces with triangular mesh.
surface/sf_thickenT(points, thickness, ...) thicken a surface with triangular mesh.

Triangle

Signature Description
triangle/tri_circumcenter(shape_pts) return the circumcenter of a triangle.
triangle/tri_incenter(shape_pts) return the incenter of a triangle.
triangle/tri_ear_clipping(shape_pts, ret = "TRI_INDICES", ...) triangulation by ear clipping.
triangle/tri_delaunay(points, ret = "TRI_INDICES") Join a set of points to make a Delaunay triangulation.
triangle/tri_delaunay_indices(d) return triangle indices from a delaunay object.
triangle/tri_delaunay_shapes(d) return triangle shapes from a delaunay object.
triangle/tri_delaunay_voronoi(d) return Voronoi cells from a delaunay object.

v3.0

It's a version that Breaks Backward Compatibility!!

This version removed all deprecated modules/functions in previous versions.

Function signature changed:

  • function_grapher: delete slicing parameter.
  • hull_polyline3d: Rename the parameter thickness to diameter.
  • line3d: Rename the parameter thickness to diameter.
  • polyline3d: Rename the parameter thickness to diameter.
  • util/bsearch: only supports sorted and target parameters.
  • util/dedup: delete sorted parameter. add the eq,hash and number_of_buckets parameters.

Deleted:

  • m_cumulate deleted.
  • trianglate deleted.
  • turtle/turtle2d and turtle/turtle3d are used internally.

This version, however, has some new features.

Enhanced:

New modules/functions:

v2.5

Deprecated:

  • polytransversals
  • shape_glued2circles. Use shape_liquid_splitting instead.

New modules and functions:

v2.4

Deprecated:

Improved:

  • polyline2d: improved middle-point drawing, support joinStyle parameter.
  • box_extrude: added bottom_thicnkess parameter.

New modules and functions:

v2.3

Bugfixes:

  • helix_extrude: wrong orientation when CLK.

Deprecated:

New modules and functions:

v2.2.1

Bugfixes:

  • util/sort: z not sorted.

Improvements:

  • Faster when the style of function_grapher is "LINES" or "HULL_LINES".
  • Dedup pixels of pixel/px_polyline, pixel/px_circle, pixel/px_cylinder, pixel/px_sphere, pixel/px_polygon.

v2.2

  • Bugfixes
    • util/sort: fix "search term not found" warning when by is "idx".
  • Better dependency management. Just use modules you want. Existing scripts are not required to do any change.

v2.1

v2.0

v1.3.3

  • Bugfixes
    • in_shape: Wrong variable name.

v1.3.2

  • All-in-one source file.

    • You can use include <dotSCAD.scad>; or use <dotSCAD.scad>; if you really don't want to care about dependencies.
  • Bugfixes

    • along_with: Wrong variable scope.

v1.3.1

  • Bugfixes
    • in_polyline: Wrong parameter name.
    • in_shape: Missing dependency.
    • along_with: Avoid warning when using 2D points.

v1.3

v1.2

v1.1.1

  • Bugfixes

    • m_rotation returns an identity matrix if a is 0.
    • The path_pts parameter of path_extrude accepts two or three points.
    • The points parameter of along_with accepts two or three points.
  • Others

    • OpenSCAD has built-in matrix multiplication so m_multiply is not necessary.

v1.1

v1.0.1

  • Fixed path_extrude crossing problem. See issue 3.
  • Fixed along_with crossing problems (similar to path_extrude.)

v1.0

  • First release.