Batch Processor for Civil3D

We have Revit Batch Processor to run script over mulitple models.

Do we have a similar app/ plugin for Civil 3D?

1 Like

Not that I am aware of, but a macro to do this would not be hard to write as you can call AECRunDynamoScript and execute the graph directly without any UI. Can even pre-configure the inputs if desired.

Hi @Ac.Dynamo,

I would recommend using the Batch Save Utility for Civil 3D. You can define a .scr script file that calls AECCRUNDYNAMOSCRIPT, then process a folder of DWGs using the tool. More documentation here and here.

Here’s an example that renames the first layout in each DWG to match its drawing file name.
RenameLayoutsBatchProcess.7z (806.7 KB)

9 Likes

Hi,
I have the same setup - C3D batch utility that runs the same .scr (scr executes the dynamo script with AECCRUNDYNAMOSCRIPT). However what I have not been able to find out is, if this dynamo script takes inputs (eg: a couple of strings, a lookup file path because it requires this information to execute the rest of the nodes) how would I pass these inputs in the .scr file that is executing the dynamo? Is that possible?

Not possible at the moment. But you can vote for this feature!

https://portal.productboard.com/aec-bid/3-civil-infrastructure-public-roadmap/c/668-dynamo-graph-inputs-as-command-line-inputs?&utm_medium=social&utm_source=starter_share

I have previously played with opening the .dyn as a text document and editing the inputs before execution. I have not tested say an object selection in Civil 3D, but I can confirm that it does work for stuff like file paths. This would likely require updating the .dyn before running the batch tool though.

If the Dynamo has the Python script inside will it make the Batch Save Utilities fail?

I tried it successfully with Dynamo which is without Python Script, but it failed if it included Python Script. Thank you.

image

2 Likes

Have you sorted out this issue? Thanks.

Hi, this Batch processor is very usefull, someone found out a way to run a .dyn including a Python code? is it even possible? do we need to load something prior in the .scr maybe?