Intersection of array of points

Hello,
I am working on a creating walls using blocks in grasshopper. But I am stuck working with the intersection of walls (anyway I am working with points right now). Please check the image below.


This is what I want to do, Firstly I divided my interior walls by two directions X-axis and Y-axis. When I do the set difference for X-Axis wall I am getting it correct in only X-axis wall but the Y-Axis walls are wrong.

and when I do set difference for both the walls I am getting both of them wrong. like this

I dont wall the starting points of the wall to be deleted from the set difference but only the intersecting points in the middle of any wall should be deleted.
I think it can be easily understood when seen the script. I am attaching the script here. Any help would be appreciated, Thanks :slight_smile:
Set difference.gh (30.1 KB)

1 Like

This seems to accomplish your goal (culls duplicate points in middle of walls, leaves points at ends).

All changes follow the last Ungroup components in your file.

231019_Set_difference_re01.gh (31.0 KB)

-Kevin

2 Likes

Hello @kev.r , Thank you so much and It is working. But actually after sending this question, I divided the points into blocks (like 5 points equals one block in the wall) and then made the wall with array of the resulted points and tried the same thing you did but I am getting a small problem near Tree split (I think the mask I am trying to give is wrong in this case)


Here is the definition:

Can you please check this once, Thank you again.
231019_Set_difference_re01.gh (64.9 KB)

After your changes, the DataTree after the last Ungroup component has this structure:

{A;B}
A = layer
B = segment (block)

You have eliminated the data indicating walls (brep indices). This makes it difficult to determine start / middle / end points of walls.

This seems to accomplish your initial goal. Ended up replacing most of your code after the block that divides the points into segments.

231021_Set_difference_re02.gh (62.6 KB)

-Kevin

Hello Kevin, Thank you so much. I was trying to solve this from two days, but I don’t have much knowledge about it.
Thank you for solving it for me :slight_smile: