Rhino's "bad objects"

I almost never start (or finish) in Rhino. It’s just a tool to sketch/check/fix things for me.

So these “bad objects” are driving me crazy. I don’t get them in other CAD packages, so why do I get them all the freaking time in Rhino?

Anyway, I was told to enable an automatic check for bad objects setting in another thread, so now instead I get this every time I edit a block:


The “report bug” just goes to the check for bad objects help page… but does McNeel really want me to send them every STEP file I import that generates a bad object?

The bad objects are usually those where the surface edges were trimmed improperly, or some surface has self-intersecting control points.
Models created in Solidworks are often considered by Rhino as bad objects, because SW uses fake geometry to visually fill some gaps that are not mathematically accurate. Think of it as Rhino’s own ! _JoinEdge, which also creates a fake illusion of two joined edges while in reality there is a gap between the surfaces.

1 Like

Well, the simple solution is to simply stop checking for them then. If leaving them as bad doesn’t hinder your workflow in Rhino, then you don’t need to do anything. If you do run into a situation where a Rhino process or command doesn’t work however, then you might check and see if the reason for the failure is a bad object…

Here are a couple of examples of bad objects in Rhino caused by the “Fillet” command on relatively simple geometry. In some cases the command generates fillet surfaces consisting multiple duplicate control points placed in the exact same location, as seen in the 1st video:

Hello- without examples, it is impossible to say. The warning is generated any time a bad object is inserted to the document - this may be the same object, from the users’ perspective but for Rhino edtiting an object causes a new one to be created. I would check for bad objects while the block editor is open.

Well, I’d say that the majority of imported STEP files generate “bad objects” so I’m starting to wonder if the problem isn’t with Rhino rather than something else…

But as it s happens, I just managed to generate a “bad object” by Rhino itself, and since the “Report Bug…” button doesn’t really work, I’ll report it here instead:

Note the “DistBetweenRails” option.

bad.3dm (198.0 KB)

EDIT: Oh, boy… and it continues… filleting is really a nightmare in Rhino…

Got that, thanks

RH-68511 FilletEdge bad object


Got another one repeatable:

  1. Extract the green face
  2. Use the red surface to trim away the dashed part (ie what’s below the red surface in the image)
  3. Join the green face back to the black object

bad-object-bug-trim-join.3dm (1.0 MB)

Imagine “McNeel” making a deal with the Solidworks team to use the same robust fillet engine in Rhino… :smiling_face_with_three_hearts:

1 Like

Hi Robert -

That appears to have been fixed in Rhino 8.

1 Like

That would be Siemens they’d have to make a deal with since Solidworks runs on Parasolid, which comes with A LOT of baggage… but they also claim that some newer tools actually run using Catia code since Dassault owns them… either way, it would probably cost an insane amount of money.

However, maybe we could all start asking for improved robustness in that area for Rhino 9 or 10? :wink:


I haven’t tried newer Solidworks after 2015, so I have no idea if its fillet has a baggage or not. :slight_smile: But several years ago the SW fillets were pretty good and worked on extremely complex shapes 99% of the time. However, to do so, SW uses “hacks” such like using fake radius that will not always follow the user-set radius. This is how complex fillets are possible in SW, whereas a perfectly accurate radius would cause issues.

Got another bad object by joining the brown one with the red and yellow:

But not only do I not see any issues, it’s a mirror of the green surfaces which did join without problem and the yellow is just trimmed from the brown original surface.

Now, since I repeat this three times on the larger surface, a workaround that I discovered is to trim down that surface to only encompass one repeated shape (basically the crop in the screenshot above). That stops the generation of the bad object… again, seemingly without changing the pictured surface areas…

bad-object-created.3dm (1.3 MB)

Hi @eobet,

I’ve tried to replicate that but haven’t been able to. Joining two pieces at a time, joining all three, joining all the objects in the scene at once - all work fine. FWIW I’m on Rhino 7.28.23051.1001, 2023-02-20.


Hello- look closely here -


That needs to be cleaned up I think including untrimming or RebuildEdges on the larger surface that has a ‘fragmented’ edge right there.



Bingo… however, can’t help but wonder if the famous “accurate trimming” of Rhino has struck again…

1 Like

The solution is explained in this topic:

Hi @pascal,

As far as I can see Join results in a bad object if you run the command and then select the objects. However if you preselect the objects and then run Join, it creates a good surface.

Why the difference?


Hi Jeremy - yeah, I saw that as well - it may have to do with the order of processing - I am sending it over to the developer.

RH-73278 Join creates a bad object