I am trying to create seperate surfaces between each line from this geometry generated solely in Grasshopper. I have generated points at each intersection. The geometry is modelling a building facade and I have generated it parametrically so the size/number of divisions/position of divisions can be changed. The intended purpose is to use this geometry to model in ladybug and diva so the surfaces need to be divided properly among the divisions. I have tried most of the surface tools using lines and grids. I assume the āsurface from pointsā tool isnāt working because the points are in the wrong order in the list, but because I have accumulated the list from various sources I donāt know if I could order it correctly. Any help would be greatly appreciated.

# Creating multiple surfaces

**jafrancis50**(Jafrancis50) #1

Isotrim Problem (Subsurface is invalid because the trimming U-domain is singular)

**Will_Wang**#2

perhaps you can use those lines and split the face of that box.

Iād also recommend grouping the splitting lines by horizontal and vertical, and split in two steps

**jafrancis50**(Jafrancis50) #5

Iām trying this method. When doing the split in two steps, after the first step and then using the ābranchā tool to isolate the split surfaces, when I try and input the list of split surfaces into the vertical line split its saying ādata conversion failed from text to surfaceā

**anikolo**(Aris Nikolopoulos) #6

Iāll try:

- created points at intersections
- sorted them according to x,y,z
- removed duplicate points (by this time, points are a single, ordered list)
- for every point n, (apart from the top and the right ones), I created a surface with n+1, n+4 and n+5

**jafrancis50**(Jafrancis50) #7

This is useful for a old method I tried using points at corners which Iāve already generated, but the list was unordered and duplicated so it wouldnāt work. Thanks.

**Joseph_Oster**#8

Sounds like you are running data through a text panel? That wonāt work. Bad practice because what comes out of a text panel is text, not the geometry that went in.

Uploading your own GH file is strongly recommended.

**jafrancis50**(Jafrancis50) #9

I could upload it once Iāve cleaned it up but at the moment itās long and complicated and would be difficult to follow. Thanks for your help though that solved an issue. Now it is splitting through some lines but not all so I need to figure out why

**jafrancis50**(Jafrancis50) #12

Hi Im trying your method usng points as it has the advantage of sorting the points in x and y. With the part of your sheet leading into i for the list item component, what are you doing?

I think I got it. Did you set the input for the first item series component step size as 4 using the expression? I need to set my C values parametrically and using conditional statements then it should work (as I have changing geometry)

**anikolo**(Aris Nikolopoulos) #13

lets say there are x (columns) by y (rows) points,

I created a flat list where every yth point was left out.

e.g. if there were 4 rows the list produced is 1,2,3,5,6,7,9,10,11, ,ā¦ and the las triad would also be left out.

that way, from the flat list of points we exclude the top-most and the right-most points.

then for an n point, I created a surface together with the points n+1, n+y, n+y+1

(the n+y and n+y+1 by definition will be the equivalent points for n and n+1 in the following column.)

thatās why I had to leave out the outermost points so as not to have āwrapā surfaces at the end.

hope that makes sense!

(itās always more difficult to explain it than to think it!)

**anikolo**(Aris Nikolopoulos) #15

oh man, youār squeezing my brain

as I remember: (again for x rows, y columns)

first list: a series of y-1 numbers that are multiples of x

second list: for every number ānā of the previous list, a list came out (n, n+1, n+2,ā¦n+(x-2)

so as to get the pattern of indices:

**1**, 2,ā¦, x-2,-void-,

**x**, x+1,ā¦, x+(x-2), -void-,

**2*x**, 2*x+1,ā¦

(adjusted for counting from zero- I am not at a computer with rhino and Iām doing it from memory now)

essential part is you want to create a āx*(y-1)ā long list of indices were every (x*n)-1 value is missing

**jafrancis50**(Jafrancis50) #16

It has worked with 4 for now, essentially telling it that one step is one rectangular surface. However it broke once with this number but maybe that was a parameterisation error

**Joseph_Oster**#17

The answer to your question is very clear from reading the code. The expression on the `Series` āNā input is āx+1ā. Can you see that? It has a āRowsā slider plugged into it with the integer value of 3, so āx+1ā = 4.

**HS_Kim**#18

Here we have another solution using `Isotrim`with custom divisionā¦

Custom_Div_Isotrim_re.gh (14.3 KB)

**jafrancis50**(Jafrancis50) #19

Thanks everyone. I have solved the problem now with your help. It was a matter of correct ordering.