A 3D printed shoulder rig for holding a medium sized camcorder
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
Camera-Shoulder-Rig/Shoulder_Pad_v2.scad

77 lines
2.4 KiB

/*
* Camera Shoulder Rig
*
* Copyright (c) 2021 Steve Cross <flip@foxhollow.cc>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
include <threads.scad>;
include <_shared.scad>;
$thickness=10;
$diameter=185;
$angle=40;
$test=true;
difference() {
union() {
translate([4, $diameter/2, 0])
rotate([0, 0, $angle])
union() {
// shoulder pad
difference() {
cylinder(h=$width, d=$diameter, $fn=90);
translate([0, 0, -1])
cylinder(h=$width+2, d=($diameter-($thickness*2)), $fn=90);
// turn cylinder into semi-circle
translate([-55, -($diameter/3)*2, -1])
cube([$diameter, $diameter, $width+2]);
// remove material from rear of shoulder pad
translate([-60, 0, -1])
cube([$diameter, $diameter, $width+2]);
/*translate([-8, -(($diameter/2)-9.5), -1])
rotate([0, 0, -10])
cube([45, 10, $width+2]);
*/
};
};
union() {
// chest plate
color("green")
cube([90, 10, $width]);
// rod support
translate([0, 1, 0])
linear_extrude(height=$width)
polygon(points=[[50,0],[90,0],[30,-30],[12,0]], paths=[[0,1,2,3]]);
};
};
// threads
translate([20, -1, $rail_offset])
rotate([90, 0, $angle])
english_thread((17/64), 20, 1.25, internal=true, test=$test);
// threads
translate([20, -1, $rail_offset+$rail_spacing])
rotate([90, 0, $angle])
english_thread((17/64), 20, 1.25, internal=true, test=$test);
};