Sanding surfaces?


Two parts from my model, work in progress:

parts.3dm (2.0 MB)

The cover (orange) slides into the rails. I am designing for FDM 3D printing in ABS plastics with desktop devices such as a MakerBot or an Ultimaker. As the manufacturing process is not infinitely precise, I would like to add some clearance to the rails, a tiny gap of 0.1 mm. For one of the rails, I have started doing that manually, reconstructing the rail with an offset, then applying chamfer. It was a tedious process. If I later find out that 0.1 mm was not a good choice, then I have to reconstruct the rails again: Oh no! And it’s not just the rails: The entire model currently consists of eight parts that need to fit each other.

What is a good workflow for adding clearance to mechanical designs?

I am even considering sanding down manually after printing. It could be quicker than doing it beforehand in Rhino.


The first is to stop thinking to “mechanical” in Rhino! What about direct face editing via Gumball - using Ctr+Shift selection? Or maybe SolidPtOn?


Hi Felix, 0.2mm clearance should be the minimum if you print using MB. To add the clearance to the “manually sanded” marked part, you might consider using MoveFace.

Some tips, in case you print yourself: Make shure you leave the parts in the printer for some time after it`s done to avoid shrinking of the ABS. If you plan sanding afterwards and the parts are fragile, increase the infill and number of shells (eg. to 3) so you do not open the parts when sanding too much. :wink:

Do not forget that probably you have to remove support material which can get tricky in holes and various areas of your model which need to fit together…



Adding clearance shouldn’t take more than a couple minutes.
Just create the channels and subtract from the part. See file:

partX.3dm (1.9 MB)


I use SolidPtOn quite a lot, but if there are complex trims, then I often prefer to simply reconstruct the surfaces.

I let print by fabberhouse on an HP Designjet 3D, essentially a Stratasys machine. Measuring a previous print of a simple block with some holes, I found that the block’s dimensions are ca. 0.1 mm thicker than in the design.

My design should also work on a MakerBot or an Ultimaker, so that others can collaborate.

Do you think a Makerbot would require support material for my model? Overhangs are no more than 45°.

By the way, in my design, there are two plugs which I would like to fit snugly, just like Lego blocks. Here I don’t want to introduce too much clearance. On the other hand, perhaps a tight fit simply is not predictable with these kind of desktop printers. An alternative approach would be to use magnets to hold plugs in place. Can you help me with an opinion?

Thanks for the suggestion! Indeed I didn’t know that it’s possible to subtract open polysurfaces. About the minutes: The channels are not the only thing that needs clearance.


I guess the Designjet produces much better results compared to a MB printer. If MB: The two parts above, support material not necessarily if the personal orientates the parts properly. For the other parts you did not post you might try yourself using Makerware by doing a preview. Very thin walled parts i´ve printed yet with 45° overhang do have a noticable sign of degradation on the backside.

You could download some Lego parts from thingiverse and check which clearance they used when printing on a MB. Or sand the plugs slightly.

I´ve been getting snug fit parts (rails) if i have a clearance of 0.25 mm between my parts when printing with 0.2mm layer height. Using a finer hight of 0.1mm, the parts where snug fit with 0.2mm clearance. Both parts where vertical T-shaped rails with a length of 30mm. If the rails would have had a larger length, it would have been hard to unmount, too much friction :wink:

Without using magnets, you could add a small nose or nipple. If it is too large and produces to much friction, it can be removed slightly with a cutter.



Print resolution is lower, though, at 0.254 mm vs. 0.1 mm on the MakerBot. Some weeks ago I received a sample from MakerBot Industries. It’s a print of Thingiverse thing 9095, a nut and matching bolt. Resolution is astonishing, but for my purposes I don’t like PLA, the material that it’s printed in. Of course, even at lower resolution, the DesignJet may still provide better results if parts warp less during printing.

I installed Makerware 2.4, but I don’t see a preview option. After loading an STL file, I can orient it on the build plate, and I can export it to G-code. Then I can import that into a G-code viewer.

Thanks for the suggestion. I just downloaded the models of the Lego bricks with the most makes, thing 591. There is no clearance. However one needs to keep in mind that the knobs are round and attach to planar faces. So there is much less friction than between two planar surfaces like in my model.

Thanks for the numbers concerning rails! One could also reduce friction by splitting one rail into a series of plastic noses:

    ____      ____
___|    |____|    |____…

Designing a nipple seems hard without a couple of test prints.

Anyhow, in the end I guess sandpaper and a cutter are indispensable tools. Yesterday I sent some test parts for printing to fabberhouse, with varying dimensions. That should give me at least a rough idea concerning what clearance to use.


Yes, but it does not really mean much. I guess 0.252 is the smallest feature it can print. I´ve found that when i print with 0.1 on the MB, the problems i got are not worth it, espectially if overhangs are printed. It takes more than twice the time. If you print just vertical parts and compare with 0.2, the latter looks almost identical. I´ve built comparison parts with the default settings, 0.2 is the standart resolution. The positional accuracy is ok on the MB.

Once you´ve clicked the Make button, in that dialog there is a small checkbox labeled “Preview before printing”. After slicing is done, it should pop up a dialog which lets you watch the slices with a slider so you can check infill. You can check toolpaths from there too if the lower checkbox is enabled.

Absolutely. You might do that with smaller (extraction) parts and then adjust them slightly before printing the full model.

happy making !



Thanks that works, although the preview is slow and small.


Yep, you may resize the window or better check Cura for faster slicing and preview.

Maybe someday all this can be done right out of Rhino and by using Grasshoppers sliders to look inside the model and adjust parameters in realtime…just dreaming :wink:



Thanks for pointing that out! I had Cura already installed, and - like with Makerware - I initially missed how to preview tool paths. Now that I found that, Cura is a nice tool to get an idea how parts would print on a consumer desktop printer vs. an HP (Stratasys).

By the way, yesterday I received a test print, made on an HP Designjet 3D. The rails were with 0.1 mm clearance, and they work quite well! ABS is a nice material, being slightly elastic. However, the plugs don’t function out of the box. This is because they feature a geometry that warped, even on the Designjet:

  / |
 /  |

Warped to:

  / |
 /  |

In general it seems best to avoid geometries that converge to one line of printed plastics. This type of geometry can also be seen in the rails, but there it doesn’t cause that much of a problem. Still, it’s possibly best to round the rails off.

A geometry that prints surprisingly well:

 \       |
  \      |
   \     |

Update: I just found a document titled “DESIGNING FOR ULTIMAKERS”, provided by a fab lab in Denmark. It seems to provide many useful suggestions.

(Adam Hollis) #12

There are a bunch of ways you could rebuild the parts that only take a few minutes at most. wirecut, if you need to make them smaller, or boolean split. If you wanted to make them bigger, extract srf, delete existing srfs, sweep w/ new offsets, and the remove the end srfs, join the new sweeps to the main srf, and cap to make it solid again. Sanding is a decent option if you only need to make one working part though.


Depends. Initially I had some complex intersections, which would require not just rebuilding the surfaces that I want to (virtually) sand. However, I have since simplified geometry.

Thanks for listing some helpful commands. I was not aware of wirecut.

Judging from the results that I got with Stratasys print technology (Designjet 3D, Dimension 1200es), a little sanding or cutting is necessary to get a good fit of multiple parts.


Rails worked beautifully in the end, with 0.1 mm clearance:

My model is available as thing 433339 on Thingiverse. I had it printed on a Stratasys Dimension 1200es.