include ; include thickness = 10; handlebar_diameter = 22; render = "housing"; module CruiserBC_Housing() { 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([10,-28.2,-2.5]) cylinder(h=5, r=3.2, $fn=100); } translate([-15, -20, 0]) cylinder(d=10, h=thickness-5.9); translate([15, -20, 0]) cylinder(d=10, h=thickness-5.9); //%translate([0,0,thickness-5.9]) ks0454(); } module CruiserBC_Mount() { cube([15,15,5]); } module CruiserBC_Cover() { difference() { union() { cylinder(r=25, h=3, $fn=100); translate([-20,-35,0]) cube([40,20,3]); } translate([0,0,-0.5]) cylinder(r=17.5, h=4, $fn=100); //translate([0,0,-0.1]) cylinder(r=19.5, h=2.1, $fn=100); difference() { translate([-19,-19,-0.1]) cube([38,38,2.1]); rotate([0,0,45]) translate([-19,-19,-0.1]) difference() { translate([-9,-9,0])cube([55,55,2.1]); cube([38,38,2.1]); } } translate([-1.75,-33, thickness-8.4]) { translate([-14,0,-2.4]) pmpb2p_bohrung(); translate([0,0,-2.4]) pmpb2p_bohrung(); translate([14,0,-2.4]) pmpb2p_bohrung(); } } } 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);