Differenze tra le versioni di "OpenSCAD/Primi passi"

Correggo tag deprecato
(Correggo tag deprecato)
 
{| width="100%"
|<sourcesyntaxhighlight lang="javascript">
// esempio 1
 
// tronco di piramide a base pentagonale
cylinder(15,6,2,$fn=5);
</syntaxhighlight>
</source>
|
[[File:OpenSCAD Cubo.png|miniatura|OpenSCAD Cubo
=== Difference, union, intersection ===
{| width="100%"
|<sourcesyntaxhighlight lang="javascript">
// esempio 2
translate([0, 0, 30]){ //traslazione in verticale asse Z
!sphere(20); MOSTRERÀ SOLO QUESTO SOLDIO
*/
</syntaxhighlight>
</source>
|[[File:openscad_first_steps.png|thumb|OpenSCAD after pasting the example code and pressing F5
difference() {
{| width="100%"
 
|<sourcesyntaxhighlight lang="javascript">
// esempio 3 - posizionare un oggetto
cube([2,3,4]); // l'origine coincide con lo spigolo a meno di indicare
translate([3,0,0]) cube([2,3,4]);
*/
</syntaxhighlight>
</source>
|
[[File:OpenSCAD_Positioning_an_Object.png|thumb|Posizionare un oggetto in OpenSCAD
{| width="100%"
 
|<sourcesyntaxhighlight lang="javascript">
// esempio 4 - ruotare un oggetto
// la rotazione avviene sempre rispetto all'origine assoluta degli assi
cube([2,3,4]);
}
</syntaxhighlight>
</source>
|
[[File:Rotazione2 assonometria.png|miniatura|Rotazione assonometria]]
|
|-
|<sourcesyntaxhighlight lang="javascript">
// esempio 5 - cambiare il colore di un oggetto
color([1,0,0]) cube([2,3,4]); //equivalente a color("red");
translate([6,0,0])
color([0,0,1]) cube([2,3,4]); //equivalente a color("blue");
</syntaxhighlight>
</source>
|[[File:OpenSCAD_Changing_Color.png|thumb|Cambiare il colore di un oggetto in OpenSCAD]]
|}
Considerando un commando completo come una proposizione, allora <code>color()</code> è un "aggettivo" che descrive l'"oggetto" della proposizione (cioè il "nome"). In questo caso, l'oggetto è il cuboide <code>cube()</code> da creare. L'aggettivo deve essere prima del nome nella proposizione, come nel caso: <code>color() cube();</code>. Allo stesso modo, <code>translate()</code> può essere considerato un "verbo" che agisce sull'oggeto, ed è posizionato così: <code>translate() color() cube();</code>. Il codice che segue produce lo stesso risultato:
 
<sourcesyntaxhighlight lang="javascript">
// esempio 6 - cambiare il colore di un oggetto
translate([6,0,0])
translate([6,0,0]) // le parentesi graffe non servono se riguarda un solo solido
color([0,0,1]) cube([2,3,4]);
</syntaxhighlight>
</source>
 
La modifica dei colori è attiva solo in Preview (F5). La modalità Render (F6) non la supporta ancora.
module name ( parameters ) { actions }
 
<sourcesyntaxhighlight lang="javascript">
// esempio 7 - modulo per la creazione di cilindri ruotati
module rotcy(rot, r, h) {
rotcy([0,45,0],10,30);
 
</syntaxhighlight>
</source>
 
== Iterazione: ciclo for() ==