26 KiB
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_betweenaddsccw.
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
slicingparameter. - hull_polyline3d: Rename the parameter
thicknesstodiameter. - line3d: Rename the parameter
thicknesstodiameter. - polyline3d: Rename the parameter
thicknesstodiameter. - util/bsearch: only supports
sortedandtargetparameters. - util/dedup: delete
sortedparameter. add theeq,hashandnumber_of_bucketsparameters.
Deleted:
m_cumulatedeleted.trianglatedeleted.turtle/turtle2dandturtle/turtle3dare used internally.
This version, however, has some new features.
Enhanced:
- lines_intersection: Supports 3D lines.
- util/sort:
byaccepts a function literal. - util/zip: Adds the
combineparameter. - function_grapher:
"LINES"、"HULL_LINES"performance improved. - vx_union, vx_circle, vx_bezier, vx_polygon: Performance improved.
- util/dedup: Performance improved.
New modules/functions:
- angle_between
- util/degrees
- util/radians
- util/polar_coordinate
- util/spherical_coordinate
- util/every
- util/some
- util/swap
- util/shuffle
- util/find_index
- util/set/hashset
- util/set/hashset_add
- util/set/hashset_has
- util/set/hashset_del
- util/set/hashset_len
- util/set/hashset_elems
- util/map/hashmap
- util/map/hashmap_put
- util/map/hashmap_get
- util/map/hashmap_del
- util/map/hashmap_len
- util/map/hashmap_keys
- util/map/hashmap_values
- util/map/hashmap_entries
- maze/mz_theta_cells
- maze/mz_theta_get
v2.5
Deprecated:
polytransversalsshape_glued2circles. Useshape_liquid_splittinginstead.
New modules and functions:
-
2D Module
-
3D Module
-
Path
-
2D Shape
-
Util
-
Voxel
-
Maze
v2.4
Deprecated:
- Pixel. Use Voxel instead.
- voronoi2d: use voronoi/vrn2_from instead.
- voronoi3d: use voronoi/vrn3_from instead.
Improved:
- polyline2d: improved middle-point drawing, support
joinStyleparameter. - box_extrude: added
bottom_thicnkessparameter.
New modules and functions:
-
2D Function
-
Util
-
Turtle
-
Voxel
-
Matrix
-
Voronoi
v2.3
Bugfixes:
helix_extrude: wrong orientation whenCLK.
Deprecated:
- polysections: use sweep instead.
- rotate_p: use ptf_rotate instead.
- circle_path: use shape_circle instead.
New modules and functions:
- 3D Module
- 2D Function
- Path
- Util
- Point transformation
- Surface
- Noise
v2.2.1
Bugfixes:
util/sort: z not sorted.
Improvements:
- Faster when the
styleoffunction_grapheris"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 whenbyis"idx".
- Better dependency management. Just
usemodules you want. Existing scripts are not required to do any change.
v2.1
- Bugfixes
bend_extrude: fix wrong rotation.bijection_offset: fix point order.
- New parameters.
box_extrude: newtwistparameter.crystall_ball: newthicknessparameter.
- New modules and functions.
v2.0
- Use new features of OpenSCAD-2019.05 to refactor internal implementation.
- Delete the
logmodule which is never used. - Directory changed.
m_cumulate,m_mirror,m_rotation,m_scaling,m_shearingandm_translationare moved into thematrixdirectory.turtle2dandturtle3dare moved into theturtledirectory.parse_number,split_strandsub_strare moved into theutildirectory.
- New modules and functions.
v1.3.3
- Bugfixes
in_shape: Wrong variable name.
v1.3.2
-
All-in-one source file.
- You can use
include <dotSCAD.scad>;oruse <dotSCAD.scad>;if you really don't want to care about dependencies.
- You can use
-
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
-
New modules:
-
New functions:
-
New parameters:
distanceof shape_taiwanepsilonof bijection_offsetmethodof path_extrudemethodof along_with
v1.2
-
New modules and functions:
-
Others
- Avoid warnings when using newer versions of OpenSCAD after 2015.03.
v1.1.1
-
Bugfixes
m_rotationreturns an identity matrix ifais 0.- The
path_ptsparameter ofpath_extrudeaccepts two or three points. - The
pointsparameter ofalong_withaccepts two or three points.
-
Others
- OpenSCAD has built-in matrix multiplication so
m_multiplyis not necessary.
- OpenSCAD has built-in matrix multiplication so
v1.1
-
New matrix functions:
-
New modules:
-
New Parameters:
- added
vparameter to rotate_p
- added
-
Improved Performance:
v1.0.1
- Fixed
path_extrudecrossing problem. See issue 3. - Fixed
along_withcrossing problems (similar topath_extrude.)
v1.0
- First release.