I’ve been doing this one for a long time and someone asked about it on the discussion groups recently. I figured I would link them to my blog showing them how to do it and I realized I’ve never written this one up.
So, here’s the problem, Civil 3D does not have dynamic labels for assemblies. There are labels for just about everything but not for assemblies.What do you do?
Well, it’s pretty simple, just add a piece of text adjacent to the assembly and then add a field to the text. To insert a field, you can click the button on the ribbon (as you are editing the text) or press ctrl+f.
In the field dialog box, you’ll want to change the category to “Objects”, choose “Object” from the list, and then select the object.
Once you’ve selected the assembly (the vertical line, not one of the subassemblies), you’ll want to choose “Name” from the list (not “Object Name” or you’ll get “AeccDbAssembly” in the text). You can also format the case of the text in the right hand window.
Once you are done, you’ll see the field in the text with the assemblies name. If you change the name of the assembly, the field will update when the drawing is regen’d (it’s not immediate like Civil 3D labels).
You can also copy the text, edit the field, and have it reference a different assembly. And, another cool thing, if you copy the assembly and the text together, the new text will reference the new assembly.