From cef1c1fd9321bee48fa91c4ce528b3365726bb1f Mon Sep 17 00:00:00 2001 From: mmcw-dev Date: Tue, 2 Jan 2018 01:13:09 -0500 Subject: [PATCH] All work to date on hardware. Made connectors, started carriage and re-started light. --- scad/carriage.scad | 46 ++++++++++++++-- scad/light.scad | 131 +++++++++++++++++++++++++++++---------------- scad/mcopy.scad | 11 +++- scad/plates.scad | 9 +++- 4 files changed, 146 insertions(+), 51 deletions(-) diff --git a/scad/carriage.scad b/scad/carriage.scad index 7794bff..bdec0ac 100644 --- a/scad/carriage.scad +++ b/scad/carriage.scad @@ -87,8 +87,8 @@ module carriage_handle () { cylinder(r = 18 / 2, h = 25.4 / 2, center = true, $fn = 60); cylinder(r = 12 / 2, h = (25.4 / 2) + 1, center = true, $fn = 60); } - translate([20, 0, 20 - 4]) cylinder(r2 = 4, r1 = 3, h = 8, center = true, $fn = 100); - translate([20, 0, 20]) sphere(r = 4, center = true, $fn = 100); + translate([20, 0, 20 - 2]) cylinder(r2 = 5, r1 = 4, h = 12, center = true, $fn = 100); + translate([20, 0, 24]) sphere(r = 5, center = true, $fn = 100); } @@ -106,9 +106,49 @@ module carriage_assembled () { } -carriage_assembled(); +//carriage_assembled(); +module carriage_join_tab () { + translate([0, 5, 0]) difference () { + cube([100, 10, 20], center = true); + translate([0, 0, 20]) rotate([30, 0, 0]) cube([100, 40, 20], center = true); + translate([0, 0, -20]) rotate([-30, 0, 0]) cube([100, 40, 20], center = true); + } +} +module carriage_end_HALF (side = true) { + difference () { + carriage_end(); + if (side){ + difference () { + translate([0, 100, 0]) cube([200, 200, 200], center = true); + carriage_join_tab(); + } + } else { + translate([0, -100, 0]) cube([200, 200, 200], center = true); + carriage_join_tab(); + } + } +} + +module carriage_sled_b_HALF(side=true) { + difference () { + carriage_sled_b(); + if (side){ + difference () { + translate([0, 100, 0]) cube([200, 200, 200], center = true); + carriage_join_tab(); + } + } else { + translate([0, -100, 0]) cube([200, 200, 200], center = true); + carriage_join_tab(); + } + } +} + +//carriage_end_HALF(false); +//carriage_sled_b_HALF(); +carriage_handle(); difference () { //carriage_sled_b(); //translate([0, -85, 0]) cube([200, 200, 200], center = true); diff --git a/scad/light.scad b/scad/light.scad index f61dd8a..6ab895d 100644 --- a/scad/light.scad +++ b/scad/light.scad @@ -35,7 +35,7 @@ module pixie_mount () { $fn = 60; W = 0.8 * 25.4; L = 0.78 * 25.4; - Z = 6; + Z = 12; INNER_D = 1.9; @@ -48,28 +48,28 @@ module pixie_mount () { } //pins for mounting pixie - translate ([0, LENS_OFFSET + .5, 0]) rotate([90, 0, 0]) { - translate([W/2, 0, 0]) cylinder(r = INNER_D / 2, h = Z + 1, center = true); - translate([-W/2, 0, 0]) cylinder(r = INNER_D / 2, h = Z + 1, center = true); + translate ([0, -3, 0]) rotate([90, 0, 0]) { + translate([W/2, 0, -2]) cylinder(r = INNER_D / 2, h = Z + 1, center = true); + translate([-W/2, 0, -2]) cylinder(r = INNER_D / 2, h = Z + 1, center = true); - translate([W/2, 0, -(Z / 2)]) cylinder(r = 2, h = Z, center = true); - translate([-W/2, 0, -(Z / 2)]) cylinder(r = 2, h = Z, center = true); + translate([W/2, 0, -(Z / 2) + 2]) cylinder(r = 2.2, h = Z, center = true); + translate([-W/2, 0, -(Z / 2) + 2]) cylinder(r = 2.2, h = Z, center = true); translate([W/2, 0, -Z + (Z / 4)]) cylinder(r = 4, h = Z/2, center = true); translate([-W/2, 0, -Z + (Z / 4)]) cylinder(r = 4, h = Z/2, center = true); translate([W/2, 0, -1]) { difference () { - cylinder(r = 4, h = Z, center = true); - cylinder(r = 2.2, h = 10, center = true); - translate([-5, 0, 0]) cube([10, 10, 10], center = true); + translate([0, 0, -1]) cylinder(r = 4, h = Z, center = true); + cylinder(r = 2.2, h = 20, center = true); + translate([-5, 0, 11]) cube([10, 10, 20], center = true); } } translate([-W/2, 0, -1]) { difference () { - cylinder(r = 4, h = Z, center = true); - cylinder(r = 2.2, h = 10, center = true); - translate([5, 0, 0]) cube([10, 10, 10], center = true); + translate([0, 0, -1]) cylinder(r = 4, h = Z, center = true); + cylinder(r = 2.2, h = 20, center = true); + translate([5, 0, 11]) cube([10, 10, 20], center = true); } } } @@ -77,59 +77,100 @@ module pixie_mount () { //outer shell surrounding pixie translate ([0, -1 + LENS_OFFSET, -6]) { difference () { - rounded_cube([W + 16, 19, W], d = 4, center = true); - rounded_cube([(W + 16) - 4, 19 - 4, W + 1], d = 4, center = true); - + translate([0, 0, 6]) rounded_cube([W + 16, 36, 32], d = 6, center = true); + translate([0, 0, 6]) rounded_cube([(W + 16) - 4, 36 - 4, 32 + 1], d = 4, center = true); translate([0, -8, 8]) rotate([90, 0, 0]) cylinder(r = 10, h = 5, center = true);//circular void translate([0, -50, 0]) cube([100, 100, 100], center = true); //half //wires - translate([0, 0, -5]) cube([10, 20, 5], center = true); + translate([0, 0, -3]) cube([10, 40, 5], center = true); } } +} + +module diffuser_mount () { + $fn = 100; + W = 0.8 * 25.4; + translate ([0, 0, -6]) { + difference () { + translate([0, 0, 6]) rounded_cube([W + 16, 36, 32], d = 6, center = true); + translate([0, 0, 6]) rounded_cube([(W + 16) - 4, 36 - 4, 32 + 1], d = 4, center = true); + translate([0, -8, 8]) rotate([90, 0, 0]) cylinder(r = 10, h = 5, center = true);//circular void + translate([0, 50, 0]) cube([100, 100, 100], center = true); //half + + translate ([0, -18, 6]) rotate([90, 90, 0]) cylinder(r = 30 / 2, h = 20, center = true); + } + } + translate ([0, -15.5, 0]) rotate([90, 90, 0]) { + difference () { + cylinder(r = 30 / 2, h = 5, center = true); + cylinder(r = 28 / 2, h = 5 + 1, center = true); + } + } +} + +module diffuser_spacer () { + $fn = 100; + LEN = 10; + difference () { + cylinder(r = 27.9 / 2, h = LEN, center = true); + cylinder(r = 24 / 2, h = LEN + 1, center = true); + translate([0, 0, (LEN / 2) - (2/2) ]) cylinder(r = 26 / 2, h = 2, center = true); + } +} + +module diffuser_insert () { + $fn = 100; + cylinder(r = 26 / 2, h = 2, center = true); +} + +module light_body () { + FAN_W = 50; + FAN_Z = 10; + $fn = 60; + translate([-8, 8, 0]) difference() { + rounded_cube([FAN_W + 8, FAN_W + 8, FAN_Z], d = 6, center = true); + rounded_cube([FAN_W + 1, FAN_W + 1, FAN_Z + 1], d = 4, center = true); + } //trapezoid connector to the fan - /*translate ([0, -1, -46]) { + translate ([0, 0, (FAN_Z / 2) + (30 / 2) + 15]) { difference () { hull () { - translate([0, 0, 30]) - translate([0, LENS_OFFSET, 0]) rounded_cube([W + 10, 15, 0.1], d = 4, center = true); - rounded_cube([FAN_W, FAN_W, 0.1], d = 4, center = true); - + rounded_cube([40, 40, 0.1], d = 6, center = true); + translate([-8, 8, -30]) rounded_cube([FAN_W + 8, FAN_W + 8, 0.1], d = 6, center = true); } - hull () { - translate([0, 0, 30]) - translate([0, LENS_OFFSET, 0]) rounded_cube([W + 10 - 2, 15 - 2, 0.1], d = 4, center = true); - rounded_cube([FAN_W - 2, FAN_W - 2, 0.1], d = 4, center = true); - + translate([0, 0, 0.1]) hull () { + rounded_cube([32, 32, 0.1], d = 4, center = true); + translate([-8, 8, -30.2]) + //cylinder(r = (FAN_W - 8) / 2, h = 30.2, center = true); + rounded_cube([FAN_W - 8, FAN_W - 8, 0.1], d = 20, center = true); } } } - - //fan lid - translate ([0, -1, -48.5]) { - difference () { - rounded_cube([FAN_W, FAN_W, 5], d = 4, center = true); - rounded_cube([FAN_W - 2, FAN_W - 2, 5 + 1], d = 4, center = true); - } - }*/ + translate([0, 0, 34]) difference () { + rounded_cube([36+4, 36+4, 10], d = 6, center = true); + rounded_cube([36, 36, 10 + 1], d = 6, center = true); + translate([0, -15, 51 - 34]) rotate([90, 0, 0]) cylinder(r = 30 / 2, h = 20, h = 20, center = true); + } + } -module diffuser_mount (DEBUG = false) { - - translate ([-30, 0, 0]) { - if (DEBUG){ - rotate([0, 90, 0]) diffuser(); +module light_vent_top () { + $fn = 60; + difference () { + rounded_cube([36+4, 36+4, 10], d = 6, center = true); + rounded_cube([36, 36, 10 + 1], d = 6, center = true); + } + translate([0, 0, 1]) difference() { + rounded_cube([36+2, 36+2, 8], d = 6, center = true); + for (i = [0:5]) { + translate([i * 6, 0, 0]) rotate([0, -40, 0]) cube([4, 36 + 3, 12], center = true); + translate([(i + 1) * -6, 0, 0]) rotate([0, -40, 0]) cube([4, 36 + 3, 12], center = true); } } } -module diffuser () { - W = 20; - THICKNESS = 4; - cube([W, W, THICKNESS], center = true); -} - module fan () { $fn = 60; FAN_W = 50; diff --git a/scad/mcopy.scad b/scad/mcopy.scad index 03ecd19..0a8dfe2 100644 --- a/scad/mcopy.scad +++ b/scad/mcopy.scad @@ -1,4 +1,13 @@ include <./bellows.scad>; include <./connectors.scad>; include <./light.scad>; -include <./motor.scad>; \ No newline at end of file +include <./motor.scad>; + +//rotate([90, 0, 0]) color("red") adafruit_pixie(); +//translate([0, 6, 0]) pixie_mount(); +//translate([0, 0, -50]) color("red") fan(); +color("green") diffuser_mount(); +//translate([0, 0, -51.2]) light_body(); +//translate([0, 0, 20]) light_vent_top(); +//translate ([0, -20, 0]) rotate([90, 90, 0]) color("red") diffuser_insert(); +//translate ([0, -20, 0]) rotate([90, 90, 0]) color("red") diffuser_spacer(); \ No newline at end of file diff --git a/scad/plates.scad b/scad/plates.scad index 337540b..1b15287 100644 --- a/scad/plates.scad +++ b/scad/plates.scad @@ -14,7 +14,10 @@ module connectors_plate () { translate([0, 0, 12]) female_jk103(); } -module light_plate () {} +module light_plate () { + //adafruit_pixie(); + rotate([-90, 0, 0]) pixie_mount(); +} module motor_plate () {} @@ -33,7 +36,9 @@ module motor_plate () {} //connectors_plate(); //light.scad - +//adafruit_pixie(); +//pixie_mount(); +light_vent_top(); //light_plate(); //motor.scad