Since release 2013, we can use AutoCAD in console mode. This is intended to developers, there is no graphical interface and only the command line is available through the console window or via programming.
Back on Autodesk University 2012, this class covered the basics on how use and automate AutoCAD Console, including how to load custom .NET applications. Is this possible on Civil 3D? Yes!
To use the console with Civil 3D 2015 .NET API we just need to launch the console and load an additional .NET assembly: AeccDbMgd.dll. After that, a custom .NET DLL should work. The image below show the result. Note how we NETLOAD the AeccDbMgd, then NETLOAD a custom DLL C3D_2015_CS.dll that contains a simple command that count alignment styles.
Of course the AutoCAD Console was not designed to be used like this (via Windows Console), this is just a test. To take full advantage, you can use .bat files (simplest approach) or a full .NET application that will manage and control instances of it. As mentioned above, the AU class show several samples and ideas, just need to include the additional NETLOAD AeccDbMgd.
Tip: AutoCAD is now blocking DLLs that are not on the trusted folders. On the UI we can simply include our folders on the trusted path list. Via console this can take extra time, that’s why I copied my custom DLL to Program Files folder (which is trusted by default).
The console approach can significantly reduce batch processing time and, as you can launch one instance per drawing, also improve error handling (if one instance freeze, just kill the process and start again). In summary, at least consider and evaluate this option!