Version numbers are based on Semantic Versioning.
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. |
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. |
Signature | Description |
---|---|
matrix/m_replace(m, i, j, value) | replace the aᵢⱼ element of a matrix. |
Signature | Description |
---|---|
triangle/tri_subdivide(shape_pts[, n]) | subdivide a triangle n times. |
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. |
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. |
Maintenance release: bug fixes & performance improvements.
Maintenance release: bug fixes & performance improvements.
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. |
angle_between
addsccw
.
Signature | Description |
---|---|
rails2sections(rails) | create sections along rails. |
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. |
Signature | Description |
---|---|
shape_star([outer_radius, inner_radius, n]) | create a 2D star. |
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. |
Name | Description |
---|---|
bezier_surface | use surface/sf_splines instead. |
function_grapher | use surface/sf_thicken instead. |
Signature | Description |
---|---|
maxtrix/m_transpose(m) | transpose a matrix. |
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. |
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. |
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
todiameter
. - line3d: Rename the parameter
thickness
todiameter
. - polyline3d: Rename the parameter
thickness
todiameter
. - util/bsearch: only supports
sorted
andtarget
parameters. - util/dedup: delete
sorted
parameter. add theeq
,hash
andnumber_of_buckets
parameters.
Deleted:
m_cumulate
deleted.trianglate
deleted.turtle/turtle2d
andturtle/turtle3d
are used internally.
This version, however, has some new features.
Enhanced:
- lines_intersection: Supports 3D lines.
- util/sort:
by
accepts a function literal. - util/zip: Adds the
combine
parameter. - 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
Deprecated:
polytransversals
shape_glued2circles
. Useshape_liquid_splitting
instead.
New modules and functions:
-
2D Module
-
3D Module
-
Path
-
2D Shape
-
Util
-
Voxel
-
Maze
Deprecated:
- Pixel. Use Voxel instead.
- voronoi2d: use voronoi/vrn2_from instead.
- voronoi3d: use voronoi/vrn3_from instead.
Improved:
- polyline2d: improved middle-point drawing, support
joinStyle
parameter. - box_extrude: added
bottom_thicnkess
parameter.
New modules and functions:
-
2D Function
-
Util
-
Turtle
-
Voxel
-
Matrix
-
Voronoi
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
Bugfixes:
util/sort
: z not sorted.
Improvements:
- Faster when the
style
offunction_grapher
is"LINES"
or"HULL_LINES"
. - Dedup pixels of
pixel/px_polyline
,pixel/px_circle
,pixel/px_cylinder
,pixel/px_sphere
,pixel/px_polygon
.
- Bugfixes
util/sort
: fix "search term not found" warning whenby
is"idx"
.
- Better dependency management. Just
use
modules you want. Existing scripts are not required to do any change.
- Bugfixes
bend_extrude
: fix wrong rotation.bijection_offset
: fix point order.
- New parameters.
box_extrude
: newtwist
parameter.crystall_ball
: newthickness
parameter.
- New modules and functions.
- Use new features of OpenSCAD-2019.05 to refactor internal implementation.
- Delete the
log
module which is never used. - Directory changed.
m_cumulate
,m_mirror
,m_rotation
,m_scaling
,m_shearing
andm_translation
are moved into thematrix
directory.turtle2d
andturtle3d
are moved into theturtle
directory.parse_number
,split_str
andsub_str
are moved into theutil
directory.
- New modules and functions.
- Bugfixes
in_shape
: Wrong variable name.
-
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.
- Bugfixes
in_polyline
: Wrong parameter name.in_shape
: Missing dependency.along_with
: Avoid warning when using 2D points.
-
New modules:
-
New functions:
-
New parameters:
distance
of shape_taiwanepsilon
of bijection_offsetmethod
of path_extrudemethod
of along_with
-
New modules and functions:
-
Others
- Avoid warnings when using newer versions of OpenSCAD after 2015.03.
-
Bugfixes
m_rotation
returns an identity matrix ifa
is 0.- The
path_pts
parameter ofpath_extrude
accepts two or three points. - The
points
parameter ofalong_with
accepts two or three points.
-
Others
- OpenSCAD has built-in matrix multiplication so
m_multiply
is not necessary.
- OpenSCAD has built-in matrix multiplication so
-
New matrix functions:
-
New modules:
-
New Parameters:
- added
v
parameter to rotate_p
- added
-
Improved Performance:
- Fixed
path_extrude
crossing problem. See issue 3. - Fixed
along_with
crossing problems (similar topath_extrude
.)
- First release.