Jump to content
Ultimaker Community of 3D Printing Experts
rich17222

Printing small letters

Recommended Posts

I am trying to print small objects (20 mm and less) with very small lettering (on the order of 3-4 mm tall). So far I have found that neither Cura nor Slic3r accurately reproduce the letters after slicing (the .stl files look OK). Has anyone found some slicing software that will accurately reproduce small letters and generate corresponding gcode from which I can make a print? I am using an Ultimaker Original+, and have software running on both a Linux desktop (Ubuntu) and a Mac Airbook (iOS). I usually download the gcode files to an SD card for printing, so I can work from either the desktop or the laptop. Any suggestions will be greatly appreciated.

Share this post


Link to post
Share on other sites

The limitation is probably your printer, or more exactly your printer's nozzle size.

Check the width of the lines in your characters. If they are narrower than your nozzle size, they will not print - no matter what slicer you use.

Most printer use .4mm nozzles, so your lines must be at least that wide. You can fudge slightly by telling the slicer you have a .39mm nozzle and that will help print lines that are exactly .4mm wide, but not less.

So basically, the only way to print small letters with narrow lines is to use a smaller nozzle size, eg: .2mm, .25mm, .3mm

Share this post


Link to post
Share on other sites

Most printer use .4mm nozzles, so your lines must be at least that wide. You can fudge slightly by telling the slicer you have a .39mm nozzle and that will help print lines that are exactly .4mm wide, but not less.

 

Well you can actually change the line width to 0.33 on most cases (using 0.4). I also have done 0.25mm using 0.4 but ofc to keep the material flow going I had to print 0.25 layer height for that trick.

Also when playing with line width lower than the nozzle you need a perfectly ok extruder that doesn't mind lots of retractions so you avoid any dripping moving from a to b. Basically is harder, but doable if you spend time tunning your settings.

Share this post


Link to post
Share on other sites

another option might be, if your model is suitable for this, to rotate your text in the z direction. In the layer height you have more resolution, up to 0.06 mm. If not possible, go for the suggestion neotko mentions: use Cura 2.3 and set the line with smaller than the nozzle actually is.

  • Like 1

Share this post


Link to post
Share on other sites

rich can you show a picture of your model in cura?

Here are some examples of small lettering I've done. This is with .4mm nozzle. I can go much much smaller with .25mm nozzle but never had to.

These were on UM2 with .4mm nozzle. Swapped filament after first print was done (first print was red, second print white on top).

DSC_2035.thumb.JPG.5511b094b4af5ed6c0e4ef8e970099bc.JPGdcDSC_9083.thumb.JPG.bab9c1b7d42e1611d3cd33d2e675ef66.JPG

DSC_2035.thumb.JPG.5511b094b4af5ed6c0e4ef8e970099bc.JPG

dcDSC_9083.thumb.JPG.bab9c1b7d42e1611d3cd33d2e675ef66.JPG

Share this post


Link to post
Share on other sites

rich can you show a picture of your model in cura?

Here are some examples of small lettering I've done.  This is with .4mm nozzle.  I can go much much smaller with .25mm nozzle but never had to.

These were on UM2 with .4mm nozzle.  Swapped filament after first print was done (first print was red, second print white on top).

DSC_2035.thumb.JPG.5511b094b4af5ed6c0e4ef8e970099bc.JPGdcDSC_9083.thumb.JPG.bab9c1b7d42e1611d3cd33d2e675ef66.JPG

 

I very much appreciate the efforts you all are making to help me.  I am new to 3D printing and to this forum, so please bear with me as I learn the proper protocol.

Apparently, I did a poor job of explaining my problem.  Perhaps the attached screen prints from Cura will help (I get the same result from Slic3r).  The first one is the model as it was input into Cura as an .stl file created in TinkerCad.  The second shot is the same  file after it was sliced by Cura; i.e., the "layers" view of the same model.5a3325fd34047_ScreenShot2017-01-08at7_03_11PM.thumb.jpg.d8916175ae3e212bf15c3901e64cfef9.jpg5a3325fd68457_ScreenShot2017-01-08at7_03_35PM.thumb.jpg.d8c3a2ec9d7acf15c5a12254a8587c4f.jpg

Note that the letters are not fully formed.  For reference, the dimensions of the model are as follows: width of the base is 25 mm; depth is 11 mm; height is 20 mm; letter are app. 3 mm high with an extrusion height of 3 mm.

I have tried various sizes of the model and found that the letters become fully formed when the size is increase by 300% or more.  But that is not useful to me.

