Step 3: Draft Your Design - Pt. 2 End Pieces
For ease of construction, I want to orient the part so it matches my drawing. Therefore, I need to rotate the cylinder 90 degrees, which I am going to do about the y-axis. I could have just rotated my view, but I eventually want to make it sit flat on the x-y plane... and I think this will make it easier
Now I will draw the cylinders for the A-frame rod clips. Referring to my drawing, I need to translate in the z-direction -60mm, and in the x direction -86mm with respect to the center of the cylinder at the front face. Since the front face of the cylinder is 8mm positive of the origin, I will translate -78mm (-86mm - 8mm). Also, I will need to rotate the cylinders 90 degrees about the x-axis. Since the A-frame rods are about 8mm in diameter, I will make the diameter of the cylinders 14mm.. I don't want these too thick or they will be too hard to install.. I will make the length (height) 16mm.. for consistency.. Be sure to translate before you rotate.. order does matter..
Well... I actually want two of these cylinders, and I want to space them across the y-axis, centered on the x-z plane... So, I will add a y-value to the translation of this recently added cylinder, and then copy and paste everything, reversing the sign of the y-value of the pasted translate-rotate-cylinder block of code.... and I am going to space them 60mm center-to-center (arbitrary dimension). Therefore, both blocks of code will be identical, except one will have a y-translation of 30mm and the other will be -30mm.
Now I need to connect these solids. I am going to use the cube function. But first, I need to do a quick calculation. I need to know the angle of the two snap cylinders about the z-axis. Using my favorite Native American maiden "SOHCAHTOA" and a right triangle with 30mm and 78mm legs, I get 19.23 degrees. Therefore it will be rotated about the z=axis 19.23 degrees and the y-axis -34.9 degrees. I am going to make this solid 6mm high, 12mm wide, and 200mm long. I will adjust the 200mm dimension after I render it and see where it lands. I also have to do the z-rotation first or I'll get an unwanted twist.
That got me pretty close... I would really like the rectangular pieces to be flush on the bottom of the cylinders.. It looks like I can do a negative z-translation to make it close enough. A couple tweaks/ iterations gets me here:
Now I have all the material I need.. time to start trimming. I'll start by putting the current objects in a union, and then that union in a difference.
From here, I am going to trim all the junk beyond the front face of the first cylinder we drew.. I am also going to shave off 1mm of the face of the cylinder just in case I need it to make all the pieces fit. To do this, I am going to translate a very large cube that has one of its surfaces at x=7mm.
Now I am going to remove the hole that the center piece will fit into.. I could get creative here with tolerances and such, to make the right amount of friction in the press fit... but I am not going to... I figure that since these pieces won't print perfectly round and true, they will already be really tight if the hole is the same size as the dowel.. so I will just sand off material as needed to get a good fit. For this hole, I will just copy the code from the original cylinder and adjust the dimensions.
Now I will remove the holes for the A-frame clips. The threaded rod is really close to 8mm but I am going to make the holes a bit undersized (0.5mm) so they fit tight. I will just copy one of the previous cylinders, remove its y-translation, reduce the radius, and make it extra long.
Now I need to make the slots for the A-frame clips that turn the tubes into clips. I know they obviously have to be smaller than the threaded rod diameter.. how much smaller?... good questions... uh... I'll just make the slots 6mm wide and call it good.. This will be very similar to the previous removal, except that it will be a cube (rectangular prism to be more exact) and it will have a little more negative z-translation.
Now it is time to make the final removal... the one that defines the flat surface that rests on the printer bed... To do this I am first going to rotate everything to make it parallel to the x-y plane.
Now I will translate it so that the rectangular arms are close to flush with the x-y plane and then subtract a really large cube that has one of its surfaces on the x-y plane.
Wait a minute!! This isn't going to work..
I can't just print the ends of the clips over mid air unsupported like that. I need to add some support blocks that I will cut off later.
Finally I will render it with a higher $fn value and then export it as an STL file.
If you made it this far, give yourself a pat on the back... and continue to step 4.