3dprint/usb3_conv.scad

64 lines
3.0 KiB
OpenSCAD
Raw Normal View History

2019-03-25 12:31:40 +03:00
// half-case for USB3.0-SATA + 25x15 DC-DC converter
2019-03-25 19:16:02 +03:00
base_h = 2.4;
2019-03-25 22:40:53 +03:00
dcdc_h = 1.4;
2019-03-27 19:39:03 +03:00
usb_h = 1.9;
2019-03-25 19:16:02 +03:00
2019-04-01 02:34:09 +03:00
// assembly
2019-03-25 12:31:40 +03:00
color([0, 0.8, 0]) {
translate([-2-15, 2.5, 0]) cube(size=[15, 25, dcdc_h]);
rotate([0, 0, 0]) {
translate([0, 0, (5-usb_h)]) cube(size=[42, 30, 1.5]);
translate([0.5, 30-14+2, 0]) cube(size=[11, 14, 10]);
translate([42-13.5-12, 30, 0]) cube(size=[12, 2, 8]);
translate([42-13.5-12/2, 40, 8/2]) rotate([90, 0, 0]) cylinder(r=6.5/2, $fn=32, h=8);
translate([42-13.5-12/2, 30, 8/2]) rotate([90, 0, 0]) cylinder(r=5/2, $fn=32, h=3);
translate([0.5+9/2, 40, 10/2]) rotate([90, 0, 0]) cylinder(r=9/2, $fn=32, h=8);
}
2019-03-25 12:31:40 +03:00
}
difference()
{
union()
{
2019-04-01 02:34:09 +03:00
// part 2
color([1, 0.5, 0.5]) {
translate([-2-15+0.2, 0, 5+5.2]) cube(size=[42+2+15-0.4, 30+2*2, 1]);
translate([-2-15+1.2, 0, 5+5.2+1]) cube(size=[42+2+15-2.4, 30+2*2, 1]);
translate([-2-15+1.2, 30+2, 5-5+8/2]) cube(size=[42+2+15-2.4, 2, 5.2+5-8/2]);
translate([-2-15, 30+2, 5-5+8/2]) cube(size=[42+2+15, 2, 5.2+5-8/2-1]);
2019-04-01 02:34:09 +03:00
}
// part 1
union() {
translate([-2*2-15, 0, -base_h]) cube(size=[42+2*3+15, 30+2*2, base_h]);
2019-03-25 12:31:40 +03:00
translate([-2*2-15, 0, -base_h]) cube(size=[2, 30+2*2, 5+base_h+5.2+2]);
translate([-2*2-15, 0, 5+5.2+1]) cube(size=[3, 30+2*2, 1]);
translate([-2*2-15, 0, 5+5.2-1]) cube(size=[3, 30+2*2, 1]);
translate([-2*2-15, 0, -base_h]) cube(size=[2, 30+2*2, 5+base_h+5.2+2]);
translate([-2*2-15, 0, -base_h]) cube(size=[2+0.5, 30+2*2, base_h+dcdc_h+2]);
translate([-2-0.5, 0, -base_h]) cube(size=[2+0.5, 30+2*2, base_h+dcdc_h+2]);
2019-03-25 12:31:40 +03:00
translate([-2, 5, -base_h]) cube(size=[2+1, 11, 5+base_h+2]);
translate([-2, 0, -base_h]) cube(size=[2, 30+2, 5+base_h+2]);
2019-03-25 12:31:40 +03:00
translate([42-1, 5, -base_h]) cube(size=[2+1, 30-5, 5+base_h+2]);
translate([42, 0, -base_h]) cube(size=[2, 30+2*2, 5+base_h+5.2+2]);
translate([42-1, 0, 5+5.2+1]) cube(size=[2+1, 30+2*2, 1]);
translate([42-1, 0, 5+5.2-1]) cube(size=[2+1, 30+2*2, 1]);
2019-03-25 12:31:40 +03:00
translate([42-13.5-12-2, 30-2, -base_h]) cube(size=[12+2*2, 6, 3]);
translate([-2*2-15, 30+2, 0]) cube(size=[42+2*3+15, 2, 8/2]);
2019-04-01 02:34:09 +03:00
translate([42-13, 30, -base_h]) cube(size=[13, 2, 5+base_h+2]);
translate([42-13.5-12-4.5, 30, -base_h]) cube(size=[4, 2, 5+base_h+2]);
2019-04-01 02:34:09 +03:00
}
2019-03-25 12:31:40 +03:00
}
translate([0, -1, 5-usb_h]) cube(size=[42, 30+1, usb_h]);
translate([42/2, 30/2, usb_h-1]) cylinder(r=1, h=base_h+2, $fn=32, center=false);
translate([-2-15.25, -2, 0]) cube(size=[15.5, 30+2+2, dcdc_h]);
translate([42-13.5-12, 30, 0]) cube(size=[12, 2, 8]);
translate([42-13.5-12/2, 40-1, 8/2]) rotate([90, 0, 0]) cylinder(r=6.5/2, $fn=32, h=8+1);
translate([42-13.5-12/2, 30, 8/2]) rotate([90, 0, 0]) cylinder(r=5/2, $fn=32, h=3);
translate([0.5+9/2, 40-1, 10/2]) rotate([90, 0, 0]) cylinder(r=9/2, $fn=32, h=8+1);
2019-03-25 12:31:40 +03:00
}