From ea85b58c75d2f1a0f414624eab0497fc9443f67c Mon Sep 17 00:00:00 2001 From: Adrian Mariano Date: Sat, 30 Apr 2022 22:28:24 -0400 Subject: [PATCH 1/5] doc typo --- skin.scad | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/skin.scad b/skin.scad index d00ee5b..7a56b1e 100644 --- a/skin.scad +++ b/skin.scad @@ -956,7 +956,7 @@ module spiral_sweep(poly, h, r, turns=1, higbee, center, r1, r2, d, d1, d2, higb // ushape = [[-10, 0],[-10, 10],[ -7, 10],[ -7, 2],[ 7, 2],[ 7, 7],[ 10, 7],[ 10, 0]]; // elliptic_arc = xscale(2, p=arc($fn=64,angle=[180,0], r=30)); // Clockwise // path_sweep(ushape, path3d(elliptic_arc), method="manual", normal=UP+RIGHT); -// Example(NoScales): Here we changed the ellipse to be more pointy, and with the same results as above we get a shape with an irregularity in the middle where it maintains the specified direction around the point of the ellipse. If the ellipse were more pointing, this would result in a bad polyhedron: +// Example(NoScales): Here we changed the ellipse to be more pointy, and with the same results as above we get a shape with an irregularity in the middle where it maintains the specified direction around the point of the ellipse. If the ellipse were more pointy, this would result in a bad polyhedron: // ushape = [[-10, 0],[-10, 10],[ -7, 10],[ -7, 2],[ 7, 2],[ 7, 7],[ 10, 7],[ 10, 0]]; // elliptic_arc = yscale(2, p=arc($fn=64,angle=[180,0], r=30)); // Clockwise // path_sweep(ushape, path3d(elliptic_arc), method="manual", normal=UP+RIGHT); From ad9d32d0b726f5ba1b8ee92f81412977a37b23c1 Mon Sep 17 00:00:00 2001 From: Adrian Mariano Date: Sun, 1 May 2022 18:42:59 -0400 Subject: [PATCH 2/5] add tripod mounts --- tripod_mounts.scad | 105 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 105 insertions(+) create mode 100644 tripod_mounts.scad diff --git a/tripod_mounts.scad b/tripod_mounts.scad new file mode 100644 index 0000000..985e08b --- /dev/null +++ b/tripod_mounts.scad @@ -0,0 +1,105 @@ +////////////////////////////////////////////////////////////////////////////////////////////// +// LibFile: tripod_mounts.scad +// Mount plates for tripods. Currently only the Manfrotto RC2 plate. +// Includes: +// include +// include +// FileGroup: Parts +// FileSummary: Tripod mount plates: RC2 +////////////////////////////////////////////////////////////////////////////////////////////// + + +// Module: manfrotto_rc2_plate() +// Usage: +// manfrotto_rc2_plate([chamfer],[anchor],[orient],[spin]) [ATTACHMENTS]; +// Description: +// Creates a Manfrotto RC2 quick release mount plate to mount to a tripod. The chamfer argument +// lets you control whether the model edges are chamfered. By default all edges are chamfered, +// but you can set it to "bot" to chamfer only the bottom, so that connections to a model larger +// than the plate doin't have a V-groove at the junction. The plate is 10.5 mm thick. +// Arguments: +// chamfer = "none" for no chamfer, "all" for full chamfering, and "bot" or "bottom" for bottom chamfering. Default: "all". +// Examples: +// manfrotto_rc2_plate(); +// manfrotto_rc2_plate("bot"); +module manfrotto_rc2_plate(chamfer="all",anchor,orient,spin) +{ + chsize=0.5; + + assert(in_list(chamfer, ["bot","bottom","all","none"]), "chamfer must be \"all\", \"bottom\", \"bot\", or \"none\""); + chamf_top = chamfer=="all"; + chamf_bot = in_list(chamfer, ["bot","bottom","all"]); + + length = 52.5; + innerlen=43; + + topwid = 37.4; + botwid = 42.4; + + thickness = 10.5; + + flat_height=3; + angled_size=5; + angled_height = thickness - flat_height*2; + angled_width = sqrt(angled_size^2-angled_height^2); + + corner_space = 25; + corner_space_ht = 4.5; + + left_top=2; + + pts = turtle([ + "move",botwid, + "left", + "move", flat_height, + "xymove", [-angled_width, angled_height], + "move", flat_height, + "left", + "move", topwid, + "left", + "move", left_top, + "jump", [0,flat_height] + ]); + + + cutout_len=26; + + + facet = [ + back(-left_top,select(pts,-3)), + each fwd(1.5,select(pts,-2,-1)), + [-10,-left_top+select(pts,-1).y], + left(10,back(-flat_height,select(pts,-3))) + ]; + + attachable(anchor,spin,orient,size=[botwid,length,thickness],size2=[topwid,length],shift=[.64115/2,0]){ + down(thickness/2) + diff() + linear_sweep(pts,h=length,convexity=4,orient=FWD,anchor=FWD){ + zflip_copy() + down(.01)fwd(.01)left(.01)position(LEFT+FRONT+BOT) + cuboid([corner_space,(length-innerlen)/2,thickness+.02], chamfer=-chsize, $tags="remove", + orient=FWD,anchor=TOP+LEFT+FWD,edges=chamf_top?"ALL":TOP); + fwd(left_top)position(LEFT+BACK)linear_sweep(h=cutout_len,facet,convexity=4,$tags="remove",anchor=RIGHT+BACK); + if (chamf_bot){ + edge_mask(FRONT+LEFT)chamfer_edge_mask(length,chsize,$tags="remove"); + edge_mask(FRONT+RIGHT)chamfer_edge_mask(length,chsize,$tags="remove"); + edge_mask(FRONT+TOP)chamfer_edge_mask(length,chsize,$tags="remove"); + edge_mask(FRONT+BOT)chamfer_edge_mask(length,chsize,$tags="remove"); + edge_mask(TOP+RIGHT)chamfer_edge_mask(length,chsize,$tags="remove"); + edge_mask(BOT+RIGHT)chamfer_edge_mask(length,chsize,$tags="remove"); + zflip_copy(){ + right(corner_space)edge_mask(TOP+LEFT) chamfer_edge_mask(length,chsize,$tags="remove"); + down((length-innerlen)/2)edge_mask(TOP+LEFT) chamfer_edge_mask(length,chsize,$tags="remove"); + } + } + if (chamf_top){ + edge_mask(BACK+LEFT)chamfer_edge_mask(length,chsize,$tags="remove"); + edge_mask(BACK+RIGHT)chamfer_edge_mask(length,chsize,$tags="remove"); + edge_mask(BACK+TOP)chamfer_edge_mask(length,chsize,$tags="remove"); + edge_mask(BACK+BOT)chamfer_edge_mask(length,chsize,$tags="remove"); + } + } + children(); + } +} From 870f410afd6de60dd5ebc7c74c2292b78b6d4627 Mon Sep 17 00:00:00 2001 From: Adrian Mariano Date: Sun, 1 May 2022 18:43:08 -0400 Subject: [PATCH 3/5] add tripod mount --- .openscad_docsgen_rc | 1 + 1 file changed, 1 insertion(+) diff --git a/.openscad_docsgen_rc b/.openscad_docsgen_rc index 919ffe9..9a44f55 100644 --- a/.openscad_docsgen_rc +++ b/.openscad_docsgen_rc @@ -48,6 +48,7 @@ PrioritizeFiles: metric_screws.scad bottlecaps.scad screw_drive.scad + tripod_mounts.scad DefineHeader(BulletList): Side Effects DefineHeader(Table;Headers=Anchor Name|Position): Extra Anchors DefineHeader(Table;Headers=Anchor Type|What it is): Anchor Types From a273018c8b703fa13d4e7272ea7740ce1539b3b3 Mon Sep 17 00:00:00 2001 From: Adrian Mariano Date: Sun, 1 May 2022 19:14:56 -0400 Subject: [PATCH 4/5] tpuo fix --- tripod_mounts.scad | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tripod_mounts.scad b/tripod_mounts.scad index 985e08b..b9e44b9 100644 --- a/tripod_mounts.scad +++ b/tripod_mounts.scad @@ -3,7 +3,7 @@ // Mount plates for tripods. Currently only the Manfrotto RC2 plate. // Includes: // include -// include +// include // FileGroup: Parts // FileSummary: Tripod mount plates: RC2 ////////////////////////////////////////////////////////////////////////////////////////////// From 84118516c6b06d1b77d4d14485176734e4e9b869 Mon Sep 17 00:00:00 2001 From: Adrian Mariano Date: Sun, 1 May 2022 20:28:11 -0400 Subject: [PATCH 5/5] typo --- tripod_mounts.scad | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tripod_mounts.scad b/tripod_mounts.scad index b9e44b9..fb8bc7d 100644 --- a/tripod_mounts.scad +++ b/tripod_mounts.scad @@ -3,7 +3,7 @@ // Mount plates for tripods. Currently only the Manfrotto RC2 plate. // Includes: // include -// include +// include // FileGroup: Parts // FileSummary: Tripod mount plates: RC2 //////////////////////////////////////////////////////////////////////////////////////////////