MS_DGNLIBLIST used to be the only variable used to point to dgnlib files. Now there are extensions to this variable (example: MS_DGNLIBLIST_DRAWINGSEEDS, MS_DGNLIBLIST_ELEMENTTEMPLATES, etc). Use these extensions to better define and navigate your configuration.
Special considerations for these variables:
MS_DGNLIBLIST_DRAWINGSEEDS - This must be set on this variable as well as the MS_DGNLIBLIST variable. This is unique to this variable.
MS_DGNLIBLIST_DISPLAYSTYLES - Use this to point to custom Display Styles
MS_DGNLIBLIST_ELEMENTTEMPLATES - Use this to point to Element Templates
As soon as you define an extension you will not be able to read what that extended variable defines from the MS_DGNLIBLIST variable.
So for example you define Element Templates with MS_DGNLIBLIST_ELEMENTTEMPLATES. The MS_DGNLIBLIST variable will now no longer read Element Templates because the MS_DGNLIBLIST_ELEMENTTEMPLATES variable was defined.
So be consistent across the workspace.
Make the following changes for pointing to Display Styles:
Check to make sure CIVIL_DEFAULT_STATION_LOCK is set to "1", not "True".
Remove this old variable if found: CIVIL_SURVEY_RETAIN_SURVEY_ON_COPY. It has been abandoned in the code and is no longer necessary.
CIVIL_SUPERELEVATION_RULE_FILE - This variable needs to include the path and the file name. You must have both for it to work.
MS_DGNTEXTEDITORFAVORITESYMBOLS
This variable defines the file path where the favorite symbol preferences are stored. It points to an XML file that stores this.
Here is an example of the .xml file:
Item Types
Make sure these variables are updated/correct and match the most up-to-date variables in the delivered workspace
MS_ALLOWREADONLYITEMEDIT
MS_DGNLIBLIST_ITEMTYPES
ITEMTYPE_LOOKUP
ITEMTYPE_PRIORITY_MAP_PATH
ITEMTYPE_EXCELLOOKUP has been renamed to ITEMTYPE_LOOKUP
ITEMTYPE_PRIORITY_MAP_PATH = $(CIVIL_ORGANIZATION_STANDARDS)Dgnlib/Item Types/Civil Item Type Priority.json
Purpose: Optional definitions to override the default behavior for how conflicts with Item Types are resolved on a command-by-command basis. For example, if you have two lines that each have the same Item Type properties but different values, what happens when you complex those lines together? Keep the item type from the first element selected, last element selected, or keep no item types.
Versions 2022 R1 or later - Define the variable CIVILPROPERTYECEXPRESSION = 1 in the workspace to enable the Copy ECExpressions functionality from Explorer Properties fields.
Define the following two variables if you want Item Types to not appear in the Tool Settings and Quick Properties dialogs. They will still appear in the MicroStation Properties dialog.
CIVIL_TOOL_SETTINGS_OMIT_ITEMTYPES = True
CIVIL_QUICK_PROPERTIES_OMIT_ITEMTYPES = True
When you go to make a new file the seed that it uses is populated from the below variables. Make sure they are named correctly and defined:
MS_DESIGNSEED = xDOT_Seed2D-Intl.dgn
MS_DESIGNMODELSEED = Default
Civil Labeler
CIVIL_LABELER_XMLFILE - The xml has been replaced with a dgnlib file. You do not need to variable once you upgrade to the dgnlib
10.12+ --> set the variable CIVIL_CONTENTMANAGEMENTDGNLIBLIST to the dgnlib containing the civil labeler definitions.
You can customize the title bar at the top of the software to display additional information related to your workspace. Review this wiki for more information.
Reports
You do not have to include the delivered reports in your workspace through defining the CIVIL_REPORTS_SUBDIRECTORIES variable.
Below is an example recently completed for Iowa DOT that can be followed. Pay close attention when and where not to use the ending trailing slash “/”. Also, pay close attention to the usage of the prepend, postpend and equal signs < > =
The CIVIL_REPORTS_DIRECTORY will be defined by the product.
Survey
CIVIL_SURVEY_STROKE_TOLERANCE_LINEAR = 10000
If this is set to a large number, it will only triangulate to the actual survey shot and won't add additional shots along the breakline.
For ORD 2024 and beyond set CIVIL_SURVEY_STROKE_TOLERANCE_CURVE = 0 if you don't want additional triangles along your arc.
If these variables are not defined it will use the default tolerance variable for horizontal geometry.
Plotting
Improving speeds:
Set MS_PLT_MAX_WORKER_TASKS = 2000
This is a hidden configuration variable that specifies the number of tasks that are allowed before the non-graphics version restarts itself (i.e. it reloads the dgn files and clears any cached data). A typical XS sheet will have 3 references (3 tasks), so the dgn file is unloaded/reloaded after about 33 sheets. If you set it to 2000 (as shown in the example), the same dataset would get through almost 667 sheets beforerestarting itself. Without changing this variable, the default internally is set to only 100.
Set CIVIL_ENABLE_QUICK_PRINTSERVER = 1
Whenever OpenRoads Designer prints, it kicks off an underlying non-graphics version of itself to handle the chore. This variable tells the non-graphics version to only load the minimum it needs to print, basically making it more “lightweight” and faster.
To better support MicroStation printing consider the following Printing Configuration Variables examples. Printing configuration variables help is located here. Make sure you're taking advantage of all these variables.
You can add the description field of your Levels when hovering over elements are shown below with MS_LEVEL_DISPLAY_FORMAT = N (D)
Make sure that MS_SHEETMODELSEEDNAME points to a valid model name (spelled correctly) within the sheet model only dgnlib file.
Drainage
Make sure these variables are defined and point to a path and file name
SUDA_SEED_FILE =…\xDOT_Drainage and Utilities Features Annotations Imperial.dgnlib
SUE_SEED_FILE =…\xDOT_Drainage and Utilities Features Annotations Imperial.dgnlib
CIVIL_SUBSURFACE_FILTERS_DGNLIBLIST =…\xDOT_Drainage and Utilities Features Annotations Imperial.dgnlib
Drawing Production
CIVIL_CROSSSECTION_STACK_TOP_DOWN Set this to TRUE to force cross sections to be created from the top to the bottom of the sheet. When set to FALSE or not defined cross sections are created in the default method from the bottom to the top of the sheet.
CIVIL_CROSSSECTION_REVERSE_STATION_ENABLE Set this to TRUE to enable an option on the Create Drawing dialog to create cross sections in a reverse station order. If this variable is not defined or is defined as FALSE the option does not appear on the dialog. When the Reverse Station Order option is selected on the Create Drawing dialog, the highest station cross section will appear first and the lowest station will appear last.
Display horizontal geometry information in the dynamic profile view by default by defining these variables:
CIVIL_PROFILE_HORIZONTAL_GEOMETRY_INFO = 1
CIVIL_PROFILE_HORIZONTAL_GEOMETRY_HTPS = 1
CIVIL_PROFILE_STATION_LOCK_INTERVAL = 100
Cell Files
If you want to create a new cell library, set MS_CELL_SEEDFILE
Make sure you have configuration variables set at the workspace and workset level to append the cell libraries. That will allow users to add a cell library at these levels to supplement the workspace
If you are running just MicroStation and want to exclude the drainage cells you can do that this way by placing all the drainage cells in their own folder.
# Add the following cell libraries if running OpenRoads, OpenSite, or OpenBridge.
Note: It would require creating a sub-folder entitled “DU” under the cell folder and moving those cell libraries to that folder.
If you do anything with the Component Center where you want to create a cell library when you're downloading components, define as such:
%if exists ($(_USTN_WORKSETSTANDARDS)Cell/) CIVIL_COMPONENTCENTER_DOWNLOADEDCELLSLIB = $(_USTN_WORKSETSTANDARDS)Cell/Downloaded Component Center Cells.cel %else CIVIL_COMPONENTCENTER_DOWNLOADEDCELLSLIB = $(MS_DEF)/Downloaded Component Center Cells.cel %endif
To prevent non-used product time charges, consider setting the configuration variable MS_IDLETIMEOUT=120. If defined, specifies the number of minutes of inactivity to wait before exiting. Minimum value is 30 minutes. A value of 0 means never exit even when idle.
This will better support materials. If set to 1, materials are made local on use and the DGN file defaults to a local table if one does not exist already (as it would if Copy MaterialsOn Use was enabled). If set to zero, or undefined, then localization of used materials is controlled by the Copy Materials Locally On Use toggle.
If you are working through an upgrade and you want to turn off the prompt to upgrade, you can automatically update it using CIVIL_UPGRADE_PROMPT_OFF = 1.
#====================================================== # Civil Model Upgrade Options #======================================================= # Two configuration variables control upgrading options. # # When the CIVIL_UPGRADE_PROMPT_OFF variable is set equal to 1, it will hide # the upgrade prompt and automatically upgrade files with no prompting. # # CIVIL_OPEN_OLD_READONLY on its own will do nothing. It requires the # CIVIL_UPGRADE_PROMPT_OFF configuration variable also be set. However, when # both variables are set, the upgrade prompt will be hidden and the file # will be opened as read-only. # CIVIL_UPGRADE_PROMPT_OFF = 1 # CIVIL_OPEN_OLD_READONLY = 1 #------------------------------------------------------------------------------------
Admin variables
Importing/Exporting features and annotation definitions
_CIVIL_STANDARDS_IMPORTEXPORT = 1
CIVIL_ANNOTATIONS_IMPORTEXPORT_VISIBLE = 1
Block access to the configuration manager
_USTN_RESTRICT_MANAGE_CONFIGURATION = 1 # Set this variable to improve cell placement performance. # This fixes an issue where the user may have the properties # panel open when placing cells which causes a major slow down # without this variable.
Set the config variable MS_FONTCONFIGFILE to point to a custom font configuration xml file. This editable customization file will allow xDOT to "Hide" all the non-standardized fonts installed on the user's computer. The fonts will still be available for older projects using older resource files, but will be hidden from the drop-down list within any dialogs listing fonts.
On older versions (ex: 10.12) it is not recommended to use the Activate Reference command with ORD. To disable this tool, set these variables.
When assigning variables at the Roles level, it must first be set to an equal sign to reset the variable. If this is not done, when reviewing the variables in ORD, you might notice the same variable set to the same path several times. Be sure and review carefully all variables used in the roles configuration files and make sure they are not repeated and are resolved properly.
Do not use MS_CURSORPROMPT = 1 for any version prior to 2025.
*NotePad ++ Custom Appearance.zip is attached to this article. It contains a text document on how to setup a custom display of NotePad++ for configuration file editing.