diff options
author | clifford <clifford@b57f626f-c46c-0410-a088-ec61d464b74c> | 2009-07-14 21:47:32 (GMT) |
---|---|---|
committer | clifford <clifford@b57f626f-c46c-0410-a088-ec61d464b74c> | 2009-07-14 21:47:32 (GMT) |
commit | cc3291a4f1def85273e0e1cc6e43bb0079965946 (patch) | |
tree | 03ff099c015e6611a45e70318069026bbbff6115 /examples | |
parent | f950feace3beaeec9bd5a6d6e65f7790bd80a9d8 (diff) |
Clifford Wolf:
Added convexity handling
Split up example.scad file to examples/*
git-svn-id: http://svn.clifford.at/openscad/trunk@56 b57f626f-c46c-0410-a088-ec61d464b74c
Diffstat (limited to 'examples')
-rw-r--r-- | examples/example001.scad | 25 | ||||
-rw-r--r-- | examples/example002.scad | 23 | ||||
-rw-r--r-- | examples/example003.scad | 20 | ||||
-rw-r--r-- | examples/example004.scad | 11 | ||||
-rw-r--r-- | examples/example005.scad | 21 | ||||
-rw-r--r-- | examples/example006.scad | 44 |
6 files changed, 144 insertions, 0 deletions
diff --git a/examples/example001.scad b/examples/example001.scad new file mode 100644 index 0000000..87e091d --- /dev/null +++ b/examples/example001.scad @@ -0,0 +1,25 @@ + +module example001() +{ + 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); +} + +example001(); + diff --git a/examples/example002.scad b/examples/example002.scad new file mode 100644 index 0000000..ce9a516 --- /dev/null +++ b/examples/example002.scad @@ -0,0 +1,23 @@ + +module example002() +{ + 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); + } +} + +example002(); + diff --git a/examples/example003.scad b/examples/example003.scad new file mode 100644 index 0000000..2add654 --- /dev/null +++ b/examples/example003.scad @@ -0,0 +1,20 @@ + +module example003() +{ + 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); + } + } +} + +example003(); + diff --git a/examples/example004.scad b/examples/example004.scad new file mode 100644 index 0000000..9cfc4f6 --- /dev/null +++ b/examples/example004.scad @@ -0,0 +1,11 @@ + +module example004() +{ + difference() { + cube(30, center = true); + sphere(20); + } +} + +example004(); + diff --git a/examples/example005.scad b/examples/example005.scad new file mode 100644 index 0000000..9256149 --- /dev/null +++ b/examples/example005.scad @@ -0,0 +1,21 @@ + +module example005() +{ + 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); + } +} + +example005(); + diff --git a/examples/example006.scad b/examples/example006.scad new file mode 100644 index 0000000..26143a1 --- /dev/null +++ b/examples/example006.scad @@ -0,0 +1,44 @@ + +module example006() +{ + module edgeprofile() + { + render(convexity = 2) difference() { + cube([20 20 150], center = true); + translate([-10 -10 0]) + cylinder(h = 80, r = 10, center = true); + translate([-10 -10 +40]) + sphere(r = 10); + translate([-10 -10 -40]) + sphere(r = 10); + } + } + + difference() + { + cube(100, center = true); + for (rot = [ [0 0 0], [1 0 0], [0 1 0] ]) { + rotate(90, rot) + for (p = [[+1 +1 0], [-1 +1 90], [-1 -1 180], [+1 -1 270]]) { + translate([ p[0]*50, p[1]*50, 0 ]) + rotate(p[2], [0 0 1]) + edgeprofile(); + } + } + for (i = [ + [ 0, 0, [ [0 0] ] ], + [ 90, 0, [ [-20 -20], [+20 +20] ] ], + [ 180, 0, [ [-20 -25], [-20 0], [-20 +25], [+20 -25], [+20 0], [+20 +25] ] ], + [ 270, 0, [ [0 0], [-25 -25], [+25 -25], [-25 +25], [+25 +25] ] ], + [ 0, 90, [ [-25 -25], [0 0], [+25 +25] ] ], + [ 0, -90, [ [-25 -25], [+25 -25], [-25 +25], [+25 +25] ] ] + ]) { + rotate(i[0], [0 0 1]) rotate(i[1], [1 0 0]) translate([0 -50 0]) + for (j = i[2]) + translate([j[0], 0, j[1]]) sphere(10); + } + } +} + +example006(); + |