Skip to content

Instantly share code, notes, and snippets.

@andete
Created September 7, 2014 12:50
Show Gist options
  • Save andete/0778ca8e0e3f19db82da to your computer and use it in GitHub Desktop.
Save andete/0778ca8e0e3f19db82da to your computer and use it in GitHub Desktop.
module circlet(diameter, thickness, height) {
inner = diameter/2;
difference() {
cylinder(r=inner+thickness, h=height, $fn=256);
cylinder(r=inner, h=height*3, center=true, $fn=256);
translate(v=[0,20,0])
cube(size=[inner*2-6, inner*2, height*3], center=true);
}
}
bike_pole_d = 35.5;
anker_l = 126;
anker_w = 77;
anker_h = 25;
module box() {
translate(v=[-anker_w/2-4,-anker_h,-4]) {
difference() {
cube(size=[anker_w+8, anker_h, anker_l+8+20]);
translate(v=[4,-4,4+20]) cube(size=[anker_w, anker_h, anker_l]);
}
}
translate(v=[-anker_w/2-4,-anker_h,-4]) {
difference() {
cube(size=[anker_w+8, anker_h, anker_l+8+20]);
translate(v=[10,7+4,4+20]) cylinder(r=10, h=anker_l, $fn=128);
translate(v=[10+anker_w-12,7+4,4+20]) cylinder(r=10, h=anker_l, $fn=128);
translate(v=[4+7,0,4+20]) cube(size=[anker_w-14, anker_h+8, anker_l]);
translate(v=[4,-12,4+20]) cube(size=[anker_w, anker_h, anker_l]);
}
}
}
// simple test circlet
//circlet(bike_pole_d-0.5,4,4);
// full
difference() {
union() {
box();
translate(v=[0,bike_pole_d/2,-4+20]) circlet(bike_pole_d-0.5,4,anker_l+8);
translate(v=[-anker_w/2,-4-19,5+20]) cylinder(r=1,h=anker_l-10,$fn=4);
translate(v=[anker_w/2,-4-19,5+20]) cylinder(r=1,h=anker_l-10,$fn=4);
translate(v=[-anker_w/2+5,-4-19,0+20]) rotate(a=[0,90,0]) cylinder(r=1,h=anker_w-10,$fn=4);
translate(v=[-anker_w/2+5,-4-19,anker_l+20]) rotate(a=[0,90,0]) cylinder(r=1,h=anker_w-10,$fn=4);
}
for (z=[0:32])
for (y=[2,6,10,14,18,22,26,30]) {
translate(v=[-anker_w/2,y,20+z*4])
rotate(a=[0,90,0]) cylinder(r=1.5,h=anker_w,$fn=4);
//cube(size=[anker_w, 2, anker_l/4-4]);
}
translate(v=[17,-anker_h/2,-6]) cube(size=[18,9,60], center=true);
translate(v=[-17,-anker_h/2,-6]) cube(size=[18,9,60], center=true);
translate(v=[0,-30,20]) rotate(a=[45,0,0]) cube(size=[anker_w,anker_h*1.4,anker_h*1.4], center=true);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment