1041 lines
28 KiB
OpenSCAD
1041 lines
28 KiB
OpenSCAD
// Generated by SolidPython 1.0.5 on 2021-02-11 15:42:56
|
|
|
|
|
|
union() {
|
|
difference() {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
|
|
}
|
|
}
|
|
translate(v = [1.5000000000, 1.5000000000, 1.5000000000]) {
|
|
union() {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
union() {
|
|
rotate(a = [0, -90, 0]) {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
}
|
|
translate(v = [56, 0, 0]) {
|
|
rotate(a = [0, -90, 0]) {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
translate(v = [0, 59, 0]) {
|
|
rotate(a = [0, 0, -90]) {
|
|
difference() {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
|
|
}
|
|
}
|
|
translate(v = [1.5000000000, 1.5000000000, 1.5000000000]) {
|
|
union() {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
union() {
|
|
rotate(a = [0, -90, 0]) {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
}
|
|
translate(v = [56, 0, 0]) {
|
|
rotate(a = [0, -90, 0]) {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
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], [1.5000000000, 0], [0, 1.5000000000]]);
|
|
}
|
|
}
|
|
translate(v = [1.5000000000, 1.5000000000, 1.5000000000]) {
|
|
union() {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
union() {
|
|
rotate(a = [0, -90, 0]) {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
}
|
|
translate(v = [56, 0, 0]) {
|
|
rotate(a = [0, -90, 0]) {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
translate(v = [0, 59, 0]) {
|
|
rotate(a = [0, 0, -90]) {
|
|
difference() {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
|
|
}
|
|
}
|
|
translate(v = [1.5000000000, 1.5000000000, 1.5000000000]) {
|
|
union() {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
union() {
|
|
rotate(a = [0, -90, 0]) {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
}
|
|
translate(v = [56, 0, 0]) {
|
|
rotate(a = [0, -90, 0]) {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
translate(v = [0, 0, 0]) {
|
|
union() {
|
|
difference() {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
|
|
}
|
|
}
|
|
translate(v = [1.5000000000, 1.5000000000, 1.5000000000]) {
|
|
union() {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
union() {
|
|
rotate(a = [0, -90, 0]) {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
}
|
|
translate(v = [56, 0, 0]) {
|
|
rotate(a = [0, -90, 0]) {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
translate(v = [0, 59, 0]) {
|
|
rotate(a = [0, 0, -90]) {
|
|
difference() {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
|
|
}
|
|
}
|
|
translate(v = [1.5000000000, 1.5000000000, 1.5000000000]) {
|
|
union() {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
union() {
|
|
rotate(a = [0, -90, 0]) {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
}
|
|
translate(v = [56, 0, 0]) {
|
|
rotate(a = [0, -90, 0]) {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
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], [1.5000000000, 0], [0, 1.5000000000]]);
|
|
}
|
|
}
|
|
translate(v = [1.5000000000, 1.5000000000, 1.5000000000]) {
|
|
union() {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
union() {
|
|
rotate(a = [0, -90, 0]) {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
}
|
|
translate(v = [56, 0, 0]) {
|
|
rotate(a = [0, -90, 0]) {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
translate(v = [0, 59, 0]) {
|
|
rotate(a = [0, 0, -90]) {
|
|
difference() {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
|
|
}
|
|
}
|
|
translate(v = [1.5000000000, 1.5000000000, 1.5000000000]) {
|
|
union() {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
union() {
|
|
rotate(a = [0, -90, 0]) {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
}
|
|
translate(v = [56, 0, 0]) {
|
|
rotate(a = [0, -90, 0]) {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
translate(v = [0, 59, 0]) {
|
|
union() {
|
|
difference() {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
|
|
}
|
|
}
|
|
translate(v = [1.5000000000, 1.5000000000, 1.5000000000]) {
|
|
union() {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
union() {
|
|
rotate(a = [0, -90, 0]) {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
}
|
|
translate(v = [56, 0, 0]) {
|
|
rotate(a = [0, -90, 0]) {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
translate(v = [0, 59, 0]) {
|
|
rotate(a = [0, 0, -90]) {
|
|
difference() {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
|
|
}
|
|
}
|
|
translate(v = [1.5000000000, 1.5000000000, 1.5000000000]) {
|
|
union() {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
union() {
|
|
rotate(a = [0, -90, 0]) {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
}
|
|
translate(v = [56, 0, 0]) {
|
|
rotate(a = [0, -90, 0]) {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
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], [1.5000000000, 0], [0, 1.5000000000]]);
|
|
}
|
|
}
|
|
translate(v = [1.5000000000, 1.5000000000, 1.5000000000]) {
|
|
union() {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
union() {
|
|
rotate(a = [0, -90, 0]) {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
}
|
|
translate(v = [56, 0, 0]) {
|
|
rotate(a = [0, -90, 0]) {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
translate(v = [0, 59, 0]) {
|
|
rotate(a = [0, 0, -90]) {
|
|
difference() {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
|
|
}
|
|
}
|
|
translate(v = [1.5000000000, 1.5000000000, 1.5000000000]) {
|
|
union() {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
union() {
|
|
rotate(a = [0, -90, 0]) {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
}
|
|
translate(v = [56, 0, 0]) {
|
|
rotate(a = [0, -90, 0]) {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
translate(v = [0, 118, 0]) {
|
|
union() {
|
|
difference() {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
|
|
}
|
|
}
|
|
translate(v = [1.5000000000, 1.5000000000, 1.5000000000]) {
|
|
union() {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
union() {
|
|
rotate(a = [0, -90, 0]) {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
}
|
|
translate(v = [56, 0, 0]) {
|
|
rotate(a = [0, -90, 0]) {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
translate(v = [0, 59, 0]) {
|
|
rotate(a = [0, 0, -90]) {
|
|
difference() {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
|
|
}
|
|
}
|
|
translate(v = [1.5000000000, 1.5000000000, 1.5000000000]) {
|
|
union() {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
union() {
|
|
rotate(a = [0, -90, 0]) {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
}
|
|
translate(v = [56, 0, 0]) {
|
|
rotate(a = [0, -90, 0]) {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
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], [1.5000000000, 0], [0, 1.5000000000]]);
|
|
}
|
|
}
|
|
translate(v = [1.5000000000, 1.5000000000, 1.5000000000]) {
|
|
union() {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
union() {
|
|
rotate(a = [0, -90, 0]) {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
}
|
|
translate(v = [56, 0, 0]) {
|
|
rotate(a = [0, -90, 0]) {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
translate(v = [0, 59, 0]) {
|
|
rotate(a = [0, 0, -90]) {
|
|
difference() {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
|
|
}
|
|
}
|
|
translate(v = [1.5000000000, 1.5000000000, 1.5000000000]) {
|
|
union() {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
union() {
|
|
rotate(a = [0, -90, 0]) {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
}
|
|
translate(v = [56, 0, 0]) {
|
|
rotate(a = [0, -90, 0]) {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
translate(v = [59, 0, 0]) {
|
|
union() {
|
|
difference() {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
|
|
}
|
|
}
|
|
translate(v = [1.5000000000, 1.5000000000, 1.5000000000]) {
|
|
union() {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
union() {
|
|
rotate(a = [0, -90, 0]) {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
}
|
|
translate(v = [56, 0, 0]) {
|
|
rotate(a = [0, -90, 0]) {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
translate(v = [0, 59, 0]) {
|
|
rotate(a = [0, 0, -90]) {
|
|
difference() {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
|
|
}
|
|
}
|
|
translate(v = [1.5000000000, 1.5000000000, 1.5000000000]) {
|
|
union() {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
union() {
|
|
rotate(a = [0, -90, 0]) {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
}
|
|
translate(v = [56, 0, 0]) {
|
|
rotate(a = [0, -90, 0]) {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
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], [1.5000000000, 0], [0, 1.5000000000]]);
|
|
}
|
|
}
|
|
translate(v = [1.5000000000, 1.5000000000, 1.5000000000]) {
|
|
union() {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
union() {
|
|
rotate(a = [0, -90, 0]) {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
}
|
|
translate(v = [56, 0, 0]) {
|
|
rotate(a = [0, -90, 0]) {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
translate(v = [0, 59, 0]) {
|
|
rotate(a = [0, 0, -90]) {
|
|
difference() {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
|
|
}
|
|
}
|
|
translate(v = [1.5000000000, 1.5000000000, 1.5000000000]) {
|
|
union() {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
union() {
|
|
rotate(a = [0, -90, 0]) {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
}
|
|
translate(v = [56, 0, 0]) {
|
|
rotate(a = [0, -90, 0]) {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
translate(v = [59, 59, 0]) {
|
|
union() {
|
|
difference() {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
|
|
}
|
|
}
|
|
translate(v = [1.5000000000, 1.5000000000, 1.5000000000]) {
|
|
union() {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
union() {
|
|
rotate(a = [0, -90, 0]) {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
}
|
|
translate(v = [56, 0, 0]) {
|
|
rotate(a = [0, -90, 0]) {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
translate(v = [0, 59, 0]) {
|
|
rotate(a = [0, 0, -90]) {
|
|
difference() {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
|
|
}
|
|
}
|
|
translate(v = [1.5000000000, 1.5000000000, 1.5000000000]) {
|
|
union() {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
union() {
|
|
rotate(a = [0, -90, 0]) {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
}
|
|
translate(v = [56, 0, 0]) {
|
|
rotate(a = [0, -90, 0]) {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
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], [1.5000000000, 0], [0, 1.5000000000]]);
|
|
}
|
|
}
|
|
translate(v = [1.5000000000, 1.5000000000, 1.5000000000]) {
|
|
union() {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
union() {
|
|
rotate(a = [0, -90, 0]) {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
}
|
|
translate(v = [56, 0, 0]) {
|
|
rotate(a = [0, -90, 0]) {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
translate(v = [0, 59, 0]) {
|
|
rotate(a = [0, 0, -90]) {
|
|
difference() {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
|
|
}
|
|
}
|
|
translate(v = [1.5000000000, 1.5000000000, 1.5000000000]) {
|
|
union() {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
union() {
|
|
rotate(a = [0, -90, 0]) {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
}
|
|
translate(v = [56, 0, 0]) {
|
|
rotate(a = [0, -90, 0]) {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
translate(v = [59, 118, 0]) {
|
|
union() {
|
|
difference() {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
|
|
}
|
|
}
|
|
translate(v = [1.5000000000, 1.5000000000, 1.5000000000]) {
|
|
union() {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
union() {
|
|
rotate(a = [0, -90, 0]) {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
}
|
|
translate(v = [56, 0, 0]) {
|
|
rotate(a = [0, -90, 0]) {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
translate(v = [0, 59, 0]) {
|
|
rotate(a = [0, 0, -90]) {
|
|
difference() {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
|
|
}
|
|
}
|
|
translate(v = [1.5000000000, 1.5000000000, 1.5000000000]) {
|
|
union() {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
union() {
|
|
rotate(a = [0, -90, 0]) {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
}
|
|
translate(v = [56, 0, 0]) {
|
|
rotate(a = [0, -90, 0]) {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
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], [1.5000000000, 0], [0, 1.5000000000]]);
|
|
}
|
|
}
|
|
translate(v = [1.5000000000, 1.5000000000, 1.5000000000]) {
|
|
union() {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
union() {
|
|
rotate(a = [0, -90, 0]) {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
}
|
|
translate(v = [56, 0, 0]) {
|
|
rotate(a = [0, -90, 0]) {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
translate(v = [0, 59, 0]) {
|
|
rotate(a = [0, 0, -90]) {
|
|
difference() {
|
|
rotate(a = [90, 0, 90]) {
|
|
linear_extrude(height = 59) {
|
|
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
|
|
}
|
|
}
|
|
translate(v = [1.5000000000, 1.5000000000, 1.5000000000]) {
|
|
union() {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
union() {
|
|
rotate(a = [0, -90, 0]) {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
}
|
|
translate(v = [56, 0, 0]) {
|
|
rotate(a = [0, -90, 0]) {
|
|
minkowski() {
|
|
cube(size = [56.0000000000, 0.0001000000, 0.0001000000]);
|
|
sphere($fn = 36, r = 1.5000000000);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
/***********************************************
|
|
********* SolidPython code: **********
|
|
************************************************
|
|
|
|
#! /bin/python
|
|
import solid as scad
|
|
import solid.utils as su
|
|
import math
|
|
import numpy as np
|
|
|
|
def grid(x, y, w=3, h=1.5, fillet=False):
|
|
dim = 59
|
|
|
|
if w > h*2:
|
|
out = scad.polygon([[0,0], [w/2, 0], [w/2-h, h], [0, h]])
|
|
else:
|
|
out = scad.polygon([[0,0], [w/2, 0], [0, h]])
|
|
out = scad.linear_extrude(dim)(out)
|
|
out = scad.rotate([90, 0, 90])(out)
|
|
|
|
if fillet:
|
|
scallop = scad.cube([dim-2*h - (w-2*h),.0001,.0001])
|
|
scallop = scad.minkowski()(
|
|
scallop,
|
|
scad.sphere(r=h, segments=36)
|
|
)
|
|
scallop += scad.rotate([0, -90, 0])(scallop) + scad.translate([dim-w, 0, 0])(scad.rotate([0, -90, 0])(scallop))
|
|
scallop = scad.translate([w/2, w/2, h])(scallop)
|
|
out -= scallop
|
|
|
|
out += scad.translate([0, dim, 0])(scad.rotate([0, 0, -90])(out))
|
|
out += scad.translate([dim, dim, 0])(scad.rotate([0, 0, 180])(out))
|
|
|
|
result = out
|
|
for dx in range(x):
|
|
for dy in range(y):
|
|
result += scad.translate([dim*dx, dim*dy, 0])(out)
|
|
|
|
return result
|
|
|
|
if __name__ == "__main__":
|
|
scad.scad_render_to_file(grid(2, 3, fillet=True), "grid.scad")
|
|
|
|
|
|
************************************************/
|