I often want to design and print parts which fit on a metal shaft with a diameter of a few millimetres. 3D printers don't accurately print holes. The diameter of the hole in the printed part is typically less than designed for, due to factor such as the plastic squishing and expanding horizontally or the plastic expanding as it leaves the nozzle. If the part is intended to run freely on the shaft, it's not a problem. Just drill the hole out, for example with a pin vice, and maybe sand or file it if needed. I have also tried using a reamer to improve the finish, though I am not sure it makes any difference.
It is a little more of a challenge to make parts with holes that provide a snug fit. This would be for the case when you want to the part to be rigid, or at least firm, on the shaft. You can design the part with a hole for a set screw. I have often done this with 2mm and 3mm screws. I usually design the part with a hole 1.8 or 2.8mm for the screw and then use a M2 or M3 machine screw. It generally works quite well. I have had less success using grub screws. I think their thread isn't deep enough to cut into the plastic. Tapping the hole works. It is still not always a satisfactory solution as some parts don't have a good surface for placing a hole or for getting a screwdriver. Think of a gear with a hub the same height as the teeth, for example. Also, there are cases where you want a fit that will hold under normal use, but where the part can move on shaft if enough force is applied.
I decided to try experiments with a few different ways of making a snug fit. In each case, the shaft is a nominal 4mm in diameter and made from stainless steel. The measured size was about 3.95mm. Usually I find steel shafts are slightly under the nominal size and brass shafts are slightly over. The obvious method is just a simple hole, which I did at 4.0, 4.1 and 4.2mm diameter. I also used a 6mm hole with ribs in it. The ribs are 0.4mm wide. You have to use the Arachne slicing algorithm for them. Finally, tried a 4.0mm hole with a 10mm by 1mm cut out. The designs look this like:
Slicing for the ribbed version shows that there will be a single line of filament:
The tips of the ribs are designed to be 4mm from the center. Note that it prints well, but not perfectly, with some stringing between the ribs.
One preliminary comment before the results. In the past, I think we would have worried about things like whether the printer was square, calibration of the motion system and extruder, whether the filament was precisely 1.75mm diameter and so on. In my view, these are not really concerns for current printers and filaments.
The shaft would not fit at all in the 4.0 and 4.1mm holes and was a bit loose in the ribbed version. It was fitted OK in the 4.2mm hole but was still a bit loose. The fit for the cutout hole was good: I could get the shaft in with a little force, and then it held very firmly. I could make it slip when turning the part on the shaft only with a lot of force.
These tests were with Hatchbox black PLA, using PrusaSlicer's 0.2 structural setting and the filament profile for Hatchbox PLA, Arachne slicing, and some extra elephant's foot compensation. The latter was because the first one or two layers sometime squish a bit more, and may be a tight fit for these layers but not for the others.
With Amazon Basics Gold Silk PLA using the Generic PLA Silk filament profile, the results were more or less the same. The only difference is that the 4.1mm hole was usable and was a tight fit. This wasn't what I expected. Maybe it is because silk filament is sometimes a bit more slippery.
There are no big conclusions to draw here. I hope it will provide some guidance for my designs in future.
As part of a project to make a 3-D printed Curta calculator, I've been looking at various ways of creating and finishing text on a 3-D printed object. In the Curta, this is used for the results dials and the digit selectors, and for some text on the body.
Some possible techniques are:
make a mask or stencil using a Cricut and apply paint.
cut the text into vinyl using a Cricut and stick it to the surface.
print the text onto self-adhesive paper and stick it on.
print the text onto paper, glue it on, and then spray-coat with lacquer.
deboss the text into the surface and fill with the characters with paint.
There are undoubtedly other possibilities. For example, I saw one video using silicone caulk, with washing up liquid to help mask the surface. And if you have a multicolor printer, you have more options.
For the painted versions, there is a further question of whether the prepare the surface by sanding it smooth, so that the paint does not track into the layer lines. It seems obvious that you should do this. With some filaments, the act of sanding makes the surface take on a distressed appearance. In this case, you may be able to paint the surface to restore its color first.
Most of my experiments are with the debossed text technique. I stipple paint into the text, then wipe off the excess with a dry paper towel. When the paint is partially dry, I clean the remaining excess from the surface with alcohol on a paper towel. It worked best when I did this several times, as the alcohol makes the paint that it still in the text run a little more. It helps to clean a patch then dry it, then clean the next patch and so on. I used an acrylic paint. It's better straight out of the tube rather than mixed with any water, as it is more solid and doesn't run as much. I also tried a solid marker (basically very thick paint) and this works as well.
Over time, I refined the technique for this, to minimize the amount of extra paint. When I wiped away the excess with alcohol, I also tried to dry it immediately to limit extra leeching of paint from the digits.
Here are some example results.
The first thing to say is that none of these look as good as the results that Marcus Wu, designer of the 3-D printed Curta, obtained by preparing and painting the surface, then using a stencil. However, he also invested a lot of time in it, and wanted to get high quality for when he gave away his model to a Famous Person. I'm willing to compromise.
Key:
row 1
a. grey filament straight off the printer (unsanded).
b. black filament after sanding with grades from 150 to 3000 and cleaning up.
c. text printed on self-adhesive paper.
row 2
a. grey filament after finishing, with silver paint.
b and c. grey filament after finishing, with red paint.
row 3
a. black filament after finishing, with white paint.
b. black filament after finishing, with white paint from a solid marker.
row 4
a. unsanded blue filament, with red paint. Unlike all the other painted examples, I did an extra round of cleaning up several days after painting it, and this removed a little more paint from the layer lines without causing any additional running from the text.
b. unsanded blue-grey filament, with white paint.
c. blue-grey filament after finishing, with white paint.
Observations and comments:
1b shows how sanding can distress the surface of the print. In 3a and 3b, some of the white or grey marks between the text are the result of sanding, rather than paint.
2b and 2c show that you can get different results even with the same materials and finish. I think 2c is worse because the paint may have been a little more dilute. I was still experimenting with whether to mix any water in with it.
3a and 3b are similar in how much the paint spread. So the more solid paint from the solid marker does not make much of a difference. It might fill the text a bit better, though the comparison is not exact, as I think I debossed it by 2mm for 3b, compared to 1mm for all the others.
the text version in 1c is one of the best. I do have some concerns about the longevity of the glue. Spraying it with lacquer would help, though to do this well you need to be able to let the lacquer dry without dripping. You can also get a seam where the paper wraps round, not shown in this photo.
4a and 4b show that you can get good results even if you don't sand the surface. 4b is better than 4c.
Here is a more recent print, using variable height layers, and after a bit of refinement of the technique.
My general conclusion is that printed paper gives the best results of the techniques I tried, provided it holds up over time. I think the painted debossed text works OK if you want something functional but with imperfect appearance, and that printing without sanding down the layer lines is as good or better than sanding them. However, it's also worth noting that I am not very skilled when it come to doing this sort of thing, and some more adept could probably do better painted versions that I did.
One of my most treasured possessions is a Curta Type 1 mechanical calculator. It's a beautiful and compact device for addition, subtraction and indirectly for multiplication and division. There are many web sites and videos devoted to it, so I won't recapitulate the details here. I recommend curta.org as a starting point, or wikipedia for a summary.
This is mine:
It originally belonged to my father. He left it to me, along with some unusual slide rules which I might write about another time. I can remember him using it in the early 1970s, sitting in his armchair with a pile of experimental results to analyze. Some time around 1973 or 74, he got a HP-35 and then later a TI-57, and he stopped using it.
I put a short clip of it on YouTube to show how smooth the mechanism is.
Subtraction is done by adding the ten's complement (with a special case). You can see this in the second half of the video. The fact that it is so smooth is an indication of how little friction there is and how precisely it is made. There are two excellent videos which explain how the mechanism works: part 1, part 2. I really recommend watching all the way through, as it gives a detailed explanation of how subtraction works, as well as many points of detail which make it so nice to use. The underlying approach is not unique to the Curta, and in fact originates with Leibniz. You can see similar principles in this video about the Arithmometer. The genius of the Curta is to make it compact, lightweight and easy to use.
The serial number tells me that the manufacturing date is February 1962. It's odd to think that when I remember my dad using it, it was only about 10 years old, and it's now over 60. It is only a few months younger than I am.
The reason to write about the Curta now is that I am thinking of making a 3-D printed one, using Marcus Wu's 3:1 scaled design. I've looked at this before, but decided it was beyond my capabilities and the affordances of my printer. The latter has improved; the next few weeks or months may provide whether the former has advanced enough.
Igus is known in the 3D printing world for their bushings, which are sometimes used instead of linear bearings. I recently noticed they sell printer filament as well, see https://www.igus.com/3d-print-material/3d-print-filament. The filament is expensive; for example I150 is $72 for 750g, about 4 times what you would typically pay for PLA. They have several filaments and they seem to be quite different in characteristics. I've written a lot about making clocks, where low friction is critical to some parts of the gear train. By the time you get to the escapement wheel and the gears nearby, they are operating at very low torque and a tiny amount of frictional force could be enough to stall the whole gear train. Steve Peterson, in the build notes for his SP13 clock, comments that the weight of a house fly landing on the escapement wheel would be enough to stop it. The Igus I150 filament looks interesting, as it is said to have low friction as well as being easy to print. There is a posting on Steve's forum from someone who used I150 and seemed to get good results, as shown by needing a lower than typical weight to run the clock.
The Igus web site has a link to request a sample of the filament. Unfortunately, there sample link for I150 does not work. I emailed to ask about this, and a very helpful sales person told me they don't have any samples of I150 at present, and asked if I was interested in I180 instead. It looks difficult to print and requires an enclosed printer, which I do not have. As an alternative, they offered me I151. I am not sure quite how I151 and I150 are related. Comparing the technical specifications side by side, I151 has a higher Shore hardness and density, and a lower flexural strength. I assume that the similar numbering of the filaments means they have similar composition, and this video (https://www.youtube.com/watch?v=xD5_0mWAmZo) seems to confirm it.
A few days after the email discussion with Igus, a FedEx package arrived containing two samples of I151, each about 40g.
Igus provides profiles for the Prusa MK4, and I used these as a starting point. The profile has a layer height of 0.3, which I reduced to 0.2. Note that the I151 and I150 profiles are a bit different, for example, I150 has a higher maximum volumetric flow rate. All my tests use the I151 profile as a starting point.
The first test was to see how easy it was with standard print surfaces. Typically, I start with a textured PEI sheet. A filament such as PETG can stick too well to smooth PEI and damage it (or damage me as I try to dig it off with a scraper). It printed easily on the textured PEI with no warping. The test object was a 20x20x10 cuboid: not a very tricky test, though one which will trip up difficult to print filaments such as Nylon. I dried the filament in a filament drier for a few hours first. The default print temperatures in the profile are 240 on 85. On smooth PEI, the adhesion was very strong, close to what you get with PETG. The only time I saw any warping was on one print where I accidentally 210 on 60, after selecting the wrong profile. One print stuck so hard that the bottom layer cracked when I pulled it off the bed. As with PETG, glue stick on smooth PEI is a good compromise: the print sticks well, but not too well, and there is no warping.
I looked for a couple of things in the print quality. The first is to examine the vertical edges. On a good filament such as Hatchbox PLA, they will be completely straight. Silk PLA often shows some bulges, which may mean that gear teeth printing using the filament won't engage very cleanly. It's not usually a showstopper, but can reduce the efficiency of the gear train. All of the test prints I did looked good in this respect. However, I was a bit surprised to find that the surface texture of the sides of the print was a little rough. It wasn't, as already noted, distorted, and there were no visible pits or zits, it just felt slightly grainy. It's interesting that the raw filament also feels like this out of the package. You can see the texture if you look closely (I don't have a microscope to try to take a picture of it). It's like a less pronounced version of what you get when printing with the fuzzy skin setting. I don't think I have ever known other filaments with this feel, except for some of the exotics such as wood fill. So perhaps I151 has some extra filler in it to provide its special properties and this is what I am observing.
I tried a bunch of things to try to fix this, including copying the extrusion widths and infill settings from a PLA profile and reducing the extrusion multiplier. The default extrusion widths in the profile seem a bit odd: they set the first layer to 200%. The only change which really made a difference was dropping the temperature to 220 (240 for the first layer). It reduced the feeling of graininess, but did not make it go away altogether. The best print in this respect was the one where I accidentally used my PLA setting (210 first layer, 200 after), though the low first layer temperature led to some slight warping in this case, and I am worried about getting a nozzle jam at such a low temperature.
The card that comes with the filament says "Part cooling should be adjusted to the minimum necessary temperature". The supplied profile sets this to 20% min/80% max. As a (rather goofy) experiment, I turned cooling off altogether and unsurprisingly ended up with a squishy mess. I then also tried changing it to same settings as PLA (100% after 3 layers and some other changes), based on the thought that I was seeing better surface textures with lower temperatures. This made the surfaces rougher.
For a final test, I printed one of the gears from Steve Peterson's SP5 clock. There isn't enough in the sample to print a full set, so this is just for visual inspection. The print quality is good: the gear teeth look precise with no bulging, and no lifting from the print bed. The hole for the arbor was undersized and needed to be drilled out, and there is some stringing, but that's similar to many other filaments. The print has the same surface texture issues and I think would not do well when low friction is needed. I did this both with the unmodified profiles from Igus, and with the reduced temperature and other changes I made. It seemed to be important to set elephant's foot correction to 0.
This picture shows the I151 print and one in gold silk PLA. The bright sunlight emphasizes the surface texture, and show how rough the I151 is.
I am unsure what to do next. Videos and forums posts comment on how smooth the surface of I150 prints feels. So there are several possibilities: I151 is different from I150; there is some sweet spot in the settings which I haven't found; and that this is a bad batch. It's hard to believe that the rough surface texture would result in anything other than more friction. For a cheaper filament, I'd just by a small roll and discard it if it didn't work out (I did this with some Nylon recently). But at $72 for the smallest roll they sell, I really have to think about it.
I've recently completed the 3D printed watch with tourbillon, designed by Christoph Laimer and published on Thingiverse in 2016. Here it is in operation:
You might notice that it does not remotely keep time: a minute on the watch is only about 43 seconds in real time. I'll say more about that later. A few more pictures:
In brief, the watch works like this. There is a mainspring in the base, which drives the minute train. The minute train is linked to the tourbillon, which locks and unlocks it and so provides the timing. The minute train drives the bronze (greenish) ring gear. Another gear takes the movement from this ring gear into the hour train, which ends up driving the gold ring gear.
I got my first 3D printer in mid-2015, and when this design came out in January 2016 I decided to give it a go. It completely failed to run, and I set it aside. This is not a surprising outcome. The printer was not very accurate, and I had no idea how to debug clocks and watches or even really much understanding of how they work. Time has passed, and now I have a Prusa MK4. It much more precise than my first printer, and also a lot faster. A consequence of the speed is that I am willing to print at much finer layer heights than before. On my first printer, I was probably using 0.3mm for large parts and 0.2mm for smaller ones. With the MK4, I nearly always use 0.15mm without worrying about how long the prints will take.
On the debugging side, I now have a better understanding of how clocks and watches work, and this helps in building up the mechanism in stages and do partial tests. The tourbillon itself is a self contained unit and I first tested it in isolation. Then I checked that the minutes train worked smoothly, separate from the tourbillon, then the minutes and hours trains together, and finally the whole mechanism.
Most of the parts are from the original design. The tourbillon spring is the medium strength one from A flight of hairsprings. I used the Massey pin in the balance wheel mechanism. It makes the balance wheel less prone to jam against the fork. The bridge on the top is modified from the logo-less version from the torque modification of the design. I decided not to use the hands from the original design as they don't attach very well, and instead printed the black notch you can see above directly into the ring gears.
Now to why the timing is off. When I first put the tourbillon together, I found that it would seize. The reason for this is that the balance wheel was swinging a long way on each tick. While it was at the ends of its movement, the fork could flop around. When the balance wheel swung back, the fork might not be in the right place for the balance pin to engage with it and everything locked up. Using a stiffer spring limits how far the balance wheel swings and so avoids this problem. However, it means the timing is no longer right. For a real timepiece, this would be an issue. But in my case, I intended it more as an objet d'art: something to look at. It isn't really a practical clock, as you can't tune the timing or even set the hands. If it ticks at the wrong rate, that's OK.
I modified a few of the parts. Many interior holes were too small. For the ratchet and ratchet bushing (check the thingiverse page if you want to know which parts these are), I slightly opened them up by editing the STLs in blender. For all of the gears in the minutes and hours trains, I could have drilled out the holes. Instead, what I decided to do was to modify them as follows. All of these gears run on 2mm arbors, so I made the axis hole slightly larger than this for the 2mm or so at each face of the gear (in Blender, again). The rest of the axis hole I made 2.4mm diameter. This means that when I drilled out the holes, I only needed to cut through the 2mm part at each end, so there is not much chance of the drill going askew. The rest of the interior of the axis hole does not touch the arbor, thus reducing friction. Steve Peterson uses this in his clocks, and I've mentioned it in a previous post.
The teeth on most of the gears are tiny, only about 1.5mm from tip to base. You need accurate printing followed by a close visual examination for any blobs or wisps of filament for them to work smoothly.
The filaments are Flashforge burnt titanium PLA for the body, gold and bronze silk PLA for the gears and moving parts, and PETG for the main spring. The burnt titanium filament looks very nice, but is not so good to work with. You get a lot of stringing and blobs, and the printed surfaces are slightly rough. The ring gears have a large contact area, so you really need something smooth and with low friction. Silk PLA is ideal for this.
The design also calls for a rather bizarre range of small screw sizes. I think many of these could be replaced with more standard sizes (or at least to use one or two sizes throughout) with minor design changes. I didn't try this, though it's noteworthy that the design included the original CAD model in Fusion 360 format, making such modifications easier.
How long will it run? From a full winding, I can get 20-25 minutes. I expect this will decrease over time as the mainspring weakens. Here is a 10x timelapse starting with a fully wound spring and letting it go until it stopped. With a nudge it will run for another minute or two.
And also a look at the mechanism in slow motion:
This is a remarkable design by M. Laimer (aka TheGoofy). It was one of the first 3D printed timepiece designs and it outclasses many more recent designs in the care and thought that went into it as well as the attention to its visual appearance. I would definitely rate it higher than, for example, the Tourbillon Mechanica, which just looks messy to me, or the many published tourbillon design which just don't run well. Very nice.
It is sometimes difficult to print small gears. Typical problems are teeth pulling up or distorting or simply the whole thing coming loose and sticking to the nozzle. I don't believe there is any universal solution to this, so here are a few tactical things you can do. Obviously start by making sure that your printer is well calibrated, the print surface and nozzle are clean, and that the bed is levelled. I usually clean the nozzle by heating it to just under the print temperature then removing any stuck on filament by lightly brushing it with a brass wire brush. It helps to put a mirror on the print bed so you can see what you are doing. I have a concave shaving mirror that also magnifies. My Prusa MK3S is set up for levelling using a slight modification together with an associated process known as "bed levelling without wave springs" (it's a misleading name reflecting the history of how the author of the process got there), and if you put in the time with this you can get a very accurately levelled bed.
The problem with small gears is that you can get small segments in the teeth which result in a lot of nozzle moves and retractions. Due to the viscosity of the filament, the move may pull the feature it has just printed off the print surface or plow through a small feature which is isolated from other features and so doesn't have much attachment area. Generally once you are past the first layer, things will go OK. You might get some stringing or blobs, but you can fix these up when the print is complete.
A first thing you can do is examine the features in the slicer preview and adjust settings to try to avoid such features. For example if you see something like the small triangles and dots in this example, you may be in for a problem:
There are several parameter changes which may help. It's not possible to say that any of them will definitely improve the slicing. The best thing is try them, look at the result and see if it appears better:
increase or decrease the number of perimeters. Stick to a minimum of 2. More perimeters give you greater strength and rigidity. If the gear doesn't take much load (for example, the gear train from minutes to hours) then 2 will be strong enough.
reduce or turn off elephant's foot compensation. It makes the first layer smaller, so making it more prone to these small features. If your printer is well-calibrated, you may not need it anyway.
switch between the Arachne and classic slicing algorithms. Sometimes one just does better than the other.
If you have access to the model you might also be able to tweak it, but that's a bigger task and doesn't always help.
Another setting that can be useful is external perimeters first. This won't change the slicing, but guarantees that you have a single solid outline for the remaining tracks to stick to.
It's been a while since I wrote anything more about my prototype clock. I haven't been working on it much.
There are a couple of changes since the last version. I reorganized the orientation of the gears to space them out a bit, so that there is less chance of them rubbing. I also replaced the previous ratchet with a gravity one. The original ratchet used very thin springy pawls which had a tendency to break off. I replaced this with an arrangement similar to the one used in Favre's clock 24, in which the pawls simply drop into place as the weight drum turns.
I finally got a working seconds hand. In earlier designs, there is a gear that turns once per minute, and this can either be mounted on a non-moving arbor, or attached to an arbor which then also turns the seconds hand. In most cases, as soon as I configured it the second way, the clock stopped working reliably. I believe now that the reason is friction between the seconds arbor and the minute "tube", which surrounds it. For a number of the gears, there is a long tube, either to bring out the motion to the front of the clock (for the minutes and hours hands), or to provide a bit of stability and stop the gear tilting. Like several of the gears seen here:
Doing it this way means there is a lot of contact area between the tube and whatever arbor or runs on. I changed this so that in such cases, the tube opens up inside, so that only the very ends have an inner diameter close to that or the arbor. This made a huge difference in the amount of friction, and the seconds hand now runs reliably.
The biggest remaining flaw is the short run time, as I discussed in a previous post. To increase it, I would need to change the diameter of the weight drum or the ratio of the gearing between the ratchet and the minutes gear. But I think I am done with this prototype and won't carry it through to a more fleshed out design. I've learned a lot from it.
One last thing which interests me is replacing the weight with a remontoire like the one used in the swingtime clock. To try this, I removed the weight drum an ratchet and just attached a small amount of weight to the gear between the seconds and minutes. You really don't need much weight for it to work:
Two binder clips are enough. If you are lucky, it will work with one.