diff --git a/dromToggle.3mf b/outdoor/dromToggle.3mf similarity index 100% rename from dromToggle.3mf rename to outdoor/dromToggle.3mf diff --git a/dromToggle.scad b/outdoor/dromToggle.scad similarity index 100% rename from dromToggle.scad rename to outdoor/dromToggle.scad diff --git a/dromToggle.stl b/outdoor/dromToggle.stl similarity index 100% rename from dromToggle.stl rename to outdoor/dromToggle.stl diff --git a/outdoor/metcalfCclip.scad b/outdoor/metcalfCclip.scad new file mode 100644 index 0000000..5232caa --- /dev/null +++ b/outdoor/metcalfCclip.scad @@ -0,0 +1,66 @@ +// E clip type hardware for mystery ranch metcalf ultralite frame + +legDiam=10; +bodyDiam=11.5; +ctcLength=20; +legLength=20; +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); + } + } + // 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); + } +} + +//holes for cord +color("green"){ + for (dir = [-1 : 1]) mirror([dir, 0, 0]){ + translate([cordHoleGap * cordDiam, 0, bodyDiam/7]){ + rotate([90, 0, 0]){ + cylinder( bodyDiam * 1.1, d = cordDiam, center = true); + } + + } + } +} + +//relief for cord bend +color("yellow"){ + translate([0, bodyDiam / -2, bodyDiam/7]){ + rotate([0, 90, 0]){ + cylinder(cordDiam * cordHoleGap * 2, d = cordDiam, center = true); + } + } +} +} diff --git a/outdoor/metcalfEclip.scad b/outdoor/metcalfEclip.scad new file mode 100644 index 0000000..59d5d06 --- /dev/null +++ b/outdoor/metcalfEclip.scad @@ -0,0 +1,64 @@ +// 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); + } + +} + +} diff --git a/outdoor/metcalfEclip.stl b/outdoor/metcalfEclip.stl new file mode 100644 index 0000000..9f5423f Binary files /dev/null and b/outdoor/metcalfEclip.stl differ