scad/2d/b17-lit-base/b17-lit-base.scad

97 lines
3.9 KiB
OpenSCAD

include <../box/box.scad>
thickness = 3.25; // 3.25mm = 1/8" medium draftboard
spacing = thickness/2;
outer_width = 7.25*inch;
outer_depth = 2*inch;
outer_height = 1*inch;
//notch_margin = 3*thickness;
//notch_size = golden_ratio*thickness;
notches_w = -1; //round((outer_width - 2*notch_margin) / (2*notch_size));
notches_h = 1; //round((outer_height - 2*notch_margin) / (2*notch_size));
notches_d = -1; //round((outer_depth - 2*notch_margin) / (2*notch_size));
inc_bottom = false;
module top_side() {
difference() {
top_side_base();
translate([0,10,0]) square([6.5*inch - 2, 5.0], center=true);
translate([-6.625*inch/2,0,0]) rotate([0,0,90]) holes(2, 1.5*inch, thickness);
translate([ 6.625*inch/2,0,0]) rotate([0,0,90]) holes(2, 1.5*inch, thickness);
}
}
module back_side() {
difference() {
back_side_base();
translate([3*inch,-0.25*inch,0]) hull() {
usb_width = 8.5;
usb_height = 3.5;
translate([-(usb_width-usb_height)/2, 0, 0]) circle(r=usb_height/2, $fn=32);
translate([ (usb_width-usb_height)/2, 0, 0]) circle(r=usb_height/2, $fn=32);
}
translate([3*inch,0.05*inch,0]) square([11.55, 4.1], center=true);
}
}
module side_support() {
difference() {
hull() {
translate([-0.5*inch, 0.25*inch, 0]) circle(r=0.25*inch, $fn=32);
translate([ 0.5*inch, 0.25*inch, 0]) circle(r=0.25*inch, $fn=32);
translate([10, 1.5*inch, 0]) circle(r=0.25*inch, $fn=48);
translate([0, -0.25*inch/2 + thickness, 0]) square([1.5*inch, 0.25*inch], center=true);
}
notches(2, 1.5*inch, thickness);
translate([10 - thickness, 0.75*inch, 0]) square([thickness, 1*inch], center=true);
translate([10 + thickness, 0.75*inch, 0]) square([thickness, 1*inch], center=true);
}
}
module side_support_insert() {
square([1.75*thickness, 1*inch], center=true);
}
module inside_support() {
square([6.5*inch, 2*8.25], center=true);
}
module extra_layout() {
translate([0, -1.5*inch, 0]) {
translate([-4*inch, 0, 0]) rotate([0,180,0]) side_support();
translate([ 4*inch, 0, 0]) rotate([0,0,0]) side_support();
}
translate([0, 3*inch, 0]) {
translate([-4.25*inch, 0.5*inch, 0]) rotate([0,0,90]) side_support_insert();
translate([-4.25*inch, 0, 0]) rotate([0,0,90]) side_support_insert();
translate([ 4.25*inch, 0.5*inch, 0]) rotate([0,0,90]) side_support_insert();
translate([ 4.25*inch, 0, 0]) rotate([0,0,90]) side_support_insert();
}
translate([5.25*inch,0.4*inch,0]) rotate([0,0,90]) inside_support();
%translate([0.5*inch,0,0]) square([11*inch,18*inch], center=true);
}
module plaque() {
linear_extrude(height=0.125*inch, center=true, convexity=2)
import("b17-cutaway-frame.dxf");
}
module extra_assembly() {
translate([-6.625*inch/2,0,outer_height/2]) rotate([90,0,0]) rotate([0,90,0]) thicken() side_support();
translate([ 6.625*inch/2,0,outer_height/2]) rotate([90,0,0]) rotate([0,90,0]) thicken() side_support();
color("violet") translate([-(6.625*inch/2+thickness/2-(1.75*thickness/2)),10-thickness,outer_height/2+0.75*inch]) rotate([90,0,0]) thicken() side_support_insert();
color("violet") translate([-(6.625*inch/2+thickness/2-(1.75*thickness/2)),10+thickness,outer_height/2+0.75*inch]) rotate([90,0,0]) thicken() side_support_insert();
color("violet") translate([ (6.625*inch/2+thickness/2-(1.75*thickness/2)),10-thickness,outer_height/2+0.75*inch]) rotate([90,0,0]) thicken() side_support_insert();
color("violet") translate([ (6.625*inch/2+thickness/2-(1.75*thickness/2)),10+thickness,outer_height/2+0.75*inch]) rotate([90,0,0]) thicken() side_support_insert();
color("magenta") translate([0,10,outer_height/2-thickness-thickness/2]) rotate([0,0,0]) thicken() inside_support();
%translate([0, 10, 5.5*inch/2 + outer_height/2 - thickness])
rotate([90, 0, 0])
plaque();
}
//mode = "assembly";