Divide Surface by 1500x1500

Hi all,

Im trying to divide face by specific distance (1500x1500) and and create separate surface as shown in the picture below, but not sure how to connect those points :confused:

![image|671x500](uploDivide Face_1500x1500.dyn (37.4 KB) ad://c1iQW2I94afcqtapwx9AytPmWJB.png)

try geometry.split

here you go…

surface.dyn (23.5 KB)

Thanks @_Vijay but doesn’t work for me :confused:


panels.dyn (9.1 KB)

Note that this works only if all the UVs lie on the surface (build the surface using Surface.ByLoft(curves,guidelines))

//Sample Surface
p = Point.ByCoordinates([-5000,-5000,5000,5000],[-7500,7500,7500,-7500],[3000,500,-5000,3000]);

l1 = Line.ByStartPointEndPoint(p[0..1],[p[3],p[2]]);
l2 = Line.ByStartPointEndPoint(p[1..2],[p[0],p[3]]);

s = Surface.ByLoft(l1,l2);

//Points on surface at 1500 spacing
sp = 1500;
d1 = s.PointAtParameter(0,0).DistanceTo(s.PointAtParameter(0,1));
d2 = s.PointAtParameter(0,0).DistanceTo(s.PointAtParameter(1,0));
uv = UV.ByCoordinates((0..1..#(d2/sp))<1>,(0..1..#(d1/sp))<2>);

//Panels on Surface
c1 = List.Transpose(List.DropItems(List.Sublists(List.Transpose(Curve.ByParameterLineOnSurface(s,List.DropItems(uv<1>,-1),List.DropItems(uv<1>,1)))<1>,0..1,1)<1>,-1));
c2 = List.DropItems(List.Sublists(List.Transpose(Curve.ByParameterLineOnSurface(s,List.DropItems(List.Transpose(uv)<1>,-1),List.DropItems(List.Transpose(uv)<1>,1)))<1>,0..1,1)<1>,-1);
s1 = Surface.ByLoft(c1,c2);
1 Like

thanks @Vikram_Subbaiah i also manage to find solution

1 Like