Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@auxiliary-character
Created June 10, 2020 19:07
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save auxiliary-character/58dda93e1d303ea108a12a884bf51815 to your computer and use it in GitHub Desktop.
Save auxiliary-character/58dda93e1d303ea108a12a884bf51815 to your computer and use it in GitHub Desktop.
$fn = 100;
hole_diameter = 1;
hole_length = 2;
z_fight_epsilon = 0.0001;
module substrate(){
difference(){
cube([hole_diameter*2, hole_length-z_fight_epsilon*2, hole_diameter*2], center=true);
rotate([90,0,0])
children();
}
}
translate([-hole_diameter*3,0,0])
substrate()
cylinder(r = hole_diameter/2, h=hole_length, center=true);
substrate(){
cylinder(r = hole_diameter/2, h=hole_length, center=true);
translate([0, hole_diameter/(2*sqrt(2)), 0])
rotate([0,0,45])
cube([hole_diameter/2, hole_diameter/2, hole_length], center=true);
}
translate([hole_diameter*3,0,0])
substrate(){
cylinder(r = hole_diameter/2, h=hole_length, center=true);
difference(){
cylinder(r = hole_diameter/2 * 2/sqrt(3), h=hole_length, $fn=6, center=true);
translate([0, -hole_diameter/3, 0])
cube([hole_diameter*2/sqrt(3), hole_diameter * 2/sqrt(3), hole_length+z_fight_epsilon*2], center=true);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment