Well a long time request has been to have the ability to set the working folder and/or data shortcut folder in Civil 3D via a code solution. Well after a long exhaustive search on how to even get the current working folder and data shortcut folder I’ve finally figured out the secret handshake.
The first thing to do is read the text file that contains the Working Folder and Data shortcut information. It is stored at:
C:\Users\Christopher\AppData\Roaming\Autodesk\C3D 2017\enu\Project Management\ShortcutFolders.xml
Replace Christopher with the current user’s name and 2017 with the current version of Civil 3D. There are plenty of examples online on how to read and process XML files, so I will leave that part out of this post.
Then modify the contents of the file, here is my current file contents.
<?xml version="1.0"?>
<WorkingFolders>
<WorkingFolder path="C:\Users\Christopher\Documents\Delete" current="-1">
<ShortcutFolder path="C:\Users\Christopher\Documents\Delete\Blah" desc="TestDescription" current="-1" uuid="Blah-0BF7567C-C01F-43dc-BA3B-93F604ACDFBD"/>
<ShortcutFolder path="C:\Users\Christopher\Documents\Delete\asdf" desc="" current="0" uuid="asdf-F1F190A5-253C-4edc-A3C0-038919899515"/>
</WorkingFolder>
<WorkingFolder path="C:\Civil 3D Projects" current="0"/>
<WorkingFolder path="C:\Civil 3D Projects\" current="0"/>
</WorkingFolders>
Change the current=”0” to current=”-1” to indicate which working folder and data shortcut you want current and set the current=”0” for the data that you no longer want current.
Then save the file.
In Civil 3D run the REFRESHSHORTCUTNODE command at the command line and Civil 3D will read the XML file and update Civil 3D to the current state of the XML file.
Note that this workflow isn’t foolproof. If you have two instances of Civil 3D open they will both updated the XML file. This leads to problems of order if you are reading the file trying to figure out what the current working folder and data shortcuts folder is current.