Hendrik Langer
7 years ago
1 changed files with 81 additions and 0 deletions
@ -0,0 +1,81 @@ |
|||
$fn = 50; |
|||
|
|||
width = 160; |
|||
length = 90; |
|||
height = 18; |
|||
|
|||
horiz_tolerance = 0.8; |
|||
vert_tolerance = 0.8; |
|||
edge_radius = 4; |
|||
|
|||
charger_width = 145; |
|||
charger_length = 74; |
|||
charger_height = 15; |
|||
|
|||
use <box.scad> |
|||
|
|||
module charger() { |
|||
cube([charger_width,charger_length,charger_height]); |
|||
} |
|||
|
|||
module screwhole() { |
|||
translate([0,0,-12]) cylinder(r=2, h=12); |
|||
} |
|||
|
|||
module centerwasher() { |
|||
translate([width/2, length/2, -0.2]) cylinder($fn=6, r=4, h=3); |
|||
} |
|||
|
|||
module roof2() { |
|||
difference() { |
|||
minkowski() { |
|||
translate([edge_radius,edge_radius,0]) cube([width-edge_radius*2,length-edge_radius*2,height]); |
|||
cylinder(r=edge_radius, h=0.2); |
|||
} |
|||
minkowski() { |
|||
translate([width/2-charger_width/2, length/2-charger_length/2, height-charger_height-vert_tolerance+0.4]) charger(); |
|||
cylinder(r=horiz_tolerance/2,h=vert_tolerance); |
|||
} |
|||
screwhole_offset = 5; |
|||
translate([screwhole_offset,screwhole_offset,height+0.4]) screwhole(); |
|||
translate([width-screwhole_offset,screwhole_offset,height+0.4]) screwhole(); |
|||
translate([screwhole_offset,length-screwhole_offset,height+0.4]) screwhole(); |
|||
translate([width-screwhole_offset,length-screwhole_offset,height+0.4]) screwhole(); |
|||
|
|||
translate([0,-23,0]) centerwasher(); |
|||
translate([-23,5,0]) centerwasher(); |
|||
translate([23,5,0]) centerwasher(); |
|||
} |
|||
} |
|||
|
|||
//rotate([30,0,0]) |
|||
roof2(); |
|||
|
|||
%difference() { |
|||
angle = 30; |
|||
mount_height = sin(angle)*length; |
|||
rotate([angle,0,0]) translate([width*0.125,0,-mount_height]) cube([width*0.75,4,mount_height]); |
|||
rotate([-angle,0,180]) translate([-width*0.25,0.4,-25]) mount(); |
|||
rotate([-angle,0,180]) translate([-width*0.75,0.4,-25]) mount(); |
|||
} |
|||
|
|||
module mount2() { |
|||
thickness = 4; |
|||
difference() { |
|||
translate([width/2,length/2,-thickness]) cylinder(r=30, h=thickness); |
|||
translate([0,-23,-thickness]) translate([width/2, length/2, -0.2]) cylinder($fn=50, r=2, h=4+0.4); |
|||
translate([-23,5,-thickness]) translate([width/2, length/2, -0.2]) cylinder($fn=50, r=2, h=4+0.4); |
|||
translate([23,5,-thickness]) translate([width/2, length/2, -0.2]) cylinder($fn=50, r=2, h=4+0.4); |
|||
} |
|||
difference() { |
|||
translate([width/2,length/2-8,10]) rotate([210,0,0]) difference() { |
|||
union() { |
|||
cylinder(r=16, h=50, center=false); |
|||
rotate([-210,0,0]) translate([0,8+6,-thickness-15-10]) cylinder(r1=14, r2=17, h=15); |
|||
} |
|||
cylinder(r=10, h=50+0.4, center=false); |
|||
} |
|||
translate([width/2,length/2,0]) cylinder(r=100, h=100); |
|||
} |
|||
} |
|||
%mount2(); |
Loading…
Reference in new issue