Skip to content

Instantly share code, notes, and snippets.

@benhowes
Created October 10, 2012 18:13
Show Gist options
  • Save benhowes/3867415 to your computer and use it in GitHub Desktop.
Save benhowes/3867415 to your computer and use it in GitHub Desktop.
Empty tree
include <MCAD/involute_gears.scad>
include <MCAD/bearing.scad>
include <MCAD/boxes.scad>
include <MCAD/nuts_and_bolts.scad>
include <MCAD/units.scad>
far_center = [60,0,0];
near_center = [-60,0,0];
end_cube_radius = 15;
stem_thickness = 7;
hole_offset = end_cube_radius-4.75;
clamp_offsets = [[ hole_offset, hole_offset, 0],
[ hole_offset, -hole_offset, 0],
[-hole_offset, hole_offset, 0],
[-hole_offset, -hole_offset, 0]];
geart = 13-2*epsilon;
module stem(o=false,t=0){
difference(){
union(){
//near hub
translate(near_center+[0,0,2.5]) roundedBox([30+2*t,30+2*t,(stem_thickness+5)+2*t],5+t,1);
//far hub
translate(far_center+[-7,0,0]) roundedBox([30+14+2*t,30+2*t,stem_thickness],5,1);
cube([100+2*t,30+2*t,stem_thickness],true);
}
//standard stem holes
//mounting helpers - holes all the way through
for(y = [-5, 5]){
for(x = [-30 : 10 : 20]){
translate([x,y,-50]){
boltHole(3,length=100);
}
}
}
//bearing holes
for(bearing_pos = [near_center+[0,0,-3.5+5+0.4],far_center+[0,0,-3.5+0.4]]){
bearing(pos=bearing_pos,outline=true);
translate(bearing_pos+[0,0,-10]) boltHole(8, length=20);
}
}
}
module s1_main_left(o=false,t=0){
difference(){
stem(o,t);
for(nut_side = [near_center+[0,0,stem_thickness/2+5+epsilon], far_center+[0,0,stem_thickness/2+epsilon]]){
for(nut_pos = clamp_offsets){
translate((nut_side+nut_pos-[0,0,-epsilon+METRIC_NUT_THICKNESS[3]])){
nutHole(3);
translate([0,0,-10]) boltHole(3,length=20);
}
}
}
}
}
s1_main_left();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment