View Full Version : Converting Subassemblies from 2010 to 2011

2011-06-08, 08:41 PM
We have recently decided to upgrade from C3D 2010 to 2011 and are having problems with some custom subassemblies from our client. They are still using 2010 and aren't planning to upgrade to 2012 until next year so they will not be making updates to their subassemblies until they upgrade to 2012. When I try to rebuild a corridor I created in 2010 in 2011 I get the following message for every station in the corridor:

Failed [Could not load type 'Autodesk.Civil.Land.DatabaseServices.SuperElevationDataElement' from assembly 'AeccDbMgd, Version=8.0.2155.0, Culture=neutral, PublicKeyToken=null'.]

Does anyone know what needs to be done to custom subassemblies created in 2010 to get them to work in 2011? Is there something in the code for the custom subassembly that needs to be changed? Is this an issue with how 2011 computes superelevation compared to 2010?

Any help would be appreciated.

2011-06-09, 05:56 AM
The implementation of Superelevation changed significantly between 2010 and 2011, and Autodesk chose not maintain backward-compatibility in the API. So all custom Subassemblies that use Superelevation have to be rewritten to account for the change.

The necessary modifications aren't all that difficult for custom Subassemblies. The modifications are more involved for old custom routines that used the old COM access to the AeccAlignment. But for anything that is already using Civil.Land.DatabaseServices.Alignment instead of AeccAlignment, the changes are relatively simple, as long as you have access to the .NET source code.