Skip to content

Instantly share code, notes, and snippets.

@pkdevel
Last active February 8, 2016 23:37
Show Gist options
  • Save pkdevel/8fa64e91f7bdd058aec1 to your computer and use it in GitHub Desktop.
Save pkdevel/8fa64e91f7bdd058aec1 to your computer and use it in GitHub Desktop.
$material_thickness = 4;
$motor_diameter = 49;
$axle_diameter = 15;
$distance = 90;
rotate([-90,0,0]) mount();
translate([$distance/2,-5,0])
rotate([0,180,0])
coupler();
module coupler() {
$fn = 64;
translate([0,12.5,0])
rotate([-90,0,0])
linear_extrude($material_thickness) {
difference() {
intersection() {
square([$axle_diameter*2, $axle_diameter+14], center=true);
circle(25*0.95);
}
hull() {
translate([-$axle_diameter,0,0]) circle($axle_diameter/2);
translate([-$axle_diameter/2,0,0]) circle($axle_diameter/2);
}
translate([5,$axle_diameter/2 + 3.5,0]) circle(2);
translate([-5,$axle_diameter/2 + 3.5,0]) circle(2);
translate([5,-$axle_diameter/2 - 3.5,0]) circle(2);
translate([-5,-$axle_diameter/2 - 3.5,0]) circle(2);
}
}
rotate([0,90,0])
difference() {
linear_extrude($axle_diameter) {
difference() {
square([$axle_diameter,25], center=true);
translate([0,-7,0]) circle(2);
translate([0,7,0]) circle(2);
}
}
translate([0,0,$axle_diameter-4])
linear_extrude(4) {
translate([0,-7,0]) circle(4);
translate([0,7,0]) circle(4);
}
}
}
module mount() {
difference() {
hull() {
translate([$distance/2,0,0]) axle_mount();
translate([-$distance/2,0,0]) motor_mount();
}
translate([$distance/2,0,0]) axle_mount_holes();
translate([-$distance/2,0,0]) rotate([0,0,45]) motor_mount_holes();
}
}
module axle_mount() {
linear_extrude($material_thickness) {
difference() {
intersection() {
square([25, $axle_diameter + 14], center=true);
circle(($axle_diameter + 14)*0.6);
}
}
}
}
module axle_mount_holes() {
$fn = 64;
$diameter = 4;
$d1 = ($axle_diameter + 7) / 2;
linear_extrude($material_thickness) {
hull() {
translate([$d1-3.5, $d1]) circle($diameter/2);
translate([-$d1, $d1]) circle($diameter/2);
}
hull() {
translate([$d1-3.5, -$d1]) circle($diameter/2);
translate([-$d1, -$d1]) circle($diameter/2);
}
hull() {
translate([-10,0,0]) square($axle_diameter, center=true);
translate([25,0,0]) square($axle_diameter, center=true);
}
}
}
module motor_mount() {
$width = $motor_diameter;
motor_mount_base($width);
}
module motor_mount_base(width) {
linear_extrude($material_thickness)
circle($width/2);
}
module motor_mount_holes() {
$fn = 64;
$diameter = 3;
$d1 = $motor_diameter * 0.25;
$d2 = $d1;
linear_extrude($material_thickness) circle(5);
linear_extrude($material_thickness) {
translate([$d1, $d1])
circle($diameter/2);
translate([-$d1, -$d1])
circle($diameter/2);
translate([$d2, -$d2])
circle($diameter/2);
translate([-$d2, $d2])
circle($diameter/2);
}
translate([0,0,$material_thickness/2]) {
linear_extrude($material_thickness/2) {
translate([$d1, $d1])
circle($diameter);
translate([-$d1, -$d1])
circle($diameter);
translate([$d2, -$d2])
circle($diameter);
translate([-$d2, $d2])
circle($diameter);
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment