Syntax
var = value;
var = cond ? value_if_true : value_if_false;
var = function (x) x + x;
module name(…) { … }
name();
function name(…) = …
name();
include <….scad>
use <….scad>
var = value;
var = cond ? value_if_true : value_if_false;
var = function (x) x + x;
module name(…) { … }
name();
function name(…) = …
name();
include <….scad>
use <….scad>
undef
PI
n + m
n - m
n * m
n / m
n % m
n ^ m
n < m
n <= m
b == c
b != c
n >= m
n > m
b && c
b || c
!b
$fa
$fs
$fn
$t
$vpr
$vpt
$vpd
$vpf
$children
$preview
*
!
#
%
circle(radius | d=diameter)
square(size,center)
square([width,height],center)
polygon([points])
polygon([points],[paths])
text(t, size, font,
halign, valign, spacing,
direction, language, script)
import("….extformats: DXF|SVG", convexity)
projection(cut)
sphere(radius | d=diameter)
cube(size, center)
cube([width,depth,height], center)
cylinder(h,r|d,center)
cylinder(h,r1|d1,r2|d2,center)
polyhedron(points, faces, convexity)
import("….extformats: STL|OFF|AMF|3MF", convexity)
linear_extrude(height,center,convexity,twist,slices)
rotate_extrude(angle,convexity)
surface(file = "….extformats: DAT|PNG",center,convexity)
translate([x,y,z])
rotate([x,y,z])
rotate(a, [x,y,z])
scale([x,y,z])
resize([x,y,z],auto,convexity)
mirror([x,y,z])
multmatrix(m)
color("colorname",alpha)
color("#hexvalue#rgb|#rgba|#rrggbb|#rrggbbaa")
color([r,g,b,a])
offset(r|delta,chamfer)
hull()
minkowski(convexity)
list = […, …, …];
var = list[2];
var = list.z;
union()
difference()
intersection()
Generate [ for (i = range|list) i ]
Generate [ for (init;condition;next) i ]
Flatten [ each i ]
Conditions [ for (i = …) if (condition(i)) i ]
Conditions [ for (i = …) if (condition(i)) x else y ]
Assignments [ for (i = …) let (assignments) a ]
for (i = [start:end]) { … }
for (i = [start:step:end]) { … }
for (i = […,…,…]) { … }
for (i = …, j = …, …) { … }
intersection_for(i = [start:end]) { … }
intersection_for(i = [start:step:end]) { … }
intersection_for(i = […,…,…]) { … }
if (…) { … }
let (…) { … }
is_undef
is_bool
is_num
is_string
is_list
is_function
echo(…)
render(convexity)
children([idx])
assert(condition, message)
assign (…) { … }
concat
lookup
str
chr
ord
search
version
version_num
parent_module(idx)
abs
sign
sin
cos
tan
acos
asin
atan
atan2
floor
round
ceil
ln
len
let
log
pow
sqrt
exp
rands
min
max
norm
cross