Traslazione e rotazione

Traslazione di un solido

La traslazione avviene anteponendo il comando translate[x,y,z] al solido da ruotare. La lista di valori racchiusi tra parentesi quadre rappresentano le quantità di traslazione lungo i tre assi rispettivamente.

cube([10,20,20],true);

//parallelepipedi traslati
translate([20,20,0])
      cube([10,20,20],true);

translate([20,20,0])
      cube([10,20,20],true);

translate([-20,20,0])
      cube([10,20,20],true);

translate([-20,-20,0])
      cube([10,20,20],true);

translate([20,-20,0])
      cube([10,20,20],true);
../_images/rototraslazioni_traslazione.png

Rotazione di un solido

La rotazione avviene anteponendo il comando rotate[x,y,z] al solido da ruotare. La lista di valori racchiusi tra parentesi quadre rappresentano le quantità di rotazione in gradi lungo i tre assi rispettivamente.

Rotazione intorno ad X:

//cilindro verticale
cylinder(20,3,3,true);

//cilindro ruotato rispetto ad X
rotate([90,0,0])
  cylinder(20,3,3,true);
../_images/rototraslazioni_rotX.png

Rotazione intorno ad Y:

//cilindro verticale
cylinder(20,3,3,true);

//cilindro ruotato rispetto ad X
rotate([0,90,0])
  cylinder(20,3,3,true);
../_images/rototraslazioni_rotY.png

Rotazione intorno a Z:

rotate([0,0,45])
  cube([10,30,30],true);
../_images/rototraslazioni_rotZ.png

Combinazione di traslazione e rotazione consicutive. Fare attenzione all’ordine in cui si inserisco rotazione e traslazione; viene eseguita per prima la trasformazione più vicina al comando solido con la conseguenza che invertire le operazioni porta a risultati differente come mostrato in figura:

translate ([0,40,0])
rotate([0,0,45])
  cube([10,30,30],true);

rotate([0,0,45])
translate ([0,40,0])
  cube([10,30,30],true);
../_images/rototraslazioni_dueConsecutive.png