openscad/example.scad

89 lines
1.6 KiB
OpenSCAD

module test001()
{
function r_from_dia(d) = d / 2;
module rotcy(rot, r, h) {
rotate(90, rot) cylinder(r = r, h = h, center = true);
}
difference() {
sphere(r = r_from_dia(size));
rotcy([0 0 0], cy_r, cy_h);
rotcy([1 0 0], cy_r, cy_h);
rotcy([ 0 1 0], cy_r, cy_h);
}
size = 50;
hole = 25;
cy_r = r_from_dia(hole);
cy_h = r_from_dia(size * 2.5);
}
module test002()
{
intersection() {
difference() {
union() {
cube([30 30 30], center = true);
translate([0 0 -25])
cube([15 15 50], center = true);
}
union() {
cube([50 10 10], center = true);
cube([10 50 10], center = true);
cube([10 10 50], center = true);
}
}
translate([0 0 5])
cylinder(h = 50, r1 = 20, r2 = 5, center = true);
}
}
module test003()
{
difference() {
union() {
cube([30 30 30], center = true);
cube([40 15 15], center = true);
cube([15 40 15], center = true);
cube([15 15 40], center = true);
}
union() {
cube([50 10 10], center = true);
cube([10 50 10], center = true);
cube([10 10 50], center = true);
}
}
}
module test004()
{
difference() {
cube(30, center = true);
sphere(20);
}
}
module test005()
{
translate([0 0 -120]) {
difference() {
cylinder(h = 50, r = 100);
translate([0 0 10]) cylinder(h = 50, r = 80);
translate([100 0 35]) cube(50, center = true);
}
for (i = [0:5]) {
echo(360*i/6, sin(360*i/6)*80, cos(360*i/6)*80);
translate([sin(360*i/6)*80, cos(360*i/6)*80, 0 ])
cylinder(h = 200, r=10);
}
translate([0 0 200])
cylinder(h = 80, r1 = 120, r2 = 0);
}
}
test001();