Trobareu informació més detallada, pero en anglès, a http://www.openscad.org/documentation.html i https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/The_OpenSCAD_Language
En realitat genera un ortoedre, ortòedre o cuboide, es a dir, d'un paral·lelepípede on tots els angles són rectes (capsa de sabates).
Per defecte la figura no està centrada.
Ús:
Ortoedre
cube([llargada,amplada,altura]);
Cub
cube(10);
Exemple:
cube([60,20,40]);
genera un cuboide de 60 mm de llargada per 20 mm d'amplada per 40 mm d'altura
cube(30);
genera un cub de 30 mm de costat
Permet generar cilindres, troncs de cons, cons, prismes de n cares, troncs de prisma de n cares i piràmides de n cares.
Per defecte la figura està centrada.
Ús:
Cilindres
cylinder (h=altura, r=radi, $fn=ressolució);
Troncs de con
cylinder (h=altura, r1=radi inferior, r2=radi superior, $fn=ressolució);
Cons
cylinder (h=altura, r1=radi inferior, r2=0, $fn=ressolució);
Prisma de n cares
cylinder (h=altura, r=radi en que està inscrita la base, $fn= nombre de cares);
Tronc de prisma de n cares
cylinder (h=altura, r1=radi en que està inscrita la base, r2=radi en que està inscrita la cara superior, $fn= nombre de cares);
Piràmide de n cares
cylinder (h=altura, r1=radi en que està inscrita la base, r2=0, $fn= nombre de cares);
Exemples:
cylinder (h=60, r=10, $fn=48);
genera un cilindre d'altura 60 mm amb un radi de 10 mm i aproximant amb 48 cares el contorn circular
cylinder (h=30, r1=10, r2=5, $fn=48);
genera un tronc de con d'altura 30 mm amb un radio de 10 mm a sota y de 5 mm a dalt i aproximant amb 48 cares el contorn circular
cylinder (h=60, r1=10, r2=0, $fn=48);
genera un con d'altura 60 mm amb un radi de 10 mm a la base i aproximant anb 48 cares el contorn circular
cylinder (h=60, r=10, $fn=6);
genera un prisma hexagonal d'altura 60 mm amb la base inscrita en un radi de 10 mm i amb un vèrtex orientat segons l'eix x
cylinder (h=30, r=10, $fn=6);
genera un tronc de prisma hexagonal d'altura 30 mm amb la base inscrita en un radi de 10 mm, l'hexàgon superior inscrit en un radi de 5 mm i amb un vèrtex orientat segons l'eix x
cylinder (h=60, r1=10, r2=0, $fn=6);
genera una piràmide hexagonal d'altura 60 mm amb la base inscrita en un radi de 10 mm i amb un vèrtex orientat segons l'eix x
Totes les figures agafen com a referència un punter a l'origen que té com a coordenades [0,0,0]. Si volem moure la figura caldrà fer un translació, i si volem canviar la seva orientació caldrà fer una rotació. De vegades ens interessarà una simetria especular com la que produeix un mirall.
Realitza una translació, es a dir, un desplaçament de la figura.
Ús:
translate ([desplaçament x, desplaçament y, desplaçament z])
fixeu-vos que l'ordre no porta un punt i coma final. De fet, podem entendre aquesta ordre com un prefix a l'ordre qeu genera la figura (cube, cylinder ...).
Exemple:
translate([0,0,30]) cylinder(h=60, r1=10, r2=0);
genera un cub desplaçat 10 mm a l'eix x, 20 a l'eix y i 30 a l'eix z.
Realitza girs segons els eixos x, y i z. El sentit del gir ve determinat per la regla del cargol. L'amplitud del gir s'expressa en graus.
Ús:
rotate ([gir perpendicular eix x, gir perpendicular eix y, gir perpendicular eix z)
fixeu-vos que l'ordre no porta un punt i coma final. De fet, podem entendre aquesta ordre com un prefix a l'ordre qeu genera la figura (cube, cylinder ...).
Exemple:
rotate([0,90,0]) cylinder(h=60, r1=10, r2=0);
genera un cub girat 90º en el pla perpendicular a l'eix y.
Realitza una simetria especular respecte a un pla, que s'expressa per un vector perpendicular.
Ús:
mirror ([x,y,z])
on [x,y,z] és un vector perpendicular al pla de simetria.
Fixeu-vos que l'ordre no porta un punt i coma final. De fet, podem entendre aquesta ordre com un prefix a l'ordre qeu genera la figura (cube, cylinder ...).
Exemple:
cylinder (r1=10, r2=0, h=30);
mirror ([0,0,1]) cylinder (r1=10, r2=0, h=30);
Genera un cilindre i la seva imatge especular respecte al pla xy
Forma una nova figura afegint diferents cossos, que poden solapar-se.
Ús:
union() {
figura1;
figura2;
.../...
figuraN;
}
Exemple:
union () {
cylinder (h=30, r=10);
translate ([0,0,30]) cylinder(h=30, r1=10, r2=0);
}
Forma una nova figura composta per un cilindre i un con al damunt seu.
Resta una figura d'una altra. Molt útil per fer forats a figures.
Ús:
difference () {
figura1;
figura2;
}
Exemple:
difference() {
cylinder (h=30, r=10);
translate ([-10,-5,0]) cube ([20,10,15]);
}
Crea un cilindre i li resta un ortoedre.
Podem agrupar figures abans de restar-les:
difference() {
union () {
cylinder (h=30, r=10);
translate ([0,0,30]) cylinder(h=30, r1=10, r2=0);
}
translate ([-10,-5,0]) cube ([20,10,15]);
}
Genera una figura amb l'espai comú a dues figures.
Ús:
intersection () {
figura1;
figura2;
}
Exemple:
En aquest exemple arrodonim els costats d'una capsa amb un cercle de igual diàmetre que la llargària:
intersection(){
cube([60,20,10], center=true);
cylinder (r=30, h=10, $fn=48);
}
for
intersection_for
if
else
?:
+ - * /
% --> mòdul
cos() sin() tan() --> angles en graus
acos() asin() atan()
abs()
ceil() --> arrodoniment per defecte
floor --> nombre sencer inferior (difereix de ceil per a nombres negatius)
round() -> arrodoniment
exp() ln() log()
pow(x,y) --> potencia x elevat a y
sqrt() --> arrel quadrada