Starting with Civil 3D 2009, text can be associated to the design model directly through the XREF. It raises the question, "What happens if you Unload or Detach the xrefs?". Basically the answer is "…it depends on what you do…" .
After the jump learn the different behaviors.
A good example is when placing spot elevations along a curb radius. In this example, we are going to use "Line and Curve" feature labels and a curve label that attaches radially to the curb radius and reads a surface for elevation.
After placing the labels we get the following:
Again, these labels reference two things: 1) the curve for placement and rotation and 2) a surface for elevation. So the first selection is the curve and the next selection is the surface, both being through the XREF! In our example the polyline for the curve is in one xref and the surface is in a separate xref. So, the breakdown of what happens if you UNLOAD or DETACH the XREFs is as follows:
- UNLOAD "main" XREF (curve xref): If text is attached to an object in the XREF the text will turned off. Simply reload the XREF and the text will re-appear. 🙂
- UNLOAD "secondary" XREF (surface xref): If text references an object in the secondary file, the secondary xref is unloaded (surface xref), and you close and re-open the drawing you will get "<XREF uninitialized>". To fix simply re-load the secondary XREF. 🙂
- DETACH "main" XREF (curve xref): If the text is attached to an object in the XREF the text will be deleted! (maybe 🙁 )
- DETACH "secondary XREF (surface xref): If an XREF that the text is referencing simply for data is detached you will get questions marks ("???") for the text values.
To fix this simply re-attach the XREF, right-click on one of the pieces of text and choose "Select Similar". Open the AutoCAD Properties Palette and look for the "Reference Text Objects" category at the bottom. Click the "selector" button and re-pick the surface. Then press the TAB key on your keyboard. 🙂
NOTE: if you ever get "???" for a Civil 3D label you can fix it through the above steps. You can even change what object(s) text is referencing with this procedure.