Slicing a 3D object to SVG: verschil tussen versies
(Nieuwe pagina aangemaakt met 'One can use OpenSCAD to slice a 3D STL or an object made in OpenSCAD into SVG usable with the Lasersaur. == Example of a CSG object == Example of a sphere on top...') |
(→Example of a CSG object) |
||
Regel 21: | Regel 21: | ||
}; | }; | ||
} | } | ||
− | + | ||
z_min = 0; | z_min = 0; | ||
z_max = 23; | z_max = 23; | ||
Regel 35: | Regel 35: | ||
}; | }; | ||
}; | }; | ||
− | |||
== Example with an STL == | == Example with an STL == | ||
An example of an STL that is loaded from a file and then sliced. You will have to manually adjust the Z range & slice distance. | An example of an STL that is loaded from a file and then sliced. You will have to manually adjust the Z range & slice distance. |
Versie van 3 mrt 2018 om 20:07
One can use OpenSCAD to slice a 3D STL or an object made in OpenSCAD into SVG usable with the Lasersaur.
Example of a CSG object
Example of a sphere on top of a cube (thing() in below code) which is sliced; and each slice is then laid out flat.
module thing() { difference() { union() { translate([-5,-5,0]) cube([10,10,10]); translate([0,0,12]) sphere(r=10); }; union() { translate([-5,-5,0]) translate([1,1,1]) cube([8,8,8]); translate([0,0,12]) sphere(r=9); }; }; } z_min = 0; z_max = 23; slice = 1; n = 5; // floor(sqrt((z_max - z_min)/slice+10)); for(z = [-z_max:slice:z_min]) { i = (z + z_max) / slice; x = 40 * (i % n); y = 40 * floor(i / n); translate([x,y,0]) { projection(cut=true) translate([0,0,z]) thing(); }; };
Example with an STL
An example of an STL that is loaded from a file and then sliced. You will have to manually adjust the Z range & slice distance.