A couple weeks ago, I had what some would call the perfect storm; a major deadline, crashing grading drawings, and managerial pressure to get it fixed yesterday. Trouble was, regardless of the series of commands I threw at the troublesome drawings, the errors remained, and the drawings continued to crash. In fact, there was a time in the troubleshooting process that I questioned if the AUDIT command actually did anything, or if it was simply a random number generator. Sometimes the number of errors went down, sometimes it went up, apparently the AUDIT command had become a mood indicator for Civil 3D. Long story short, this problem had The CAD Geek stumped (it happens from time-to-time).
Pressures mounting, I called some friends from both Autodesk and my reseller Avatech. I really have to give it to the folks at Avatech and Autodesk Subscription Support. Their combined insight and expertise made this a support ticket with a happy ending. Just how did we end up solving this problem?
Ultimately we figured out the issue was with a number of Feature Lines that in some way overlapped. In many cases, there were no visual cues to indicate we had overlapping objects to begin with. Naturally, that made cleaning things up a little tough. That was until I learned about a set of super secret commands that do wonders on problematic sites. Now I should mention you will only find these commands inside Civil 3D Update (service pack) 2.1, not to be confused with the earlier 2.0 update. In this particular case, the problem was with a number of the Feature Lines used to construct the FG surface. Thus, we used the following procedure to resolve the issues we were having with our Feature Lines.
- Make backup of drawing
- Run the undocumented AeccFindSiteOverlaps command
This identified the area(s) with overlaps using a standard AutoCAD point on the _OVERLAPPING_SEGMENT_LOCATIONS layer.
- AUDIT (fixing errors)
- Run the undocumented AeccRemoveDupFeatureLines command
This moved overlapping feature lines to their own, individual sites
- AUDIT (fixing errors once again)
- SAVE (and hopefully rejoice in newfound drawing stability)
Something else worth mentioning, even after running the above routine, our drawing still had errors. Digging a little deeper, we finally realized the problem was with the surface object itself. In running the RECOVER command, Civil 3D apparently found some errors in the FG surface, and in fixing them created a snapshot. With that, a plausible solution would be to remove the snapshot and rebuild the surface. Since things had become so unstable, rather than patching up the existing surface object, we opted to delete the surface object, and redefine it from scratch. This did not end up being a big deal, as the FG surface, defined almost entirely with Feature Lines, was quite easy to rebuild.
In addition to the duplicate feature lines command, you can also find commands for alignments, and lots (parcels) as well. Autodesk has an excellent knowledge base article outlining each of these commands and its usage; Undocumented commands to help resolve Site issues with overlapping objects (link updated). Once again, the folks at both Autodesk and Avatech really stepped up for this one, and I greatly appreciate their help! There were a number of people involved, so rather than attempting to mention them all, I will simply say thank you to everyone who helped out on this case.
AM Update (4/21/09): I've been in touch with Autodesk this morning. It should be noted these commands are not a golden ticket to perfect and error free sites, the commands do however have the potential to fix lots of things. Think of these commands as an AUDIT for Civil 3D Sites.
Nonetheless, I have been told that Autodesk is in the process of updating the knowledge base entry I had originally linked to. Since some things regarding the usage of the command have changed, I have removed the link for now, and will replace with the updated link as soon as it's made available.
PM Update (4/21/09): Jason Hickey over at the Being Civil blog (I personally reccomend following it if you don't already) just posted a followup to this post titled "Undocumented Commands Can Make Your Drawing More Stable". He goes into a little more detail about what is going on here, and also demonstrates things with a quick video. In addition to that, the updated knowledge base post has been made, and I have updated the link above.