
Get all points on the path of a spiral around a cylinder. The distance between two points is almost constant. Get all points and angles on the path of a golden spiral based on Fibonacci numbers. Nearest-neighbor points will all be approximately the same distance apart. An implementation of Centripetal Catmull-Rom spline.Ĭreate visually even spacing of n points on the surface of the sphere. Given a set of control points, this function returns points of the Bézier path.īspline_curve(t_step, degree, points, knots, weights)ī-spline interpolation using de Boor's algorithm.Ĭreate a curved path. Successive points will all be approximately the same distance apart. Get all points and angles on the path of an archimedean spiral.Ĭreate visually even spacing of n points on the surface of the sphere. Given a 2D path, this function constructs a mid-point smoothed version by joining the mid-points of the lines of the path.Īrchimedean_spiral(arm_distance, init_angle, point_distance, num_of_points) Given an edge path with the first point at the outline of a shape, this function uses the path to calculate scaling factors and returns all scaled sections in the reversed order of the edge path. Path_scaling_sections(shape_pts, edge_path) Lines_intersection(line1, line2)įind the intersection of two line segments. Given a 2D shape, points and angles along the path, this function returns all cross-sections. Trim a tangled-edge shape to a non-tangled shape.īezier_smooth(path_pts, round_d)Ĭross_sections(shape_pts, path_pts, angles) Each point of the offsetted shape is paired with exactly one point of the original shape.Ĭompute contour polygons by applying marching squares to a rectangular list of numeric values. Move 2D outlines outward or inward by a given amount.

Hull each pair of joins and union all convex hulls. Shear all child elements along the X-axis, Y-axis, or Z-axis. If there's only one child, put the child for each point.
#OPENSCAD EXTRUDE ALONG PATH SKIN#
Rounded_cylinder(radius, h, round_r)ĭevelop a smooth skin from crosssections with the same umber of sides.Īlong_with(points, angles) Polyline3d(points, diameter)Ĭreate a polyline from a list of. It avoids using hull and small 3D primitives to create the polyhedron. Line3d(p1, p2)ĭevelop a smooth skin between crosssections with different geometries.Ĭreate a convex polyhedron by hulling a list of points. It avoids using hull and small 2D primitives to create the polygon.Ĭreate a rounded square in the first quadrant.Ĭrystal_ball(radius)Ĭreate a crystal ball based on spherical coordinates (r, θ, φ) used in mathematics. Polyline2d(points)Ĭreate a polyline from a list of coordinates.Ĭreate a convex polygon by hulling a list of points. Multi_line_text(lines)Ĭreate multi-line text from a list of strings.Ĭreate polyline2de a pie (circular sector). These examples incubate dotSCAD and dotSCAD refactors these examples. Prefix the directory name when using vx_circle. For example, vx_circle.scad exists in voxel directory. The library uses directories to categorize some modules/functions. Here's an example using the line2d module: use

I set OPENSCADPATH to the src folder of dotSCAD so all examples here start searching modules/functions from src.Įvery public module/function has the same name as the. Check Setting OPENSCADPATH in OpenSCAD User Manual/Libraries for details. OpenSCAD uses three library locations, the installation library, built-in library, and user defined libraries. The idea of the name dotSCAD comes from the filename extension ".scad" of OpenSCAD. Hope it helps when you're playing OpenSCAD. Some of my 3D models require complex mathematics/algorithm. Reduce the burden of mathematics/algorithm when playing OpenSCAD.
