commit ff15b40ab3944eec2a6039cdd6ea2112e3e41197 Author: Ian Gulliver Date: Sun Jul 12 11:43:06 2026 -0700 Initial import diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..8504958 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,4 @@ +*.stl filter=lfs diff=lfs merge=lfs -text +*.STL filter=lfs diff=lfs merge=lfs -text +*.3mf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text diff --git a/Audio Box/Audio Box.scad b/Audio Box/Audio Box.scad new file mode 100644 index 0000000..c41a63f --- /dev/null +++ b/Audio Box/Audio Box.scad @@ -0,0 +1,74 @@ +$fn = 100; + +difference() { + color("grey") + cube([100, 50, 4.65]); + + translate([15, 25, -0.05]) + cylinder(h=4.75, d=8.1); + + translate([25, 25, -0.05]) + cylinder(h=4.75, d=8.1); + + translate([20, 16.5, -0.05]) + cylinder(h=4.75, d=8.1); + + translate([20, 22.5, 0]) + xlr(); +} + +translate([15, 25, 0]) +jack(); + +translate([25, 25, 0]) +jack(); + +translate([20, 16.5, 0]) +jack(); + +translate([20, 22.5, 0]) +xlr(); + +module jack() { + difference() { + union() { + color("darkgrey") + translate([0, 0, -11.70]) + cylinder(h=16.35, d=8); + + color("darkgrey") + translate([0, 0, -1.5]) + cylinder(h=1.5, d=10); + } + + translate([0, 0, -10.34]) + cylinder(h=15, d=3.6); + } +} + +module xlr() { + translate([0, 0, 4.20]) { + difference() { + color("white") + cylinder(h=0.5, d=28); + + translate([0, 0, -0.05]) + cylinder(h=0.6, d=27); + } + + color("blue") + translate([-9, 8.5, 0.4]) + scale([1, 1, 0.1]) + text(text="1", size=2, font="JetBrains Mono", direction="ttb"); + + color("red") + translate([9, 8.5, 0.4]) + scale([1, 1, 0.1]) + text(text="2", size=2, font="JetBrains Mono", direction="ttb"); + + color("white") + translate([4, -8.5, 0.4]) + scale([1, 1, 0.1]) + text(text="3", size=2, font="JetBrains Mono", direction="ttb"); + } +} \ No newline at end of file diff --git a/DMM8 Knob/DMM8 Knob v2.stl b/DMM8 Knob/DMM8 Knob v2.stl new file mode 100644 index 0000000..f048ba1 --- /dev/null +++ b/DMM8 Knob/DMM8 Knob v2.stl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fcf3140f766828c510ca3dcfc0ea7fe18dc4bf101197cee925c0f2b00ea731d2 +size 1045284 diff --git a/DMM8 Knob/DMM8 Knob v2_0.4n_0.1mm_ABS_MK4IS_32m.bgcode b/DMM8 Knob/DMM8 Knob v2_0.4n_0.1mm_ABS_MK4IS_32m.bgcode new file mode 100644 index 0000000..c1e3e88 Binary files /dev/null and b/DMM8 Knob/DMM8 Knob v2_0.4n_0.1mm_ABS_MK4IS_32m.bgcode differ diff --git a/DMM8 Knob/DMM8 Knob v3.stl b/DMM8 Knob/DMM8 Knob v3.stl new file mode 100644 index 0000000..419e334 --- /dev/null +++ b/DMM8 Knob/DMM8 Knob v3.stl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:80614c4006eae8fd44ad71127c5195f85d199856cadf0e0e1ed58fddf55de460 +size 1044884 diff --git a/DMM8 Knob/DMM8 Knob v3_0.4n_0.1mm_ABS_MK4IS_32m.bgcode b/DMM8 Knob/DMM8 Knob v3_0.4n_0.1mm_ABS_MK4IS_32m.bgcode new file mode 100644 index 0000000..a68606d Binary files /dev/null and b/DMM8 Knob/DMM8 Knob v3_0.4n_0.1mm_ABS_MK4IS_32m.bgcode differ diff --git a/DMM8 Knob/DMM8 Knob v4.stl b/DMM8 Knob/DMM8 Knob v4.stl new file mode 100644 index 0000000..6ca8ec4 --- /dev/null +++ b/DMM8 Knob/DMM8 Knob v4.stl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:860117804b48d169328a490e82608fea8f0e507c4662f771aeb3635a8067f99d +size 1056884 diff --git a/DMM8 Knob/DMM8 Knob v4_0.4n_0.1mm_ABS_MK4IS_32m.bgcode b/DMM8 Knob/DMM8 Knob v4_0.4n_0.1mm_ABS_MK4IS_32m.bgcode new file mode 100644 index 0000000..4c9ca57 Binary files /dev/null and b/DMM8 Knob/DMM8 Knob v4_0.4n_0.1mm_ABS_MK4IS_32m.bgcode differ diff --git a/DMM8 Knob/DMM8 Knob.scad b/DMM8 Knob/DMM8 Knob.scad new file mode 100644 index 0000000..e55f0f7 --- /dev/null +++ b/DMM8 Knob/DMM8 Knob.scad @@ -0,0 +1,54 @@ +$fn=100; + +difference() { + cylinder(h=5, d=11); + + translate([0, 0, -0.1]) + cylinder(h=5.1, d=6); +} + +cylinder(h=5, d=1); + +color("blue") +translate([-3, 1.5, 0]) +cube([6, 2, 5]); + +color("red") +translate([0, 0, 5]) +cylinder(h=1, d=15); + +translate([0, 0, 6]) +cylinder(h=18, d1=7, d2=6); + +color("green") +union() { + for(r = [0 : 15 : 345]) { + rotate([0, 0, r]) + translate([0, 3.5, 6]) + rotate([1.6, 0, 0]) + scale([1.2, 1, 1]) + cylinder(h=18, d=0.5); + } +} + +color("teal") +translate([0, 0, 24]) +scale([1, 1, 0.15]) +sphere(d=6.5); + +color("pink") +difference() { + translate([0, 0, 3]) + cylinder(h=2, r=7.5); + + translate([0, 0, 3]) + torus(r1=5.5, r2=9.5); + + translate([0, 0, -0.1]) + cylinder(h=5.1, d=6); +} + +module torus(r1, r2) { + r=(r2-r1)/2; + rotate_extrude() translate([r1+r,0,0]) circle(r); +} \ No newline at end of file diff --git a/DMM8 Knob/DMM8 Knob.stl b/DMM8 Knob/DMM8 Knob.stl new file mode 100644 index 0000000..27ae772 --- /dev/null +++ b/DMM8 Knob/DMM8 Knob.stl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d25ac401fbce27d29861e4ea46bdb55b8b78cffa0a4c8a503ae77aa9f46609ff +size 1056884 diff --git a/DMM8 Knob/DMM8 Knob_0.4n_0.1mm_ABS_MK4IS_33m.bgcode b/DMM8 Knob/DMM8 Knob_0.4n_0.1mm_ABS_MK4IS_33m.bgcode new file mode 100644 index 0000000..682bbf9 Binary files /dev/null and b/DMM8 Knob/DMM8 Knob_0.4n_0.1mm_ABS_MK4IS_33m.bgcode differ diff --git a/crate tag/cratetag.scad b/crate tag/cratetag.scad new file mode 100644 index 0000000..1bcb735 --- /dev/null +++ b/crate tag/cratetag.scad @@ -0,0 +1,62 @@ +// card: 38 x 76 +// 1.5 corner radius +// 3.5 hole 2 from edge + +$fn = 500; + + +card_x = 76; +card_y = 38; +card_z = 1; +card_cr = 1.5; +card_hole_inset = 2; +card_hole_r = 1.75; +card_hole_top_r = 3.75; + +border = 1; +overhang = 1; +base = 0.6; +top = 0.6; +cr = 1; +incline = 1.3; + +e = 0.02; + +difference() { + // Outer shape + hull() + for (x=[-1, 1], y=[-1, 1]) { + translate([x * ((card_x / 2) + border), y * ((card_y / 2) + border), 0]) { + cylinder(h=(base + card_z + top - cr), r1=(incline * cr), r2=cr); + + translate([0, 0, base + card_z + top - cr]) + sphere(r=cr); + } + } + + // Card cutout + hull() + for (x=[-1, 1], y=[-1, 1]) { + translate([x * ((card_x / 2) - card_cr), y * ((card_y / 2) - card_cr), base]) + cylinder(h=card_z, r=card_cr); + } + + // Window cutout + hull() + for (x=[-1, 1], y=[-1, 1]) { + translate([x * ((card_x / 2) - overhang - cr), y * ((card_y / 2) - overhang - cr), base]) { + cylinder(h=(card_z + top + e), r=cr); + } + } + + + // Holes + for (x=[-1, 1]) { + translate([x * ((card_x / 2) - card_hole_inset - card_hole_r), 0, -e]) { + cylinder(h=(e + base + card_z + top + e), r=card_hole_r); + + translate([0, 0, base + card_z]) + cylinder(h=(e + top + e), r=card_hole_top_r); + } + } +} \ No newline at end of file diff --git a/crate tag/cratetag.stl b/crate tag/cratetag.stl new file mode 100644 index 0000000..180b851 --- /dev/null +++ b/crate tag/cratetag.stl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d60a67a96e1277fa5b05ff9f08e65a1633815cc6de7407520c944a5f8e6b2ca8 +size 33449569 diff --git a/crate tag/createtag.3mf b/crate tag/createtag.3mf new file mode 100644 index 0000000..f5c9913 --- /dev/null +++ b/crate tag/createtag.3mf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:982fe326443b82e01076c8fdea07cb2a8d04972e812cf3e0b9e025e6fc4b3a05 +size 1239705 diff --git a/dj stand/dj stand.scad b/dj stand/dj stand.scad new file mode 100644 index 0000000..2fcb8c6 --- /dev/null +++ b/dj stand/dj stand.scad @@ -0,0 +1,74 @@ +$fn = 100; + +difference() { + union() { + // Cylinder body + cylinder(h=60, d=50); + + // Base plate + translate([0, -15, 30]) + cube([100, 20, 60], center=true); + + // Cylinder to base joints + translate([-20.5, -12.5, 30]) + cube([9, 25, 60], center=true); + + translate([20.5, -12.5, 30]) + cube([9, 25, 60], center=true); + } + + // Cylinder hole + translate([0, 0, -1]) + cylinder(h=62, d=31); + + // Screw holes + translate([-36, -4, 30]) + rotate([90, 0, 0]) + cylinder(h=22, d=8.2); + + translate([36, -4, 30]) + rotate([90, 0, 0]) + cylinder(h=22, d=8.2); + + // Nut holes + translate([36, -8, 30]) + cube([13, 8, 7.5], center=true); + + translate([36, -8, 30]) + rotate([0, 60, 0]) + cube([13, 8, 7.5], center=true); + + translate([36, -8, 30]) + rotate([0, 120, 0]) + cube([13, 8, 7.5], center=true); + + translate([-36, -8, 30]) + cube([13, 8, 7.5], center=true); + + translate([-36, -8, 30]) + rotate([0, 60, 0]) + cube([13, 8, 7.5], center=true); + + translate([-36, -8, 30]) + rotate([0, 120, 0]) + cube([13, 8, 7.5], center=true); +} + +translate([15.5, 0, 12.5]) +difference() { + rotate([0, 0, 45]) + cube([15, 15, 25], center=true); + + translate([15, 0, 0]) + cube([30, 30, 27], center=true); +} + + +translate([-15.5, 0, 12.5]) +difference() { + rotate([0, 0, 45]) + cube([15, 15, 25], center=true); + + translate([-15, 0, 0]) + cube([30, 30, 27], center=true); +} \ No newline at end of file diff --git a/dj stand/dj stand.stl b/dj stand/dj stand.stl new file mode 100644 index 0000000..6b09756 --- /dev/null +++ b/dj stand/dj stand.stl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7bc2361b737b4403c7458abf59c9423a2e844a5bea0db7ff93815a79320fce92 +size 79884 diff --git a/dj stand/dj stand_0.4n_0.2mm_PLA_XLIS_2h51m LOW INFILL.bgcode b/dj stand/dj stand_0.4n_0.2mm_PLA_XLIS_2h51m LOW INFILL.bgcode new file mode 100644 index 0000000..1d35254 Binary files /dev/null and b/dj stand/dj stand_0.4n_0.2mm_PLA_XLIS_2h51m LOW INFILL.bgcode differ diff --git a/dj stand/dj stand_0.4n_0.2mm_PLA_XLIS_6h33m A.bgcode b/dj stand/dj stand_0.4n_0.2mm_PLA_XLIS_6h33m A.bgcode new file mode 100644 index 0000000..b0a8ca0 Binary files /dev/null and b/dj stand/dj stand_0.4n_0.2mm_PLA_XLIS_6h33m A.bgcode differ