Solid difference problem


#1

I am trying to create some kind of roof form with grasshopper. In order to do so I have created geometry from roof (actually breps created with Roof in grasshopper). these have been mirrored and need be trimmed. Therefore I have created solids so I can use Solid Difference.
On two sides I get the expected result. on the other two sides Solid Difference won’t work.

I have baked the geometry for the problematic roofs and performed BooleanDifference in Rhino. THis works but I get a pop-up that says that the tolerance has doubled. What does it mean, and how can I solve this?

I have added the files (I expect that the grasshopper definition could be much more efficient,but I recently started with Rhino)Huis Bruggen v2.3dm (350.2 KB)
Huis Bruggen v2.gh (43.5 KB)

And I get a VA license error 309 code for VA, what does that mean?


#2

This is just another example of how booleans make people stupid.
The solid that you want can be made by simply joining the surfaces that compose the BREP that you want. You have 10 internal surfaces that you created that don’t do anything but get in the way. Get rid of them. Use ExtractSrf, Or better yet, don’t make those surfaces in the first place.

The strategy that you probably want to use is make the outer surfaces first as a joined polysurface and then use offsetSrf with the solid option to make the rest.

Obviously, contrary to your claim that it worked, it did not work very well.
If you simply join the surfaces that are needed to make the result you want everything will join well within your tolerance.


(Enric Marquès) #3

Hi ME_Mark,

This error indicates that VisualARQ is not authorized on this computer. This error may appear on one of the recent Windows Updates, which changes the computer ID.

To fix it, just run the installer again to reautohrize the computer.

Regads,

Enric


(Enric Marquès) #4

Hi ME_Mark,

When you run a boolean difference using the Rhino UI, it first tries to solve de boolean using the document tolerance. If the boolean fails, then it tries again with the tolerance doubled, and if it fails again, with one tenth of the tolerance. Grasshopper does not do this, it just tries with the document tolerance, so the same boolean operation may fail in Grasshopper but work on Rhino. VisualARQ does the same as Rhino.

As Grasshopper uses the document tolerance, you can change the document tolerance (multiply it by 2), and then try to solve the definition again.

Regards,

Enric