This is a customizable link that can press fit into and around bearings: https://www.youtube.com/watch?v=geYUHeTSF_U
Use the thingiverse customizer or OpenSCAD to change the length or diameters of the link, and then combine links of varying lengths to make linkages. The four bar linkage shown has 20, 45, and two 60 mm long links (link length is the distance between the centers of the bearings that attach to the link).
The current diameters fit 608 abec bearings (https://www.google.com/search?q=608+abec+bearings) when printed on a Flashforge Finder printer. I tweaked the diameters so that the bearing was tight enough to hold on its own, but still loose enough to detach with my hands rather than requiring a tool. You can easily change the diameters to fit other bearings, your printer's settings, or your own preferences for how tight the fit should be. If you start experimenting with different diameters, I recommend making the length of the link as small as possible (20 mm or so) so that you don't waste filament.
I designed in OpenSCAD this while trying to improve my snap fit links (https://www.thingiverse.com/thing:2849789). The snap fit parts on that design almost always break after detaching and reattaching to the bearings a few times. I tried changing the parts in many different ways, but all of them tended to have that problem. This press fit design is a lot more robust since there's no parts that have to bend, and also a lot simpler.