Creating a solid using 4 edge curves

Hello everyone,

If you look at the attached Images you will see that I have 4 closed curves from rhino in Dynamo, now that I want to convert these into solid as shown in right. So far, I cant’t figure out how to do that without creating intersecting planes to get sections.

Is there any way to achieve the solid using these four curves as edges? Also is it possible to take that solid as a mass in revit?


Thanks in advance.

Hi Abhijeet,


I would suggest to loft your curves two by two then create a list of surfaces that you can extract a solid from with the Solid.ByJoinedSurfaces node .

If you want to import your solid as a mass in revit i recommand the use of spring nodes package’s Form.ByGeometry node.


HI Mostafa, I was trying exactly the same(I have 14 such curved elements in my design). I am able to create surface for all of them, But when I join surfaces to extract solid not all the curves turn to solid, only 7-8 out of 14 turn solid. I get “surfaces could not be joined into a closed solid, even with refinement!” error for the rest of the solids. Don’t know what’s going wrong, any idea?

Hi Abhijeet,

Did you try “Curve.ApproximateWithArchAndLineSegments” node?


Yes I tried that. Using curves to generate surfaces were taking way too much time. So, I created all the surfaces in Rhino and then used Rhino.BrepToDS node to convert those into polysurface. All the polysurfaces are coming fine, just not able to create solid from few of them.

Hey Abhijeet,

could you share your files with us?

20160323_3D Model_FSI 3_v04 ScissorsV3_from surface - Copy


Sure, These are my Rhino files and Dyn file. Please have a look.

There you go :slight_smile:

(dyn file -> ScissorsV3_from-surface- GET SOLIDS )

get solids


Thanks Mostafa. Can you please guide me where and what I was doing wrong? And what’s the purpose of exploding the geometry?

Glad I could help :slight_smile:

Actually your question about the explode node taught me something. I didn’t know that you could use the Polysurface.ByJoinedSurfaces node with Polysurfaces, so you can actually skip that part. It makes everything even easier.

The problem in your script was the way you uses the Solid.ByJoinedSurfaces . You need to map that node or it will try to make one big solid out of all the surfaces (no mather what the lacing of the node is set to), as you can see in cases 3 and 4 of the image below.

There is another issue with that node, that I think is a glitch (but maybe there is a reason to it). Even if you map it and get all the separate solids, you sometimes wont be able to import them into revit, as you can see in the case number 2 in the image. If someone can explain that I would be very interested to know what happens there.

That leaves the otpion of extracting solids from polysurfaces , which has always worked fine for me .





1 Like

Tanks Mostafa for such an elaborate explanation :slight_smile: That cleared so many of my doubts, thanks again :slight_smile:


Now this is the error I am getting, not able to create form in revit using those solids :frowning:





You’ll need to flatten your list first.

Thanks Dimitar :slight_smile:

So, everything worked out but there is something strange. If you guys see the attached image you will find few handle like lines for curves(only in plan or elevation) I can’t click or select those line, EXCEPT when I import this model into my project and use Linework to make them invisible. What can be these mysterious lines? By-product of dynamo geometry generation?