Offset surface command is not producing a solid

Hello, I am trying to offset some polysurfaces because they need to fit together when I 3D print them and I have noticed that the prints end up having a slightly larger volume so the fit isn’t perfect.

This ends up being fractions of a mm but do affect the final result due to the objects size. Before you ask, acetone is illegal in my country (only large industries can buy them) so I can’t do an acetone bath to reduce the imperfections and sanding it isn’t always possible due to size. After some trials I have determined that each piece ends up being 0.1mm (0.01 in the rhino model) larger so I need to offset that amount.

However, all the resulting polysurfaces are open or invalid in some way or another. There are a few things I’ve already tried:

  1. Increasing and reducing the “units” tolerance
  2. Increasing the object scale and then offsetting it
  3. Turning the object into a mesh and then offsetting the mesh with “OffsetMesh”
  4. Repairing the objects (this ends up taking hours and usually doesn’t work completely and, in some cases, they can’t be repaired)

I am all out of ideas so I would appreciate some advice, thanks!
offset surface.3dm (646.3 KB)

Ps: I am currently using Rhino 5 so I do not know if this problem happens in Rhino 6 as well.

The V5 command is for individual surfaces, not for polysurfaces.

V6 has a Test command called TestOffsetPolysurface which might work.

1 Like

Thanks! will do

hello @John_Brock I have installed rhino 6 but can’t find the command you where talking about “TestOffsetPolysurface” how do I access it?

Test commands do not auto-complete; type “TestOffsetPolysurface” (no quotes) in the Command line.

Thanks! I didn’t knew how that worked,

however the result isn’t better than what I was getting with offset surface, perhaps there’s an other option? maybe with grasshopper?

Is the problems that the Rhino geometry is the wrong size? Or is it the accuracy of your printer?

How big are your physcial objects? Are they 9 x 6 x 12 meters or 9 x 6 x 12 millimeters or 90 x 60 x 120 millimeters?

An absolute tolerance of 0.01 means the results of offset surfaces may be different by up to 0.01 from the theoretical exact offset surface.

Did you change the absolute tolerance before or after offseting? Important - changes in tolerance only affect changes to geometry made after the absolute tolerance is changed. Tolerance problems are not fixed by changing the tolerance after the geometry is created.

The usual rule is absolute tolerance in Rhino should be 1/10 the size of the physical tolerance. So if the acceptable physical tolerance is 0.01 mm then start working with an absolute tolerance of 0.001 mm.

Huh? OffsetSrf works on polysurfaces in V5 (and later).

This test command is also in V5, but I don’t think it is valid anymore, as all the functionality has been rolled into OffsetSrf… ( @chuck correct me if I’m wrong… )

fdm 3d printed pieces are bigger because of the proportion between the nozzle diameter and the layer heigh. has nothing to do with pinter accuracy. is just how it works. if you have let’s say a 0.4 mm diameter nozzle and make 0.1 layer heigh. the remanent volume goes to the sides of the layer.
Some slicers like Simplify3D already has Horizontal Offset to fix this
in some cases you could use Scale2D instead of offseting the entire piece in 3 dimensions. A common case are screws, if you scale 2D the thread you will not loose the pitch size while giving it a gap.
Using Simplify3D I often choose -0.1 mm for tight joints and -0.2 or -0.25 for loose joints


@davidcockey the final printing size is 90x60x120mm or 9x6x12cm and its like @DiegoKrause said its just part of the 3d printing process and no 3d printed object can be 100% accurate. In this case the walls are 0.1mm thicker and belive it or not it does affect my print. Regarding the tolerance, I have tried offset both with 0.01 and 0.001 tolerance.

@DiegoKrause I hadn’t thought about using 2D scale, that might work as you say, being such a small deformation. Could you share a screenshot of the option you were talking about, “horizontal offset”?

I ask because I am currently using a MakerBot, it’s a borrowed printer because my davinci is in need of repair and I am unfamilair with the slicer of MakerBot.