Compact Compass
Printable files (2)
Description
I got the idea for this project from John Heisz's recent video on his YouTube channel. You can find a link to the original and his updated version here:
https://ibuildit.ca/tips/making-a-compact-compass/He also shows the tool in action. I thought it was a pretty clever design, so I decided to try making a 3D model suitable for printing. It probably would have been quicker to make one of these out of wood or metal than to write the OpenSCAD script and several test prints before I was happy with the result.
Mine is basically his design except I set the dimension so the max radius is 10 cm and added added a scale with markings from 1 to 10 cm. It also has en extra nub for the center pin. I'm not sure this is actually needed; John's seem to do just fine without it.
I've uploaded the script in case you'd like to play with the sizes and shapes. The placement of the markers is in the the module on line 47:
module markers(Rarm) { linear_extrude(Th) { for(i=[1:10]) { rotate([0,0,180-marker_angle(10*i,Rarm)]) translate([Rpiv, 0]) { rotate([0,0,180]) circle(2.5, $fn=3); translate([1.5,0]) square([3,4.4], true); } } translate([Rpiv, 0]) square([3,2]); }}The $fn=3 term is how you coerce the circle command to give you a polygon, in this case a triangle. the marker_angle() function computes a rotation angle based on the arm radius parameter and the step size (10 mm) times the index variable i. That one uses a little trig to get the job done.
function marker_angle(x,r)=2*acos(x/(2*r));If you wanted an Imperial measurements version its pretty easy to modify the code. For a max size of 4" with gradients every 1/2", change Rarm to 4*25.4/2 at the top of the code and replace 10*i with i*25.4/2. You'd also need to change the iterations in the for loop from 10 to 8 or you will get errors.
Once printed you can assemble it with a #6 machine screw and wingnut. I think it will work with M4 hardware as well, but I don't have any handy at the moment. You might have to adjust the machine_screw() sizes or ream it out a bit.
Thanks for looking,
Bob M