CreateBooleanDifference method fails under a specific situation

Hi

I am working on a C# plugin for Rhino, and I might find a unwelcome behavior from Brep.CreateBooleanDifference. In my plugin, a brep created by Brep.CreateFromOffsetFace needs to be processed in CreateBooleanDifference afterwards.

In CreateFromOffsetFace, both the positive and negative values are desired in the offsetDistance, but when the value of offsetDistance is negative and the resulting offset solid brep is processed in CreateBooleanDifference as the first set of brep, the final Boolean result looks like Boolean union instead. Please help me confirm the situation, thanks.

Hi @paul.bh,

Two things before you perform a Boolean:

  1. Make sure to split kinky faces.
  2. Make sure the solid orientation is outwards.

– Dale

Thanks @dale ,

The issue is indeed caused by the incorrect solid orientation of my brep input.