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> undefPIn + mn - mn * mn / mn % mn ^ mn < mn <= mb == cb != cn >= mn > mb && cb || 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