I have a surface data shortcut that, for whatever reason, has lost it's reference (file name change, surface name change, file path change, project name change, whatever).
It is broken, and too much is dependent on it (profiles, sections) to remove the old surface reference and add a new one.
Simply modifying the XML file doesn't do the trick, and neither does detaching and re-attaching the drawings to the project with the updated shortcuts/paths/references.
How can I tell where the the "placeholder surface" wants the reference to be, and how do I reset the referenced shortcut within the "placeholder", so to speak. I hear C3D 2007 fixes this, but an upgrade is not an option for me.
AECC_TIN_SURFACE Layer: "V-TOPO-SRFC-0"
Space: Model space
Handle = 2bc3
Name : Stage 0 Asbuilt-add (1)
Description : Description
Type : Referenced AeccDbSurface
Style : TT_Surface_EX
So you can see, a basic "list" is not enough information for me to try to salvage the connection.
There should be some way to tell what the source drawing and surface name was. I cannot recall the dialog box in 06 but if all else fails you can open up the Shorcut.xml file associated with this data shortcut in NotePad and tell which drawings and surfaces were refrenced. If you can figure out which original drawing and surface it was...maybe you can recreate/rename some entities to get past this issue.
In order for the shortcut edits to stick in 2006, everyone has to be out of the Civil3D project. I had to edit the shortcut files often after hours.
The shortcut file name and path are hardcoded in the "placeholder surface", but there is no way to know from the "placeholder surface" what it wants the reference to be. You may want to check your "Edit Data Shortcuts" tool and see if it can provide any information or go to your backups and see what shortcut files existed where when the surface was working.
One other thing. Civil3D by default creates the shortcuts to read the object handle instead of the object name. This can be changed in the shortcut file. Let me know if you need specific help with that.
Thanks Josh, this is getting me a little closer. I understand fully what you are saying. I'm wondering if someone knows how to access that "hard coded" path reference in the "placeholder surface", possibly using a VB Script.
As for the object handles:
Source Handle = 48da
XML File Handle: handleLow="18650" handleHigh="0"
Broken Reference "Placeholder" Handle = 4966
Temp Reference Handle = 50d0
(To make sure I didn't botch the XML file)
I can't believe you can't figure this one out James. Its so easy with the information provided. Just wish you had figured it out earlier, because you would have posted it to your site and would have saved me tons of headaches.
I see you got your answer from ChristopherF (he posted a nice little answer on his blog) but just for the record:
In the object and display properties section of each XML data shortcut there is an attribute "parameter" and then a "useParameter" attribute. The "useParameter" attribute is a boolean (true/false, yes/no). I don't know why but in programming a boolean is 0=false/-1=true. So you simply change what parameters you require the data shortcut to use (useHandle=0, useName=-1).
It does work - I have been doing this well over six months. I prefer to setup my data shortcut right after exporting and before importing it. I use the free Microsoft XMLNotepad 2007 that you can get here:
It seems like a lot of work but honestly found this easier to teach users than Vault. If Civil3D 2008/09 does not improve the data shortcut feature (w/o Vault) and continues to go the direction of Vault, I will create a tool that make this painless.
I wish I could be in Vault, the IT department is installing WAFS and didn't want to try to tackle both at the same time. Since the office I am in is almost the only office using Civil 3D it was decided it was not going to happen.
It's a decent trick, I'm not sure why you would want to teach this in a
normal environment though. If all is well, handle works just fine, and
allows you to rename the parent object without hosing the shortcut. I can
see using this to rework a broken link, but not as SOP.
Then again, I dislike the the way they get managed in general, so it's not
like I'm a unbiased opinion.
James Wedding, P.E.
Engineered Efficiency, Inc.
Civil 3D 2007
XP Tablet, SP2, 2GHz, 2G