Because the problem becomes obvious when I look at the "layers" view of the model in Cura, before exporting the gcode  for printing, I do not believe the problem is with the printer, but rather with the slicing software.  But out of curiosity, i executed a print using the model as shown.  The printed version looks just like the "layers" view of the model.  Any ideas?

Thanks for taking an interest and trying to help.

5a3325fd34047_ScreenShot2017-01-08at7_03_11PM.thumb.jpg.d8916175ae3e212bf15c3901e64cfef9.jpg

5a3325fd68457_ScreenShot2017-01-08at7_03_35PM.thumb.jpg.d8c3a2ec9d7acf15c5a12254a8587c4f.jpg

Share this post


Link to post
Share on other sites

I have been working on this myself. the best thing I have found it to change the nozzle doing the letters to 1 for wall thickness. I found when more are set it fills in better.

Still trying to find the best font to use.

My limit though is around 5mm height on some of the fonts.

Share this post


Link to post
Share on other sites

A San-Serif Fonts work better (this is a real pain with Chinese Characters!)

Notice how the narrowest parts of the lettering are not being rendered - they are smaller than your nozzle or extruder line width.

Like the others have said (and new for me as well), you can print narrower lines by setting your line width down to as low as .25mm for a .4mm nozzle.

And printing with a Wall Line Count of 1 also helps (as you have discovered).

Edited by Guest

Share this post


Link to post
Share on other sites

It occurs to me that the problem seems to be with the file types and conversions I'm using to build my models. The lettering originates in the application Inkscape, which I like because it offers a wide variety of fonts and outputs an svg file which can then be imported into TinkerCad. I have some other models that contain rather intricate designs that originate as jpg files and are converted to svg with an on-line converter, then "cleaned up" using Inkscape. Those don't slice very well either. So it appears that maybe svg files aren't as scalable as one would want. The problem could be with Inkscape. I will try to find other ways of getting the text and jpg files into a file type that works better than svg and can be imported (or just input) into TinkerCad. Maybe direct conversion from jpg to stl is possible?

Share this post


Link to post
Share on other sites

My last post was before I read yours.  My apologies.  Next time I'l look before I leap.

This is where my ignorance comes in.  In looking at Cura, I have not yet found how to adjust the line width and Wall Count.  One of the parameters is wall thickness which is clearly related to both wall count and line width, but how do I adjust those other parameters?

Share this post


Link to post
Share on other sites

Hi there,

Long post ahead. Sorry. Hope it helps. :)

I have on several occasions, and just recently too, done some letter printing. Here are some observations of your situation based on my experiences:

First, as others have said, nozzle size. I mean physically. If your printer has a 0.4mm nozzle, then thinner lines are either not possible or tricky to get working. And even with tricks, there will be a physical limit on what you can achieve. For a 0.4 nozzle, depending on font, I can get down to 8 or 6mm high lower-case letters max. With a 0.25mm nozzle I can get better detail, and probably smaller font size too, but I have not personally tested that case.

The thing to remember is, if the line is too thin, Cura will just not render it. Will not send it to the printer. So if it is not showing up in the Layer view, it is because the lines are too thin. This is not a bug, this is just Cura doing the best it can given the physical constraints of 3D printing. I suspect Slic3r would be the same, but I have not experience with it.

Second, font choice makes a big impact. Like DaHai8 said, sans-serif fonts are better. Those little serif pointy bits are just too thin, except on larger size letters. If you look at Gr5's pictures, you will see the "Anne" one is small and sans-serif, whereas the serif ones are all larger single letters. And they have pretty fat serifs at that. Also some fonts just have thinner lines than others. Or thin horizontal lines and thicker vertical ones (that was my recent issue). So picking a 3D print-compatible font is important. Not just any old font will do.

Third, as mention by peggyb, your vertical direction (Z) has much greater resolution, so if you can turn your model sideways, you might get better font results. But in my experience, the results often look worse in different ways. (Drooping, etc.) Still, it might be worth a shot. If you do try this, then keep your lettering indent/outdent shallow. 0.5mm - 1mm. If it overhangs too much, you will get drooping.

Fourth, raised vs sunken writing can make a difference too. If the writing is sunken, then it is not the nozzle width you have to worry about, it is just the accuracy of the head movement. The negative space with no plastic is your lettering, rather than the extruded plastic being the lettering. Sunken is not always what you want. And I have, with the above-mentioned aspects in mind, had good results with raised lettering. Just not as tiny as your attempting.

