Parametric Socket for Hanging Rods and Dowels
Description
## Description This is my pole socket remix of [XFaktor's remix](https://www.thingiverse.com/thing:3146422) (a remix of [the original by bblhd](https://www.thingiverse.com/thing:544977)). I included a few `.stl` examples I generated with this code, the settings for which can be found in the `.scad` file. They're designed to be mounted with a #12 wood screw, which fits into the holes on the sides of Ikea Pax wardrobes. Thanks to both of them for supporting open source by publishing their code with a Creative Commons license and to the makers/consumers who likewise find value in open source by benefiting from its many fruits (collaboration, education, inspiration, *empowerment*). ## Changes - Added parameters for customizing the flange around the socket. - Relocated the mounting screw to the center of the flange, in a countersunk fashion. - Added optional cutout to one side of the socket. ## To Do - It wouldn't be too hard to bring back the screw holes around the flange, if anyone is so inclined. If I were to do it, the inner flange could optionally be empty, so the socket could be slid onto the pole before mounting, allowing the pole to have zero clearance from the walls. The screws would be countersunk as with my remix. Finally, the number of screw holes would be configurable and evenly spaced around the flange. The python function below could be adapted to calculate screw positions in cases where there are at least 3 screws. One screw would just be translated in +x direction, and two screws would be in +/-x direction. ``` def polygon_vertices(n, r=None, s=None): """Calculate the x, y coordinates of a regular polygon with arbitrary sides (n) >3 and either the radius (r) of the circumscribing circle or edge length (s).""" if n < 3: raise Exception("Cannot have a polygon with sides < 3.") if s is not None: r = s / (2 * np.sin(np.pi / n)) if r is not None: return [ [r * np.cos(2 * np.pi * i / n), r * np.sin(2 * np.pi * i / n)] for i in range(n) ] else: raise Exception( "Radius of circumscribing circle or side length is required to calculate" " polygon vertices." ) ```
Statistics
Likes
0
Downloads
0