Create a solid from a topography

topoSolid.dyn (5.7 KB)

@JAVIER_FQG You could refer to the script below and build this with just nodes too.

//Topography to PolySurface
tm1=topo.Mesh;
vp1=tm1.VertexPositions;
iG=tm1.FaceIndices;
lst1=List.Transpose({iG.A,iG.B,iG.C});
lst2=List.GetItemAtIndex(vp1,lst1);
srf1=Surface.ByPerimeterPoints(lst2);
srf2=PolySurface.ByJoinedSurfaces(srf1);

//Solid Topography
pln1=Plane.ByOriginNormal(srf2.BoundingBox.MinPoint,Vector.ZAxis());
per1=srf2.PerimeterCurves().Project(pln1,Vector.ByCoordinates(0,0,-1));
per2=PolyCurve.ByJoinedCurves(Flatten(per1)).Translate(Vector.ZAxis(),-1000);
sld1=per2.ExtrudeAsSolid((srf2.BoundingBox.MaxPoint.Z-srf2.BoundingBox.MinPoint.Z)+2000);
sld2=sld1.Trim(srf2,srf2.BoundingBox.MaxPoint);
sld3=sld2.Difference(bld.Geometry());
6 Likes