Basically, at the size you are trying and with the font you have shown us, I do not think there is any software setting that will get you want you want. IMO, you will have to change your model and maybe try a smaller nozzle if you can, to make something work at your size constraints. Either that, or print bigger.

But that is just my opinion, and others here might have some smarter tricks! :)

Anyway, I hope this info is helpful. Good luck! And welcome to the community! :D

  • Like 1

Share this post


Link to post
Share on other sites

@krys

photo01.thumb.jpg.e5dad306676a7027c23e60187da9111d.jpg

I can do fonts of 2.8mm tall no problem. Just fine tune of the settings and tons of retractions to keep every extrusion under-control.

I wonder why the image shows rotated..

photo01.thumb.jpg.e5dad306676a7027c23e60187da9111d.jpg

Edited by Guest
  • Like 1

Share this post


Link to post
Share on other sites

Hi @neotko,

It figures that you would have success here, base one what I have seen of your other works! :)

Those are really nice results! That's with a 0.4mm nozzle?

Though I do see that you are using a sans-serif font with a nice wide line width. :) That is quite different to what @rich17222 has shown us. I do stand by what I said that rich17222's model will need to be changed.

Still, glad to see it is doable at the sizes rich17222 is talking about! I knew other clever people would have good answers! :D

Thanks for sharing!

Share this post


Link to post
Share on other sites

Indeed is important to use fonts that you know that doesn't change the width along the font, otherwise you can't control it. Anyhow I been able to print other fonts, but for script fonts is important to do a line offset from the thin font, something like 0.16-0.17 on both directions and close the path and extrude. So you get a 0.33-0.34 font.

So, yeah isn't automagic for some fonts but definitely doable. The hard part is to have a good extruder that allows you infinite retractions so you can trust your slicer when moving from a to b on very small areas. Ofc @peggyb suggestion is the best if you can print the fonts on the z. And if you print slow with good fans, and you don't care about the bottom of the part, just rotate it 45 degrees and play with the font structure.

But if you want to do something like a rubber stamp, is just better to invert the design and fill it with a flexible material like sugru (I did that for a job and works fine).

  • Like 1

Share this post


Link to post
Share on other sites

I never thought to doing an offset to widen the font explicitly. Good idea! :)

Suguru is also a nice idea!

I guess I have been lucky as I have done several massive retraction prints before and never had an issue. But I see your point.

Thanks! :D

Share this post


Link to post
Share on other sites

>Note that the letters are not fully formed.

This is exactly what I thought you meant but thanks for posting the picture. Now we are all sure that we are talking about the same thing.

Even if you only have a .4mm nozzle - try entering .3mm in cura just to see what happens as a quick experiment. If you have cura 2.X then enter this in the "line_width" parameter. If you have cura 15.X or older then enter this in both nozzle width *and* shell width. In fact shell width is more important for cura 15.X and nozzle is sometimes ignored (it's complicated).

Please just do this experiment and look in layer view. Don't actually print it.

A .4mm nozzle can print "okay" down to about .3mm. A .25mm nozzle can print similarly smaller.

Share this post


Link to post
Share on other sites

Wow!! I'm impressed by the number of useful responses I've gotten.

Frankly, it never occured to me that Cura would not render the small fonts because I told it I had a .4mm nozzle. I will try entering a smaller nozzle size and see what happens. If the layering is improved, I will have to consider going to a smaller nozzle on my printer.

It would be difficult to make the models larger since I am in fact making "rubber stamps" that replicate existing text and designs and are that size. I could go to a sans-serif font if necessary, but the serif fonts look much better and better replicate those that exist. That was why I started using Inkscape in the first place.

In any event, I now have my work cut out for me. Thanks for your help and suggestions.

Share this post


Link to post
Share on other sites

Wow!!  I'm impressed by the number of useful responses I've gotten.

...

In any event, I now have my work cut out for me.  Thanks for your help and suggestions.

 

We are a pretty helpful bunch around here. I hope you keep us updated with your progress! :) Good luck!

Share this post


Link to post
Share on other sites

Thanks to all of you, I am gradually gaining an understanding of how Cura and my new printer work and interact. I obviously didn't understand your initial answers that the nozzle size was the problem. I do now.

I followed up with a couple of your suggestions. Here's what I've found so far.

