549 lines
14 KiB
OpenSCAD
549 lines
14 KiB
OpenSCAD
// Generated by SolidPython 1.0.5 on 2021-02-14 10:24:57
|
|
|
|
|
|
union() {
|
|
difference() {
|
|
translate(v = [4, 4, 0]) {
|
|
minkowski() {
|
|
cube(size = [51, 51, 59]);
|
|
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, 65]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [2, 53, 2]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [2, 53, 65]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 2, 2]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 2, 65]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 53, 2]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 53, 65]) {
|
|
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]]);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
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 = [2, 2, 2]) {
|
|
hull() {
|
|
translate(v = [2, 2, 2]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [2, 2, 65]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [2, 53, 2]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [2, 53, 65]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 2, 2]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 2, 65]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 53, 2]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
translate(v = [53, 53, 65]) {
|
|
sphere($fn = 36, r = 2);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
/***********************************************
|
|
********* 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")
|
|
|
|
|
|
************************************************/
|