Monday, May 10, 2010

Civil 3D 2011 VBA conversion dialog

Shortly after opening Civil 3D 2011 you will open your existing 2010 files and the dialog box below is displayed.

Below is an explanation of each option, the short version is to convert to .NET if you started using Civil 3D in 2009 or 2010. I have downloaded the VBA module to remove the error every time I open a drawing in a previous version and I convert VBA-based subassemblies to .NET to achieve optimal performance when generating corridor models.

The 1st option – recommended for 2009 and 2010 users

Convert the VBA content to .NET, this will enhance performance (corridor design). It is not recommended to convert the data if the pipe rule set was modified in Civil 3D 2008, or earlier versions of Civil 3D because you will lose any VBA changes you made to C3DPipeNetworkRules.dvb.

The 2nd option – recommended to remove error message and for 2008 or later dwgs.

I would only suggest downloading VBA for anyone using VBA, tired of receiving the message or are working with modified rule files from 2008 versions. If you have downloaded VBA Modules you can still convert to .NET by simply typing _AeccConvertVBARulesToDotNet at the command line for pipe rules and _AeccConvertVBASAsToDotNET for Assemblies and subassemblies.

The 3rd option – not recommended

The only reason I can think of, would be if you can’t download the VBA data or not going to save the drawing in 2011. I was hoping this option would allow opening drawings in 2011 and still sharing my drawings with 2010 users, but it didn’t prevail. Like prior versions once the object data is saved in 2011 it shows as proxy objects in prior versions.

*Civil 3D Object data must be exported as XML and imported for previous versions to recognize them for editing.

*Not sure what version the pipe rules were created in? Download VBA, the error message will not be displayed and the only thing you may notice would be some performance when applying rules. Besides a single network can have a mix of parts that point to VBA-based and .NET-based part rules.


  1. Hi

    I just finished installing Civil3D 2011 and not get lots of system crashes when opening civil3d drawings created pre 2010. I chose to install the VBA option. Is there anyway to convert again to .net

  2. eeek, sorry that was meant to be "now get lots.."

  3. Matt,

    I haven't seen any issues converting my existing 2010 drawings to 2011.

    Try this after opening your current drawings and see if it helps. Run an audit to see if the 2011 version can find any corruption. Also type -pu at the command line and purge regapps from the drawing. These objects act almost like a virus in the drawing and are probable causing the corruption.

    To convert the VBA data to .NET after you have installed VBA.

    Found in "Autodeak Civil 3D help"
    Convert subassemblies from VBA to .NET

    Click Modify tab, Design panel,Convert VBA Subassemblies to .NET. At the Command prompt, enter ConvertVBASAsToDotNET.
    Do one of the following:
    To convert all subassemblies in the drawing, at the command line, enter A, and then press Enter. All VBA subassemblies in the drawing are converted to VB.NET.
    To convert all subassemblies in a selected assembly, select an assembly, and then press Enter. All VBA subassemblies in the selected assembly are converted to VB.NET.

    To convert pipe and structure rules in a drawing from VBA to .NET

    Click Modify tab Design panel Convert VBA Pipe and Structure Rules to .NET .
    You are prompted to make sure that you really want to convert all pipe and structure rules in the drawing to .NET.

    Click Yes.
    All VBA pipe and structure rules in the drawing are converted to VB.NET. Prompts indicate that the command has completed, and that the Event Viewer displays more details about the conversion.