CruiserBC_Case/CruiserBC.scad

130 lines
4.7 KiB
OpenSCAD

include <ks0454.scad>;
include <PololuMiniPushbutton.scad>
include <nuts_and_bolts.scad>
thickness = 10;
handlebar_diameter = 22;
render = "housing";
module nutHouse() {
difference() {
cylinder(d=6, h=thickness+1, $fn=100);
translate([0,0,-0.1]) cylinder(d=2.2, h=thickness+1.2, $fn=100);
scale(1.1) translate([0,0,-0.1])nutHole(2);
scale(1.1) translate([0,0,1.4])nutHole(2);
scale(1.1) translate([0,0,2.9])nutHole(2);
scale(1.1) translate([0,0,3.4])nutHole(2);
scale(1.1) translate([0,0,4.9])nutHole(2);
}
}
module CruiserBC_Housing() {
difference() {
union() {
difference() {
translate([0,0,-1]) cylinder(r=25, h=1, $fn=100);
translate([-7.5,-3,-1.5]) cube([3,6,3]);
translate([6,-3,-1.5]) cube([3,6,3]);
}
difference() {
union() {
cylinder(r=25, h=thickness, $fn=100);
translate([-20,-35,-1]) cube([40,20,thickness+1]);
}
translate([-1.75,-33, thickness-1]) {
translate([-16.75,-0.75, -thickness+2]) cube([37,20, thickness+1]);
//#translate([-14,0,-2.4]) pmpb2p();
//#translate([0,0,-2.4]) pmpb2p();
//#translate([14,0,-2.4]) pmpb2p();
}
translate([0,0,-0.1]) cylinder(r=24, h=thickness+0.2);
translate([0,0,thickness-6]) ks0454_noholes();
//translate([6,-28.8,-2.5]) cylinder(h=5, r=4.5, $fn=100);
translate([9,-32,4.5]) rotate([90,0,0]) cylinder(h=5, r=4.5, $fn=100);
translate([4.2,-33.8,-0.8]) cube([10,2,5]);
}
translate([-15, -22, 0]) difference() {
cylinder(d=10, h=thickness-5.9);
translate([0,0,-0.1])cylinder(d=4, h=thickness-5.7);
}
translate([15, -22, 0]) difference() {
cylinder(d=10, h=thickness-5.9);
translate([0,0,-0.1])cylinder(d=4, h=thickness-5.7);
}
}
translate([-15,-22,-2])cylinder(d=4.2, h=thickness-5.7);
translate([15,-22,-2])cylinder(d=4.2, h=thickness-5.7);
translate([-15,-22,-1.1]) nutHole(3);
translate([15,-22,-1.1]) nutHole(3);
}
//%translate([0,0,thickness-5.9]) ks0454();
translate([0,27,-1]) nutHouse();
translate([27,0,-1]) nutHouse();
translate([-27,0,-1]) nutHouse();
translate([-19.2,19.2,-1]) nutHouse();
translate([19.2,19.2,-1]) nutHouse();
translate([22.5,-15.5,-1]) nutHouse();
translate([-22.5,-15.5,-1]) nutHouse();
translate([-22,-33,-1]) nutHouse();
translate([22,-33,-1]) nutHouse();
translate([0,-37,-1]) nutHouse();
}
module CruiserBC_Mount() {
cube([15,15,5]);
}
module CruiserBC_Cover() {
union() {
difference() {
union() {
cylinder(r=25, h=4, $fn=100);
translate([-20,-35,0]) cube([40,20,4]);
}
translate([0,1,-0.5]) cylinder(r=17.5, h=5, $fn=100);
//translate([0,0,-0.1]) cylinder(r=19.5, h=2.1, $fn=100);
translate([0,1,0]) difference() {
translate([-19,-19,-0.1]) cube([38,38,3.1]);
rotate([0,0,45]) translate([-19,-19,-0.1]) difference() {
translate([-9,-9,0])cube([55,55,3.1]);
cube([38,38,3.1]);
}
}
translate([3.25,-31, thickness-8.8]) {
translate([-12.5,0,-2.0]) rotate([0,0,90]) scale([1.1,1.1,1.3]) pmpb2p_bohrung();
translate([-17.9,0.94,2]) cube([4, 2.2, 0.8]);
translate([0,0,-2.0]) rotate([0,0,90]) scale([1.1,1.1,1.3]) pmpb2p_bohrung();
translate([-5.45,0.94,2]) cube([4, 2.2, 0.8]);
translate([12.5 ,0,-2.0]) rotate([0,0,90]) scale([1.1,1.1,1.3]) pmpb2p_bohrung();
translate([7.15,0.94,2]) cube([4, 2.2, 0.8]);
}
}
/*
translate([0,0,-3.4]) difference() {
union() {
cylinder(r=25, h=4, $fn=100);
translate([-20,-35,0]) cube([40,20,4]);
}
translate([0, 0, -1]) union() {
cylinder(r=23, h=6, $fn=100);
translate([-19,-34,0]) cube([38,22,6]);
}
}
*/
}
}
if (render == "housing" || render == "all") {
rotate([0, 0, 270]) CruiserBC_Housing();
}
if (render == "cover" || render == "all") {
rotate([0, 0, 270]) translate([0,0,thickness]) CruiserBC_Cover();
}
if (render == "mount" || render == "all") {
//translate([0,0,-5]) CruiserBC_Mount();
}
//#translate([-300,0,-12]) rotate([0,90,0]) cylinder(d=handlebar_diameter, 600);