1863 lines
52 KiB
OpenSCAD
1863 lines
52 KiB
OpenSCAD
// Generated by SolidPython 1.0.5 on 2021-02-14 10:24:57
|
|
|
|
|
|
difference() {
|
|
translate(v = [0, 0, 48]) {
|
|
translate(v = [4, 4, 0]) {
|
|
minkowski() {
|
|
cube(size = [110, 169, 11]);
|
|
cylinder($fn = 36, h = 8, r = 4);
|
|
}
|
|
}
|
|
}
|
|
color(alpha = 0.5000000000, c = "red") {
|
|
union() {
|
|
difference() {
|
|
translate(v = [4, 4, 0]) {
|
|
minkowski() {
|
|
cube(size = [110, 169, 44]);
|
|
cylinder($fn = 36, h = 8, r = 4);
|
|
}
|
|
}
|
|
translate(v = [2, 2, 2]) {
|
|
hull() {
|
|
translate(v = [2, 2, 2]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [2, 2, 50]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [2, 171, 2]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [2, 171, 50]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [112, 2, 2]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [112, 2, 50]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [112, 171, 2]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [112, 171, 50]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
}
|
|
union() {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
|
|
}
|
|
}
|
|
translate(v = [0, 59, 0]) {
|
|
rotate(a = [0, 0, -90]) {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
translate(v = [59, 59, 0]) {
|
|
rotate(a = [0, 0, 180]) {
|
|
union() {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
|
|
}
|
|
}
|
|
translate(v = [0, 59, 0]) {
|
|
rotate(a = [0, 0, -90]) {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
translate(v = [0, 0, 0]) {
|
|
union() {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
|
|
}
|
|
}
|
|
translate(v = [0, 59, 0]) {
|
|
rotate(a = [0, 0, -90]) {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
translate(v = [59, 59, 0]) {
|
|
rotate(a = [0, 0, 180]) {
|
|
union() {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
|
|
}
|
|
}
|
|
translate(v = [0, 59, 0]) {
|
|
rotate(a = [0, 0, -90]) {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
translate(v = [0, 59, 0]) {
|
|
union() {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
|
|
}
|
|
}
|
|
translate(v = [0, 59, 0]) {
|
|
rotate(a = [0, 0, -90]) {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
translate(v = [59, 59, 0]) {
|
|
rotate(a = [0, 0, 180]) {
|
|
union() {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
|
|
}
|
|
}
|
|
translate(v = [0, 59, 0]) {
|
|
rotate(a = [0, 0, -90]) {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
translate(v = [0, 118, 0]) {
|
|
union() {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
|
|
}
|
|
}
|
|
translate(v = [0, 59, 0]) {
|
|
rotate(a = [0, 0, -90]) {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
translate(v = [59, 59, 0]) {
|
|
rotate(a = [0, 0, 180]) {
|
|
union() {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
|
|
}
|
|
}
|
|
translate(v = [0, 59, 0]) {
|
|
rotate(a = [0, 0, -90]) {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
translate(v = [59, 0, 0]) {
|
|
union() {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
|
|
}
|
|
}
|
|
translate(v = [0, 59, 0]) {
|
|
rotate(a = [0, 0, -90]) {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
translate(v = [59, 59, 0]) {
|
|
rotate(a = [0, 0, 180]) {
|
|
union() {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
|
|
}
|
|
}
|
|
translate(v = [0, 59, 0]) {
|
|
rotate(a = [0, 0, -90]) {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
translate(v = [59, 59, 0]) {
|
|
union() {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
|
|
}
|
|
}
|
|
translate(v = [0, 59, 0]) {
|
|
rotate(a = [0, 0, -90]) {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
translate(v = [59, 59, 0]) {
|
|
rotate(a = [0, 0, 180]) {
|
|
union() {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
|
|
}
|
|
}
|
|
translate(v = [0, 59, 0]) {
|
|
rotate(a = [0, 0, -90]) {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
translate(v = [59, 118, 0]) {
|
|
union() {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
|
|
}
|
|
}
|
|
translate(v = [0, 59, 0]) {
|
|
rotate(a = [0, 0, -90]) {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
translate(v = [59, 59, 0]) {
|
|
rotate(a = [0, 0, 180]) {
|
|
union() {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
|
|
}
|
|
}
|
|
translate(v = [0, 59, 0]) {
|
|
rotate(a = [0, 0, -90]) {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
intersection() {
|
|
translate(v = [0, 0, 2]) {
|
|
union() {
|
|
difference() {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [3.0000000000, 0], [1.0000000000, 2], [0, 2]]);
|
|
}
|
|
}
|
|
translate(v = [3.0000000000, 3.0000000000, 2]) {
|
|
union() {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
union() {
|
|
rotate(a = [0, -90, 0]) {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
rotate(a = [0, -90, 0]) {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
translate(v = [0, 59, 0]) {
|
|
rotate(a = [0, 0, -90]) {
|
|
difference() {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [3.0000000000, 0], [1.0000000000, 2], [0, 2]]);
|
|
}
|
|
}
|
|
translate(v = [3.0000000000, 3.0000000000, 2]) {
|
|
union() {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
union() {
|
|
rotate(a = [0, -90, 0]) {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
rotate(a = [0, -90, 0]) {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
translate(v = [59, 59, 0]) {
|
|
rotate(a = [0, 0, 180]) {
|
|
union() {
|
|
difference() {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [3.0000000000, 0], [1.0000000000, 2], [0, 2]]);
|
|
}
|
|
}
|
|
translate(v = [3.0000000000, 3.0000000000, 2]) {
|
|
union() {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
union() {
|
|
rotate(a = [0, -90, 0]) {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
rotate(a = [0, -90, 0]) {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
translate(v = [0, 59, 0]) {
|
|
rotate(a = [0, 0, -90]) {
|
|
difference() {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [3.0000000000, 0], [1.0000000000, 2], [0, 2]]);
|
|
}
|
|
}
|
|
translate(v = [3.0000000000, 3.0000000000, 2]) {
|
|
union() {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
union() {
|
|
rotate(a = [0, -90, 0]) {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
rotate(a = [0, -90, 0]) {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
translate(v = [0, 0, 0]) {
|
|
union() {
|
|
difference() {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [3.0000000000, 0], [1.0000000000, 2], [0, 2]]);
|
|
}
|
|
}
|
|
translate(v = [3.0000000000, 3.0000000000, 2]) {
|
|
union() {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
union() {
|
|
rotate(a = [0, -90, 0]) {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
rotate(a = [0, -90, 0]) {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
translate(v = [0, 59, 0]) {
|
|
rotate(a = [0, 0, -90]) {
|
|
difference() {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [3.0000000000, 0], [1.0000000000, 2], [0, 2]]);
|
|
}
|
|
}
|
|
translate(v = [3.0000000000, 3.0000000000, 2]) {
|
|
union() {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
union() {
|
|
rotate(a = [0, -90, 0]) {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
rotate(a = [0, -90, 0]) {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
translate(v = [59, 59, 0]) {
|
|
rotate(a = [0, 0, 180]) {
|
|
union() {
|
|
difference() {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [3.0000000000, 0], [1.0000000000, 2], [0, 2]]);
|
|
}
|
|
}
|
|
translate(v = [3.0000000000, 3.0000000000, 2]) {
|
|
union() {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
union() {
|
|
rotate(a = [0, -90, 0]) {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
rotate(a = [0, -90, 0]) {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
translate(v = [0, 59, 0]) {
|
|
rotate(a = [0, 0, -90]) {
|
|
difference() {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [3.0000000000, 0], [1.0000000000, 2], [0, 2]]);
|
|
}
|
|
}
|
|
translate(v = [3.0000000000, 3.0000000000, 2]) {
|
|
union() {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
union() {
|
|
rotate(a = [0, -90, 0]) {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
rotate(a = [0, -90, 0]) {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
translate(v = [0, 59, 0]) {
|
|
union() {
|
|
difference() {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [3.0000000000, 0], [1.0000000000, 2], [0, 2]]);
|
|
}
|
|
}
|
|
translate(v = [3.0000000000, 3.0000000000, 2]) {
|
|
union() {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
union() {
|
|
rotate(a = [0, -90, 0]) {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
rotate(a = [0, -90, 0]) {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
translate(v = [0, 59, 0]) {
|
|
rotate(a = [0, 0, -90]) {
|
|
difference() {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [3.0000000000, 0], [1.0000000000, 2], [0, 2]]);
|
|
}
|
|
}
|
|
translate(v = [3.0000000000, 3.0000000000, 2]) {
|
|
union() {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
union() {
|
|
rotate(a = [0, -90, 0]) {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
rotate(a = [0, -90, 0]) {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
translate(v = [59, 59, 0]) {
|
|
rotate(a = [0, 0, 180]) {
|
|
union() {
|
|
difference() {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [3.0000000000, 0], [1.0000000000, 2], [0, 2]]);
|
|
}
|
|
}
|
|
translate(v = [3.0000000000, 3.0000000000, 2]) {
|
|
union() {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
union() {
|
|
rotate(a = [0, -90, 0]) {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
rotate(a = [0, -90, 0]) {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
translate(v = [0, 59, 0]) {
|
|
rotate(a = [0, 0, -90]) {
|
|
difference() {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [3.0000000000, 0], [1.0000000000, 2], [0, 2]]);
|
|
}
|
|
}
|
|
translate(v = [3.0000000000, 3.0000000000, 2]) {
|
|
union() {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
union() {
|
|
rotate(a = [0, -90, 0]) {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
rotate(a = [0, -90, 0]) {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
translate(v = [0, 118, 0]) {
|
|
union() {
|
|
difference() {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [3.0000000000, 0], [1.0000000000, 2], [0, 2]]);
|
|
}
|
|
}
|
|
translate(v = [3.0000000000, 3.0000000000, 2]) {
|
|
union() {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
union() {
|
|
rotate(a = [0, -90, 0]) {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
rotate(a = [0, -90, 0]) {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
translate(v = [0, 59, 0]) {
|
|
rotate(a = [0, 0, -90]) {
|
|
difference() {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [3.0000000000, 0], [1.0000000000, 2], [0, 2]]);
|
|
}
|
|
}
|
|
translate(v = [3.0000000000, 3.0000000000, 2]) {
|
|
union() {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
union() {
|
|
rotate(a = [0, -90, 0]) {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
rotate(a = [0, -90, 0]) {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
translate(v = [59, 59, 0]) {
|
|
rotate(a = [0, 0, 180]) {
|
|
union() {
|
|
difference() {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [3.0000000000, 0], [1.0000000000, 2], [0, 2]]);
|
|
}
|
|
}
|
|
translate(v = [3.0000000000, 3.0000000000, 2]) {
|
|
union() {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
union() {
|
|
rotate(a = [0, -90, 0]) {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
rotate(a = [0, -90, 0]) {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
translate(v = [0, 59, 0]) {
|
|
rotate(a = [0, 0, -90]) {
|
|
difference() {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [3.0000000000, 0], [1.0000000000, 2], [0, 2]]);
|
|
}
|
|
}
|
|
translate(v = [3.0000000000, 3.0000000000, 2]) {
|
|
union() {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
union() {
|
|
rotate(a = [0, -90, 0]) {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
rotate(a = [0, -90, 0]) {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
translate(v = [59, 0, 0]) {
|
|
union() {
|
|
difference() {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [3.0000000000, 0], [1.0000000000, 2], [0, 2]]);
|
|
}
|
|
}
|
|
translate(v = [3.0000000000, 3.0000000000, 2]) {
|
|
union() {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
union() {
|
|
rotate(a = [0, -90, 0]) {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
rotate(a = [0, -90, 0]) {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
translate(v = [0, 59, 0]) {
|
|
rotate(a = [0, 0, -90]) {
|
|
difference() {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [3.0000000000, 0], [1.0000000000, 2], [0, 2]]);
|
|
}
|
|
}
|
|
translate(v = [3.0000000000, 3.0000000000, 2]) {
|
|
union() {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
union() {
|
|
rotate(a = [0, -90, 0]) {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
rotate(a = [0, -90, 0]) {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
translate(v = [59, 59, 0]) {
|
|
rotate(a = [0, 0, 180]) {
|
|
union() {
|
|
difference() {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [3.0000000000, 0], [1.0000000000, 2], [0, 2]]);
|
|
}
|
|
}
|
|
translate(v = [3.0000000000, 3.0000000000, 2]) {
|
|
union() {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
union() {
|
|
rotate(a = [0, -90, 0]) {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
rotate(a = [0, -90, 0]) {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
translate(v = [0, 59, 0]) {
|
|
rotate(a = [0, 0, -90]) {
|
|
difference() {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [3.0000000000, 0], [1.0000000000, 2], [0, 2]]);
|
|
}
|
|
}
|
|
translate(v = [3.0000000000, 3.0000000000, 2]) {
|
|
union() {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
union() {
|
|
rotate(a = [0, -90, 0]) {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
rotate(a = [0, -90, 0]) {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
translate(v = [59, 59, 0]) {
|
|
union() {
|
|
difference() {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [3.0000000000, 0], [1.0000000000, 2], [0, 2]]);
|
|
}
|
|
}
|
|
translate(v = [3.0000000000, 3.0000000000, 2]) {
|
|
union() {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
union() {
|
|
rotate(a = [0, -90, 0]) {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
rotate(a = [0, -90, 0]) {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
translate(v = [0, 59, 0]) {
|
|
rotate(a = [0, 0, -90]) {
|
|
difference() {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [3.0000000000, 0], [1.0000000000, 2], [0, 2]]);
|
|
}
|
|
}
|
|
translate(v = [3.0000000000, 3.0000000000, 2]) {
|
|
union() {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
union() {
|
|
rotate(a = [0, -90, 0]) {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
rotate(a = [0, -90, 0]) {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
translate(v = [59, 59, 0]) {
|
|
rotate(a = [0, 0, 180]) {
|
|
union() {
|
|
difference() {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [3.0000000000, 0], [1.0000000000, 2], [0, 2]]);
|
|
}
|
|
}
|
|
translate(v = [3.0000000000, 3.0000000000, 2]) {
|
|
union() {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
union() {
|
|
rotate(a = [0, -90, 0]) {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
rotate(a = [0, -90, 0]) {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
translate(v = [0, 59, 0]) {
|
|
rotate(a = [0, 0, -90]) {
|
|
difference() {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [3.0000000000, 0], [1.0000000000, 2], [0, 2]]);
|
|
}
|
|
}
|
|
translate(v = [3.0000000000, 3.0000000000, 2]) {
|
|
union() {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
union() {
|
|
rotate(a = [0, -90, 0]) {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
rotate(a = [0, -90, 0]) {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
translate(v = [59, 118, 0]) {
|
|
union() {
|
|
difference() {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [3.0000000000, 0], [1.0000000000, 2], [0, 2]]);
|
|
}
|
|
}
|
|
translate(v = [3.0000000000, 3.0000000000, 2]) {
|
|
union() {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
union() {
|
|
rotate(a = [0, -90, 0]) {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
rotate(a = [0, -90, 0]) {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
translate(v = [0, 59, 0]) {
|
|
rotate(a = [0, 0, -90]) {
|
|
difference() {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [3.0000000000, 0], [1.0000000000, 2], [0, 2]]);
|
|
}
|
|
}
|
|
translate(v = [3.0000000000, 3.0000000000, 2]) {
|
|
union() {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
union() {
|
|
rotate(a = [0, -90, 0]) {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
rotate(a = [0, -90, 0]) {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
translate(v = [59, 59, 0]) {
|
|
rotate(a = [0, 0, 180]) {
|
|
union() {
|
|
difference() {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [3.0000000000, 0], [1.0000000000, 2], [0, 2]]);
|
|
}
|
|
}
|
|
translate(v = [3.0000000000, 3.0000000000, 2]) {
|
|
union() {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
union() {
|
|
rotate(a = [0, -90, 0]) {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
rotate(a = [0, -90, 0]) {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
translate(v = [0, 59, 0]) {
|
|
rotate(a = [0, 0, -90]) {
|
|
difference() {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [3.0000000000, 0], [1.0000000000, 2], [0, 2]]);
|
|
}
|
|
}
|
|
translate(v = [3.0000000000, 3.0000000000, 2]) {
|
|
union() {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
union() {
|
|
rotate(a = [0, -90, 0]) {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
rotate(a = [0, -90, 0]) {
|
|
hull() {
|
|
translate(v = [0, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 0, 0]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
translate(v = [2, 2, 2]) {
|
|
hull() {
|
|
translate(v = [2, 2, 2]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [2, 2, 50]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [2, 171, 2]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [2, 171, 50]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [112, 2, 2]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [112, 2, 50]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [112, 171, 2]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [112, 171, 50]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
translate(v = [0, 0.0000000000, 0]) {
|
|
color(alpha = 1.0000000000, c = "yellow") {
|
|
translate(v = [9, 11, 64]) {
|
|
union() {
|
|
minkowski() {
|
|
cube(size = [90.0000000000, 0.0010000000, 3]);
|
|
sphere($fn = 36, r = 7);
|
|
}
|
|
minkowski() {
|
|
translate(v = [90.0000000000, 0, 0]) {
|
|
cube(size = [8.0000000000, 0.0010000000, 3]);
|
|
}
|
|
sphere($fn = 36, r = 9);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
translate(v = [0, 19.4000000000, 0]) {
|
|
color(alpha = 1.0000000000, c = "yellow") {
|
|
translate(v = [9, 11, 64]) {
|
|
union() {
|
|
minkowski() {
|
|
cube(size = [90.0000000000, 0.0010000000, 3]);
|
|
sphere($fn = 36, r = 7);
|
|
}
|
|
minkowski() {
|
|
translate(v = [90.0000000000, 0, 0]) {
|
|
cube(size = [8.0000000000, 0.0010000000, 3]);
|
|
}
|
|
sphere($fn = 36, r = 9);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
translate(v = [0, 38.8000000000, 0]) {
|
|
color(alpha = 1.0000000000, c = "yellow") {
|
|
translate(v = [9, 11, 64]) {
|
|
union() {
|
|
minkowski() {
|
|
cube(size = [90.0000000000, 0.0010000000, 3]);
|
|
sphere($fn = 36, r = 7);
|
|
}
|
|
minkowski() {
|
|
translate(v = [90.0000000000, 0, 0]) {
|
|
cube(size = [8.0000000000, 0.0010000000, 3]);
|
|
}
|
|
sphere($fn = 36, r = 9);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
translate(v = [0, 58.2000000000, 0]) {
|
|
color(alpha = 1.0000000000, c = "yellow") {
|
|
translate(v = [9, 11, 64]) {
|
|
union() {
|
|
minkowski() {
|
|
cube(size = [90.0000000000, 0.0010000000, 3]);
|
|
sphere($fn = 36, r = 7);
|
|
}
|
|
minkowski() {
|
|
translate(v = [90.0000000000, 0, 0]) {
|
|
cube(size = [8.0000000000, 0.0010000000, 3]);
|
|
}
|
|
sphere($fn = 36, r = 9);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
translate(v = [0, 77.6000000000, 0]) {
|
|
color(alpha = 1.0000000000, c = "yellow") {
|
|
translate(v = [9, 11, 64]) {
|
|
union() {
|
|
minkowski() {
|
|
cube(size = [90.0000000000, 0.0010000000, 3]);
|
|
sphere($fn = 36, r = 7);
|
|
}
|
|
minkowski() {
|
|
translate(v = [90.0000000000, 0, 0]) {
|
|
cube(size = [8.0000000000, 0.0010000000, 3]);
|
|
}
|
|
sphere($fn = 36, r = 9);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
translate(v = [0, 97.0000000000, 0]) {
|
|
color(alpha = 1.0000000000, c = "yellow") {
|
|
translate(v = [9, 11, 64]) {
|
|
union() {
|
|
minkowski() {
|
|
cube(size = [90.0000000000, 0.0010000000, 3]);
|
|
sphere($fn = 36, r = 7);
|
|
}
|
|
minkowski() {
|
|
translate(v = [90.0000000000, 0, 0]) {
|
|
cube(size = [8.0000000000, 0.0010000000, 3]);
|
|
}
|
|
sphere($fn = 36, r = 9);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
translate(v = [0, 116.4000000000, 0]) {
|
|
color(alpha = 1.0000000000, c = "yellow") {
|
|
translate(v = [9, 11, 64]) {
|
|
union() {
|
|
minkowski() {
|
|
cube(size = [90.0000000000, 0.0010000000, 3]);
|
|
sphere($fn = 36, r = 7);
|
|
}
|
|
minkowski() {
|
|
translate(v = [90.0000000000, 0, 0]) {
|
|
cube(size = [8.0000000000, 0.0010000000, 3]);
|
|
}
|
|
sphere($fn = 36, r = 9);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
translate(v = [0, 135.8000000000, 0]) {
|
|
color(alpha = 1.0000000000, c = "yellow") {
|
|
translate(v = [9, 11, 64]) {
|
|
union() {
|
|
minkowski() {
|
|
cube(size = [90.0000000000, 0.0010000000, 3]);
|
|
sphere($fn = 36, r = 7);
|
|
}
|
|
minkowski() {
|
|
translate(v = [90.0000000000, 0, 0]) {
|
|
cube(size = [8.0000000000, 0.0010000000, 3]);
|
|
}
|
|
sphere($fn = 36, r = 9);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
translate(v = [0, 155.2000000000, 0]) {
|
|
color(alpha = 1.0000000000, c = "yellow") {
|
|
translate(v = [9, 11, 64]) {
|
|
union() {
|
|
minkowski() {
|
|
cube(size = [90.0000000000, 0.0010000000, 3]);
|
|
sphere($fn = 36, r = 7);
|
|
}
|
|
minkowski() {
|
|
translate(v = [90.0000000000, 0, 0]) {
|
|
cube(size = [8.0000000000, 0.0010000000, 3]);
|
|
}
|
|
sphere($fn = 36, r = 9);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
/***********************************************
|
|
********* SolidPython code: **********
|
|
************************************************
|
|
|
|
# import solidLib as sl
|
|
import solidLib.primitives as slp
|
|
import solidLib.assortment as sla
|
|
import solid as s
|
|
|
|
|
|
s.scad_render_to_file(slp.pill([[0,0,0],[1, 1, 1]], .25), "./docs/files/pill.scad")
|
|
s.scad_render_to_file(slp.rcube([1, 1, 1], .25), "./docs/files/rcube.scad")
|
|
s.scad_render_to_file(slp.rfcube([1, 1, 1], .25), "./docs/files/rfcube.scad")
|
|
|
|
s.scad_render_to_file(sla.bin(1, 1), "./docs/files/bin.scad")
|
|
s.scad_render_to_file(sla.grid(2,3), "docs/files/grid.scad")
|
|
s.scad_render_to_file(sla.grid_inv(2,3), "docs/files/grid_inv.scad")
|
|
|
|
s.scad_render_to_file(sla.toolinlay1(15), "docs/files/toolinlay1.scad")
|
|
s.scad_render_to_file(sla.toolinlay2(15), "docs/files/toolinlay2.scad")
|
|
|
|
|
|
************************************************/
|