Record History for a Boolean stops working when object is inside a block

Steps to replicate:

  1. create two intersecting boxes
  2. put the cutting box in a block
  3. press “Record History” button
  4. perform boolean difference
  5. move the cutting box (the one inside the block)

What happens:
Boolean will stop working

What I expected:
Boolean will follow the cutting box (the one inside the block)

Use case:
Cutting out windows, walls doors etc. in solids. These objects ideally would be inside blocks.

PS: related to that, booleans between objects inside two separate blocks also fails :frowning:

Thanks for reporting.
I’ve logged https://mcneel.myjetbrains.com/youtrack/issue/RH-72069/History-in-Blocks-stops-working-after-closing-the-block

The best workaround for now I see is to work with linked blocks and perform your boolean operations in the original file.

1 Like

thanks, it would be awesome if history booleans with block instances became possible. It would save us massive amounts of time adjusting windows, doors etc.

I understand. As you can see the other related YT is on the future list, so don’t hold your breath on this one. If the objects you substract from are fairly simple (boxy) then in principle you could also use the SolidEditing tools for your task. Since I assume you tried that, are there reasons not to use this method?

No worries, I imagine that if it was simple someone would have done it already. You are right that openings can be adjusted with other methods, but in some situations it may take much longer - for example if openings are inside blocks requiring you to adjust blocks one by one. Sometimes you have more complex openings at difficult angles (roof windows, dormers), which ideally would change as their corresponding block changes.

Without this feature you need to effectively adjust objects twice (one time for the object itself e.g. door frame and second time for its opening). While it’s not a fair example Sketchup and Revit have ability to adjust openings directly inside their equivalents of blocks, which always yields a question for new users whether it’s also possible to do in Rhino.

Hi Daniel -

If I’m reading those step correctly, that’s something different than what Gijs put on the list.
In a quick test here in Rhino 8, moving the block instance of the cutter will update the polysurface.
Placing a cutter instance somewhere else in the scene and using BlockEdit to modify the cutter will then also update the polysurface when you exit block edit mode.
-wim

Hi, hmm that’s strange, I’m still experiencing the behaviour Gijs described. Please see the steps recorded here (Rhino 8.0.22347.14305, 2022-12-13):

It hopefully shows that once the second box (cutter) is moved the boolean stops working.

bdBooleanDifference is just an alias to BooleanDifference

Indeed, reading the steps again, I see interpreted it wrong.

This I cannot seem to reproduce, at least not in the way I would expect: It does update the polysurface only by removing the boolean difference here.
Edit: @Daniel_Krajnik @wim it does work with polysurface… just not with an extrusion object it seems

1 Like

wow, thanks, you are right, it does work with polysrufaces :slight_smile: ! I’ve been testing it with extrusions all this time. I think that solves it then?

Great news

What’s an extrusion? :see_no_evil:

I’ll get it on the list.
RH-72110 History: Boolean with blocked extrusion is not historic
-wim

2 Likes

Fantastic, thank you!

RH-72110 is fixed in the latest WIP.

1 Like

Great news, thank you :christmas_tree: :gift: