cad/outdoor/metcalfEclip.scad
2024-09-23 10:36:42 -07:00

65 lines
1.5 KiB
OpenSCAD

// E clip type hardware for mystery ranch metcalf ultralite frame
legDiam=9.5;
bodyDiam=11.5;
ctcLength=20;
legLength=21;
cordDiam=3;
cordHoleGap=0.75;
flattenBottom=0.3;
$fn = 40;
difference(){
// half of e mirrored across yz +++++++++++++++++++++++++++++++++++++++++++
color("blue"){
for (dir = [-1 : 1] ) mirror([dir, 0, 0]){
union(){
rotate([0,90,0]){
cylinder(ctcLength / 2, d = bodyDiam, center=false);
}
// rounded corner
translate([ctcLength / 2, 0, 0]){
sphere(d = bodyDiam);
}
// e leg outer
translate([ctcLength / 2, legLength / 2 + bodyDiam / 4, 0]){
rotate([90, 0, 0]){
cylinder( legLength + bodyDiam / 2, d = legDiam, center = true);
}
}
// e leg inner
translate([0, legLength * 3 / 4, 0]){
rotate([90, 0, 0]){
cylinder(0.75 * legLength, d = 0.75 * legDiam);
}
}
// rounded end, e leg inner
translate([0, legLength * 3 / 4, 0]){
sphere(d = 0.75 * legDiam);
}
// rounded leg ends
translate([ctcLength / 2, legLength + bodyDiam / 2, 0]){
sphere(d = legDiam);
}
}
}
}
// flatten bottom for better print and interface ---------------------------
color("red"){
translate([0, 0, -1 * (1 - flattenBottom) * legDiam]){
cube( [2 * ctcLength, 4 * legLength, legDiam], center=true);
}
}
//hole for cord
color("green"){
translate([0, legLength * 3 / 4 * 0.9, 0]){
cylinder( bodyDiam * 1.1, d = cordDiam, center = true);
}
}
}