61 lines
1.4 KiB
OpenSCAD
61 lines
1.4 KiB
OpenSCAD
include <BOSL2/std.scad>
|
|
|
|
// the original Neptune 4 screen module
|
|
module screen() {
|
|
// main body
|
|
cuboid([87,20,145], chamfer=2, edges=BACK, anchor=BOTTOM);
|
|
// space for cable
|
|
cuboid([25,20,50]);
|
|
xrot(20) cuboid([25,20,50]);
|
|
// MAGNET
|
|
back(14) up(15 + 25) union() {
|
|
cuboid([48,5,30]);
|
|
left(62/2) ycyl(d=3.5, h=20);
|
|
right(62/2) ycyl(d=3.5, h=20);
|
|
}
|
|
}
|
|
|
|
bot_w = 90;
|
|
bot_d = 50;
|
|
bot_h = 5;
|
|
bot_mag_d = 8.5;
|
|
bot_mag_h = 2;
|
|
bot_mag = [3,3];
|
|
|
|
// bottom
|
|
difference() {
|
|
// main base
|
|
cuboid([bot_w, bot_d, bot_h], anchor=FWD+BOTTOM, chamfer=1);
|
|
// magnet holes
|
|
for(i = [0 : bot_mag[0]-1]) {
|
|
for(j = [0 : bot_mag[1]-1]) {
|
|
left(bot_w/2) right(bot_mag_d) fwd(bot_mag_d)
|
|
right(((bot_w - bot_mag_d*2)/(bot_mag[0]-1)) * i)
|
|
fwd(((bot_d - bot_mag_d*2)/(bot_mag[1]-1)) * j)
|
|
cyl(d=bot_mag_d, h=bot_mag_h, anchor=BOTTOM, chamfer=-0.2);
|
|
}
|
|
}
|
|
}
|
|
|
|
// vertical upright
|
|
|
|
vert_h = 50;
|
|
vert_t = 5;
|
|
|
|
// holder
|
|
|
|
hold_angle = 20;
|
|
hold_t = 20;
|
|
hold_h = 65;
|
|
hold_dist = 5;
|
|
|
|
difference() {
|
|
union() {
|
|
// vertical upright
|
|
cuboid([bot_w, vert_t, vert_h], anchor=BOTTOM+FWD, chamfer=1);
|
|
// holder body
|
|
up(vert_h - vert_t) xrot(-hold_angle)
|
|
cuboid([bot_w,hold_t,hold_h], anchor=BOTTOM, chamfer=1);
|
|
}
|
|
up(vert_h - vert_t) xrot(-hold_angle) fwd(hold_t/2 - 3.55) up(hold_dist) screen();
|
|
}
|