Intersection of array of points

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 (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. (31.0 KB)



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. (64.9 KB)

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

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. (62.6 KB)


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: