DotSCAD Versions Save

Reduce the burden of mathematics when playing OpenSCAD

v3.3

1 year ago

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

2 years ago

v3.2.2

Maintenance release: bug fixes & performance improvements.

v3.2.1

2 years ago

v3.2.1

Maintenance release: bug fixes & performance improvements.

v3.2

2 years ago

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

2 years ago

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

3 years ago