GHX Slabs: add boundaries with boolean values

When working with curves and slabs in Grasshopper, it would be very-very helpful to have a list of boundaries that could not be added to the Slab. In the attached image, I feed in a list of Crvs, take the first in the list and attempt to add the others.
Obviously, one is not adjacent to the primary therefore is not joined but it would be helpful to have a boolean value to say if it was added, or not, in order to manage other data attached to the crv/boundary/slab.

I am looking for workarounds using standard Grasshopper tools but so far have nothing that offers a boolean to aid in data mangement.

Hello @kevin3,

You can obtain a boolean value this way:

Boolean.gh (8.5 KB)

nice work around. Thanks!

But something odd happens when I try to add the outsider crv to the slab; the SlabAddBoudary does not update but the BRep-Crv intersection does. It should be at index {0;1} as circled; the file is attached Boolean_.gh (29.5 KB).

I tried everything… recompute, disable/enable the SlabAddBoundary (i learned that when i ‘manage the collection’ and move the crv in the list, it causes failure). Eventually I could reset the curves as new references but, I am bring them in via a pipeline and rely on constant updates.

I ran a quick test with the GeometryPipeline component and found that SlabAddBoundary fails to see referenced geometry. Is this a bug?

Well, I think I know why…
Is it true that Pipeline components list elements in the order they are created?
ie: newest = index 0, next oldest = index 1, next oldest = index 2

This could break the SlabAddBoundary workflow altogether bcz the first element always changes.

Hello @kevin3,

I’ll report this issue. If you do the same with VisualARQ commands in Rhino, the _vaSlabAdd command takes the curve even if it is not intersecting with the original slab, so I guess here it should be behaving in the same way.

I couldn’t reproduce this issue. Please, could you show me how you reproduced it so that I can report it?

I don’t understand what you mean here. The SlabAddBoundary component is not working in the example you show because any of the referenced curves intersects with the slab, so it cannot add new curves to it.

It looks like it is taking as index 0 the last modified object, so maybe it is not a good idea to use the Pipeline component for this workflow.

Hi @alfmelbev , thanks for the replies and feedback.
Indeed, the Pipeline workflow is affecting the inputs and causing most of the unexpected behavior in points 3 & 4, and perhaps point 1 (from your last reply).
I will record a video for point 2 next week and share it with you.

I appreciate all of your help on this.

1 Like