How to turn a polysurface into a surface and a surface to polycurve?

Hi There,
I need to turn a poly surface into a surface and a surface to a poly curve in one of my scripts. I have no clue how it should be done. I do appreciate it if you could help.


Can you explain a little more and show your graph? A Polysurface will do anything a Surface will do. And are you wanting to turn a surface perimeter into a PolyCurve?

Hi, you can join and divide surfaces to polysurfaces with these nodes.


Was that what you were looking for?


A polysurface is as it sounds, is a group of surfaces joined into one entity, you can extract these surfaces by using PolySurface.Surfaces and thereafter you can get the perimeter curves from these surfaces.


I was trying to model a part of a city in DynaMaps.
Unfortunately not every location has enough data so an automatic model could be made by DynaMaps. Therefore in such cases, one has to generate part of the data manually.
I made a script in Dynamo to overcome that obstacle, but unfortunately for some reason, I could not understand it does not work!
I generated the building heights and tried to make road surfaces by thickening the roads center lines from DynaMaps on the XY plane. Everything went fine to the very last steps where I tried to project the road surfaces on to the topography, then I got the error you see in the screenshot I made.

As you can see in the above picture, one of the road surfaces has been made in the YZ Plane, despite I made them in the XY plane!
The problem is caused by incompatible entries for the nodes and that is the reason why I am looking for a solution.

The issue is related to “RoadAsSubRegion” it gave me the error as it needs the (PolyCUrve) as an input NOT (Surface), open the (ProjectRoadOnTopo) and you will see it create an output of (Surface) NOT (PoLYCURVE) and thus it causes an error.[Road Surfaces.dyn|attachment]

Here is the Dynamo script:
Road Surface.dyn (28.2 KB)

NB: To be on the same page I suggest that you use the following address:
Langelandsgade, Horsens, Denmark

I do appreciate your help in advance.


Hi @farshidkaviani it seems to be an error with the link of the dynamo file, could you upload again?

1 Like

Hi @arquimanu
I uploaded the script again. Check if works.

This problem occurs when you try to offset in Dynamo (it’s a bug)

Road Surface.dyn (18.6 KB)

Thank you for your input. As I mentioned in earlier the problem comes into picture when there is not much data in some areas.
For example try to use following address and see what happens.
Langelandsgade, Horsens


My post is based on this address

That is really strange, since when I use this address, “null” is what I get.

Could you please let me know if you could think of something I did wrong?


Try reducing the Road Width from 3000 to 3

Hello, how to create a curve on a face after selecting a face

try like this.