I went into Cura and set the nozzle size to .3 mm to see if that imroved the sliced rendering; it didn't. So I tried smaller nozzle sizes to see what happens. The letters didn't render properly until I got down to a .1 mm nozzle; impractical. So I decided to try peggyb's suggestion. I went back to TinkerCad and rotated the model so the lettering was horizontal. I also reduced the letter height to 1.5 mm to try to prevent sagging and reduced the block height to 10 mm to reduce printing time. I then went to Cura and tried several layer heights until the letters rendered properly. That turned out to be .04 mm. But some of the letters then had vertical lines that were less than .4 mm and didn't render. I decided to try a print anyhow to see how it would turn out. I also enabled support to try to eliminate sagging and started the print. It's running now. I'll let you know how it turns out, but I expect I will have to go back to Inkscape to find a font that has wider lines.

Share this post


Link to post
Share on other sites

OK, so enabling support wasn't such a good idea. Most of the letters seemed to print properly in the horizontal direction without noticable sagging at a depth of 1.5 mm, and at a layer height of .04 mm the support plastic was difficult (impossible?) to remove so I couldn't even see some of the letters. I intend to retry that print without support enabled, and while that's going on I will look for a better font to use on my models.

Share this post


Link to post
Share on other sites

In the beginning, I also had trouble that Cura wouldn't print things smaller than 0.4mm (UM2 with standard 0.4mm nozzle). So for printing small text, I designed my own character set on a 0.5mm grid. Thus all strokes are wider than 0.4mm, with some spare: vertical and horizontal strokes are exactly 0.5mm wide. Diagonal strokes have a width between 0.48 and 0.53mm.

Caps-height is 3.5mm, and most characters are 2.0mm wide (except W, M, and a few others). These characters are very easy to design, and they print reasonably well if printed cool and slow enough.

I also tried different variants of some characters, to see which are printed best for raised text, recessed text, and hollowed-out text (=completely inside transparant material, as a watermark).

See the picture for an idea of the characters.

character_set_demo2.thumb.jpg.ef55b45331945b2d5b3d5312b2a6ffb0.jpg

Edit: added pictures of these characters 3D-printed as hollowed-out text, thus text fully enclosed by this transparant PET material. Here too: caps-height is 3.5mm, character width is 2.0mm.

topside_keys.thumb.jpg.81284fbf63eeba1aea0ee0804af744d7.jpg

top_side2_cut.thumb.jpg.e86c8dae490a8719789e5aa15ec5a6c7.jpg

character_set_demo2.thumb.jpg.ef55b45331945b2d5b3d5312b2a6ffb0.jpg

topside_keys.thumb.jpg.81284fbf63eeba1aea0ee0804af744d7.jpg

top_side2_cut.thumb.jpg.e86c8dae490a8719789e5aa15ec5a6c7.jpg

Edited by Guest
  • Like 2

Share this post


Link to post
Share on other sites

I'm surprised no-one mentioned the obvious: use BOLD for the font to thicken everything.

 

Yes, you are right. Bold does indeed work well for some "monoline fonts" where all strokes are the same width, typically road-sign style fonts, and if the characters are not too small. It is a good solution if you need text of ca. 10mm high. I have used that too.

But for a lot of average fonts, bold mainly thickens the vertical strokes, not so much the horizontal. That still gives lots of problems in the narrow areas of characters like: a, r, n, b, d, etc., at very small sizes (a few mm caps-height). And it obviously doesn't work at all for serif-fonts.

Maybe the reason why it is not said, is that everyone expected that everyone already tried that? :)

Share this post


Link to post
Share on other sites

 

I'm surprised no-one mentioned the obvious: use BOLD for the font to thicken everything.

 

...

Maybe the reason why it is not said, is that everyone expected that everyone already tried that?  :)

 

I will admit, I just never thought of it! :p Nice thinking, @eldrick!

Though, it seems @geert_2 has thought quite a bit about it. :)

Share this post


Link to post
Share on other sites

When looking at Geerts font it is very similar to the OCR type fonts. I guess that also makes sense, they are made to be legible in poor circumstances. I guess using them in low resolution or small 3D prints can be beneficial.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Our picks

    • Taking Advantage of DfAM
      This is a statement that’s often made about AM/3DP. I'll focus on the way DfAM can take advantage of some of the unique capabilities that AM and 3DP have to offer. I personally think that the use of AM/3DP for light-weighting is one of it’s most exciting possibilities and one that could play a key part in the sustainability of design and manufacturing in the future.
        • Like
      • 3 replies
×

Important Information

Welcome to the Ultimaker Community of 3D printing experts. Visit the following links to read more about our Terms of Use or our Privacy Policy. Thank you!