Cheatography

OpenSCAD Cheat Sheet (DRAFT) by Vicnet

This is a draft cheat sheet. It is a work in progress and is not finished yet.

2D

 circle(r=1 | d) square(size | [w,h], center) polygon(points, paths, convexity) text(str, size, font, halign, valign, spacing, dir, lang, script) import("...dx­f|.s­vg­")
Polygones réguliers: circle­(r|d, \$fn=3|­4|...)

3D

 sphere(r | d) cylinder(h, r | d, center) cylinder(h, r1 | d1, r2 | d2, center) cube(size | [w,d,h], center) polyhedron(points, faces, convexity) surface("...da­t|.p­ng­", center, invert, convexity) import("...st­l")

2D / 3D

 linear­_ex­trude(h, center, convexity, twist, slices, scale) projection(cut) rotate­_ex­trude(convexity)

Transf­orm­ations

 translate([x,y,z]) rotate([x,y,z]) scale([x,y,z]) resize([x,y,z], auto | [autox­,au­toy­,au­toz]) offset(r | delta, chamfer) multmatrix(m) mirror([x,y,z]) color("na­me" | [r,g,b,a] | [r,g,b], a)
resize: auto calcule avec paramètres à 0

Opérations

 union() differ­ence() inters­ect­ion() hull() minkow­ski()

Rendu

 \$fa angle minium \$fs taille face minimum \$fn nombre de faces \$t timeur animation

Affichage

 * ignore # debug % transp­arent ! ignore avant

Point de vue

 \$vpr rotation (°) \$vpt transl­ation \$vpd distance caméra

Module

 module name(…) { … } déclar­ation children(index) \$children nombre d'enfants parent­_mo­dule(n) nom module niveau n

Fonctions

 function name(…) = exp ; déclar­ation

Librairies

 include <….s­ca­d> importe et exécute use <….s­ca­d> importe seulement ``File->Show Library Folder...``  ``instal­lation/libraries``  ``\$HOME/.lo­cal­/sh­are­/Op­enS­CAD­/li­braries``  ``OPENSC­ADPATH`` répert­oires multiples :

Controles

 if (...) { ... } for (i = [start­:in­cr:end] ) { ... } intervalle for (i = [x, x, ...] ) { ... } vecteur inters­ect­ion­_for( i = ...) { ... } évite union

Liste

 [ for (i = range|­list) i ] génération [ for (i = …) if (condi­tio­n(i)) i ] condition [ for (i = …) let(as­sign) a ] assign­ement

Chaines

 chr(n) len(str) search­(value, str) index str(str, str, ...) concatène

Basique

 variable = expres­sion; let(name = expres­sion) //   / .../ commen­taire 9.99 | 1.2e20 | PI nombre true | false booléen "..."­ chaine [exp, ...] vecteur [start­:in­cr:end] interval undef indéfini + | - | * | / | % scalaire + | - | * | / vecteur ou matrice == | != | < | <= | > | >= relation && | || logique boolexp ? trueexp : falseexp condit­ionnel

Système

 echo(list) version() vecteur vector­_num() nombre

Vecteurs

 concat(v1, v2, ...) concatène vecteurs concat(x, x, ...) crée un vecteur cross(v, w) produit vectoriel len(v) lookup­(key, v) valeur ou interp­olation max(v) min(v) norm(v) longueur search­(value, v) index

Mathém­atique

 abs(x) sign(x) -1, 0, 1 round(x) plus proche ceil(x) supérieur floor(x) inférieur exp(x) log(x) ln(x) max(x, x, ...) min(x, x, ...) % modulo pow(x,y) sqrt(x) rands(min, max, n, seed) vecteur taille n

Trigon­ométrie

 cos(deg) sin(deg) tan(deg) acos(x) en degrés asin(x) en degrés atan(x) en degrés atan2(x,y) en degrés