Skip to content

Instantly share code, notes, and snippets.

@mrvdb
Created May 29, 2013 09:11
Show Gist options
  • Save mrvdb/5668998 to your computer and use it in GitHub Desktop.
Save mrvdb/5668998 to your computer and use it in GitHub Desktop.
// Construction of 'odd' nuts for the hbx360
// All dimensions in mm
include <settings.scad>
include <shapes.scad>
// Dimension
r_outer=156/2;
r_inner=126.1/2;
depth=10;
nr_of_bolts=24;
saw_width=1;
throat=(r_outer-r_inner);
module nutring() {
difference() {
// Base ring
bevelled_cylinder(h=depth,r=r_outer,top_bevel=0.8, bottom_bevel=0.8);
// Estimate of drop off corner at 60 degrees
// TODO: figure out how to measure or look this up in drawings
translate([0,0,-r_inner*2+depth]) cylinder(h=r_inner*2,r1=0,r2=r_inner);
// Give the edge some body
cylinder(h=2,r=r_inner-(depth*sin(30))+1);
// Put in the holes
for( hole = [1:nr_of_bolts] ) {
rotate([0,0, hole * 360/nr_of_bolts ])
translate([r_inner+throat/2,0,0])
threaded_hole(depth=depth, r=4);
}
// Cut the ring in parts
rotate([0,0,(360/nr_of_bolts)/2])
for( sawsnit = [ 1:nr_of_bolts ] ) {
rotate([0,0, sawsnit * 360/nr_of_bolts])
cube(size=[r_outer,saw_width,depth]);
}
}
}
// Produce the part
nutring();
// Optionally, display a projection.
*rotate(a=90,v=[1,0,0])
projection(cut=true)
translate([2*r_outer+15,0,0])
rotate(a=-90,v=[1,0,0])
nutring();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment