Bunch of updates.
This commit is contained in:
@@ -0,0 +1,82 @@
|
||||
// all measurements in mm
|
||||
$fn=128;
|
||||
|
||||
// Version History
|
||||
// 1 - id=25.6, od1=31, od2=29, h=44, tabHeight=13, tabClearance=0.4
|
||||
// 2 - id=27, od1=31, od2=29, h=44, tabHeight=13, tabClearance=0.1
|
||||
// 3 - id=27, od1=31, od2=29, h=44, tabHeight=13, tabClearance=0
|
||||
// 4 - id=26, od1=31, od2=29, h=44, tabHeight=13, tabClearance=0
|
||||
// 5 - id=26, od1=31, od2=29, h=44, tabHeight=13, tabClearance=-0.1, angle in tab
|
||||
version = "5";
|
||||
|
||||
id = 26;
|
||||
od1 = 31;
|
||||
od2 = 29;
|
||||
h = 44;
|
||||
tabClearance = -0.1;
|
||||
tabHeight = 13;
|
||||
|
||||
module tab() {
|
||||
translate([id/2 + 0.2, 0, -6.5]) rotate([0, 0, 7]) difference() {
|
||||
// tab
|
||||
translate([0, -0.01, 0]) cube([1.6, 4.01, tabHeight]);
|
||||
// tab chamfers
|
||||
union() {
|
||||
translate([0 - 0.2, 2, 0]) rotate([-75, 0, 0]) cube([2, 4, 4]);
|
||||
translate([0 - 0.2, 2, tabHeight]) mirror([0, 0, 1]) rotate([-75, 0, 0]) cube([2, 4, 4]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
module tabCutout() {
|
||||
translate([-id/2 - 3, -5, -(tabHeight + tabClearance)/2]) cube([6, 5.01, tabHeight + tabClearance]);
|
||||
}
|
||||
|
||||
module catchRing() {
|
||||
translate([0, 0, 9]) difference() {
|
||||
cylinder(h=0.8, d=od2, center = true);
|
||||
translate([0, 0, -0.05]) cylinder(h=1, d=id - 0.8, center = true);
|
||||
}
|
||||
}
|
||||
|
||||
module mainCylinderBody() {
|
||||
difference() {
|
||||
union() {
|
||||
difference() {
|
||||
// outer cylinder
|
||||
cylinder(h=h, d1=od1, d2=od2, center = true);
|
||||
|
||||
// cylinder bore and top chamfer
|
||||
union() {
|
||||
// inner bore
|
||||
translate([0, 0, -0.01]) cylinder(h=h + 0.1, d=id, center = true);
|
||||
|
||||
// top chamfer
|
||||
translate([0, 0, h/2-0.02]) difference() {
|
||||
cylinder(h=2.2, d1=od1+3, d2=od2+3, center = true);
|
||||
translate([0, 0, -0.01]) cylinder(h=2.24, d1=od2+0.1, d2=id-0.2, center = true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
catchRing();
|
||||
}
|
||||
// cutout half
|
||||
translate([-(od2+4)/2, 0, -h/2 - 1]) cube([od1 + 4, od1, h + 2]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
difference() {
|
||||
union() {
|
||||
mainCylinderBody();
|
||||
tab();
|
||||
}
|
||||
|
||||
union() {
|
||||
tabCutout();
|
||||
translate([0, -0.2-id/2, 4-h/2]) rotate([90, 0, 180])
|
||||
linear_extrude(0.8)
|
||||
text(str("v", version), size=6, halign="center", valign="center", font="Iosevka");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user