Hey! This thing is still a Work in Progress. Files, instructions, and other stuff might change!

# Simple Snap-Fit Joints Library

by fpetrac Dec 3, 2016

### Thing Apps Enabled

Thank you for this interesting read!

Fantastic library and PDF. I just want to raise a concern tho: the formulas found on the PDF seems designed for plain material (moulded), not for FDM: How can be handled the anisotropy nature of FDM? (strength on tangent vs. perpendicular to layers planes)

Several times, I tried to print snap joints perpendicular to the print bed, but even with decent layer adhesion, they were so prone to break I finally decided to print them "flat" as separate plugs

Hi, thanks for your interest. The idea of the library is to maximize the thickness of the snap preventing its breakage, the parameter f has the effect of decreasing the thickness and therefore increasing the maximum excursion. Regarding the anisotropy of the printed material, I did not do a specific study, but for a sufficiently large number of layers, I think it is irrelevant.
I confirm that the best results are obtained by printing on the xy plane, but I also printed in z with acceptable results. Why do not you share the results of your tests?

My experience is on this little SD card / USB reader gasket for my 3D printer.
The little tab in the picture is 4 x 3 mm, 7mm tall. Broke every time.

I ended up using a "blob" that press fit against the printer...

and when i render sample example given, circle one, it comes as single piece stl file how to make both piece separate so that print and test ? I don't know scad but i wanted to use it with fusion for learning how much margin/gap to be kept for parts or for box etc.

I'm not sure to understand the question,
if you need only a snap try this:
SnapY(l=5,h=1,a=35,b=1,f=2);
Also, if you need only a lobe of a "circular snap", try this
difference(){
rotate([0,0,-90/6])
RSnapY(l=8,h=1,a=35,Lobi=6,r2=10,f=1.2,K2=2);
translate([-3,0,0])
cube(22,center=true);
}

Thanks for answer, actually i wanted to know was, how to get two different parts stl files, i mean snap fit file 1 and 2 ... so that i can print both files and then test snap fit join...

you need to open the sample file "snapLib.Example.scad" and at the end of file: uncomment examp2() and comment on examp2test(), render and export, then comment examp2() and uncomment examp2test() render and export (same procedure for each example you want to try).
In any case you need OpenScad, however this project is a library of OpenScad :-)

Thank you very much for kind help...surely now i can do it !!

Using this to print a small replacement foot for something. Happy I found it.

Trying to get a render, I found a bug.

When using RSnapY, if the value of (r2-h)/r2 is 0, it will preview, but not render.

My values were
r2=2
h=2

I changed h to 1.99 and it worked. making it 2.01 wouldn't because it would cause a negative x plane value for the rotate extrude.

Thanks for putting the library out here!

Hi,
Thanks for the report. Indeed, I have not tested the case "h = r2" (but only h <r2). When h = r2 there could be problems in the snap movement, which is the value of y in your design?
The problem, it appears in the render, but I am not so scad expert. When h = r2 the basis of the snaps have one point in common for all the lobes this it is all.
I have the following error: "ERROR: CGAL error in CGAL_Nef_polyhedron3(): CGAL ERROR: assertion violation! Expr: e->incident_sface() != SFace_const_handle() File: /opt/mxe/usr/x86_64-w64-mingw32.static/include/CGAL/Nef_S2/SM_const_decorator.h Line: 326"
Is the same error even in your design?
Regards

PS the version 0.35 fix the problem.

Yes, that is the error I was getting. Didn't notice the CGAL error before. Just the lack of rendering. Thank you for the update.