Extract Solids for Multiple Corridors

I believe that someone can help us with python code node, to overcome the lack of that command in Civil 3D API.

Hi

May this help you

2 Likes

Thank you for your input, however, the python script you shared is for extracting surface solids, and I was trying to extract corridor solids. Is there any way to extract solids for multiple corridors?

1 Like

@Ahmed.Kamal.Moussa I believe there is a node in either the Standard Civil 3d nodes or the Civil Toolkit called Corridor.GetSolids which does what you’re after. This topic illustrates it’s use: Civil 3D Merge solids

To pull the solids from multiple corridors, you’d have to build a list of said corridors as a first step.

2 Likes

My understanding is that to get the solids with that node, you need to have the solids on the drawing in the first place. Thus have already gone through the extraction process.

@Ahmed.Kamal.Moussa packages such as C3D Toolkit and Camber are essentially calling the API commands. If the command isn’t exposed you will need to essentially build your own extraction method which can get very complicated. I can see 2 workarounds through Dynamo, which depending on the complexity on your corridor, could get messy

  1. Using corridor feature lines, links of the applied subassembly and shape codes to build your own solids but depending on your

  2. Use dynamo and camber nodes to create various corridor surfaces using your link codes and then use the C3D toolkit to create the solids between the different surface lakers

2 Likes

This previous thread is similar.

5 Likes

Zachri,

I’m able to get solids from individual corridors using that script but am have trouble getting it to properly loop through multiple corridors. Do you have any tips for looping through scripts with complex lacing and levels with multiple objects? If it was like a text based programming language you could define a function and just loop through the function multiple times with different variables. Is there an equivalent with dynamo? Or is it best to just imorove my lacing/leveling skills to get passing a list of objects into a graph to work properly.

1 Like

Not much advice here other than just play with it until it works :wink:

1 Like

Hah! Fair enough! I’ll keep tinkerin’.

1 Like

I know it’s not a very dynamic work flow but it sure is easier to extract/create the solids in civil 3d and then use the Corridor.GetSolids. Especially when trying to generate all of the geometry on the dynamo end, for multiple corridors at once. Seems to want to crash my dynamo instance anyway :sweat_smile:

2 Likes

Thank you all @david_licona @mzjensen @WrightEngineering for your feedback and ideas, I am really disappointed that we don’t have an efficient way to extract corridor solids till now.

What I am trying now is to put Camber package “Object.Select” & “Document.SendCommand” nodes in use, to send the extract command to Civil 3D, however, I failed to automate the process in the below two steps:

  1. To select each corridor one by one, and send the command to each one;
  2. When the extract window is shown, I am looking up something to press “Enter” for me.

Any help?

Put the “enter” at the end of the string you send and it should be fine.

Strung seven commands together in a row this way today…

1 Like

I am not entirely sure it would work with this as the Export Corridor To Solids command opens a dialogue window. I tried adding the “-” before the command but it will still open the dialogue window

2 Likes

Off to the wonderful world of windows dlls I go… can someone (@david_licona?) post a DWG which needs 3 VERY SIMPLE corridor solids to have this command run? I would like to reduce runtime of each test to near 0.

1 Like

This is really disappointing, as it is essential in BIM workflows…
It’s on the idea board, please vote, hopefully it gets attention:

DataSet_Corridor.dwg (2.7 MB)

1 Like

Autodesk Civil Infrastructure Roadmap also?

Nah, I haven’t seen that there yet. I hope this gets attention soon.

1 Like

Soo, there has been some progress I guess.

2 Likes

I believe that there is light at the end of the tunnel.

1 Like