summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
Diffstat (limited to 'examples')
-rw-r--r--examples/example001.scad25
-rw-r--r--examples/example002.scad23
-rw-r--r--examples/example003.scad20
-rw-r--r--examples/example004.scad11
-rw-r--r--examples/example005.scad21
-rw-r--r--examples/example006.scad44
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();
+
contact: Jan Huwald // Impressum