CONNECT Edition - Custom Configuration - Part 4 : Standards CFG File Contents

As discussed in Part 3, Standards can be applied at all configuration levels.

As delivered Standards content is configured:

At the Organization level by:

C:\ProgramData\Bentley\MicroStation CONNECT Edition\Configuration\Organization\standards.cfg

At the WorkSpace level by:

C:\ProgramData\Bentley\MicroStation CONNECT Edition\Configuration\WorkSpaces\<WorkSpaceName>.cfg

At the WorkSet level, e.g.:

C:\ProgramData\Bentley\MicroStation CONNECT Edition\Configuration\WorkSpaces\Example\WorkSets\MetroStation.cfg

Optionally the Role level can also be added, but we do not configure any defaults for this level.

These files in combination with the defaults set by the system configuration files (in C:\Program Files\Bentley\MicroStation CONNECT Edition\MicroStation\config, do not edit any of these files…ever!) will contain the minimum configuration required for the product and example WorkSets to function correctly.

What should be added to a Custom Configuration?

First of all, check the existing configuration to see what is already present.

To quickly check the current configuration open the Configuration Dialog and pick File menu > Show Configuration Values

For a more detailed view of your configuration install Bentley Configuration Explorer (BCE), it can be downloaded from the Bentley iWare site.

As an example, we include Dgnlib folders at all three levels and these are already included by configuration variable MS_DGNLIBLIST, e.g.:

C:\Program Files\Bentley\MicroStation CONNECT Edition\MicroStation\Descartes\dgnlib\*.dgnlib
C:\Program Files\Bentley\MicroStation CONNECT Edition\MicroStation\Default\dgnlib\*.dgnlib
C:\Program Files\Bentley\MicroStation CONNECT Edition\MicroStation\Default\dgnlib\DrawComp\*.dgnlib
\\server\configurations\MCE\WorkSpaces\WorkSpace_01\Standards\Dgnlib\*.dgnlib
\\server\ProjectData\Project_03\WorkSet_03\Standards\Dgnlib\*.dgnlib
\\server\configurations\MCE\Organization\dgnlib\*.dgnlib

To add your own dgnlibs they can simply be dropped into a Dgnlib folder at the appropriate level, the configuration already exists.

This applies to all of the folders that we have included.

Folder Read Order

In some cases the order in which folders and their contents are read can be significant. Take a simple case such as an Organization's standard North Point placed by a custom tool. This could be a cell stored in a library in …\Organization\Cell.

If a particular project required a different North Point the custom tool, that relied upon the cell name to work, would fail if the project specific North Point had a unique name. If the project North Point cell stored in …\WorkSets\<WorkSetName>\Standards\Cell is given the same name as the standard cell the tool will work provided that the WorkSet cell folder is read first.

We define the relevant variable in system configuration file msdirs.cfg to:

MS_CELL < $(_USTN_WORKSETSTANDARDS)cell/

Note the use of the '<' pre-pend operator, this already puts the WorkSet location at the front of the list of cell folders to be read.

See the help topic: Configuration Variables > Configuration File Syntax > Assignment Statements for the other operators that are available.

Custom Variables

It is easy to add Custom Variables to a Configuration where there is not an existing variable to fulfil the required function. I strongly recommend checking for existing variables that fulfil a function before introducing Custom Variables.

Adding a custom variable is as simple as:

MY_VAR = something

'something' could be a filename, path, numeric or boolean value, or could evaluate another variable depending on the function involved.

One valid use for this is in the naming of organization specific files. It is a good idea to name customised files with an organisational prefix, e.g.: 'Org'

Create a Custom variable:

_ORGANIZATION_CODE        = Org

A seed file named Org_ModelSeed.dgn can then be referenced by $(_ORGANIZATION_CODE)_ModelSeed.dgn

This can give flexibility. If WorkSpace is set up to support a major project or client, the _ORGANIZATION_CODE variable could be defined in the WorkSpace CFG to a different value allowing the $(_ORGANIZATION_CODE)_ModelSeed.dgn statement to evaluate to a different file without rewriting established configuration files.

Some examples of additional configuration statements

These are few examples of variable statements that can be added to Organisation, WorkSpace or WorkSet CFG files

User Settings

MS_SNAPMODE_SOURCE = 1

Sets the storage of snap preferences to the users profile instead of in each DGN file, probably best set at Organization level.

Site Resource Files and Data Files

For these to work customised files must already be in place. These examples are used to replace the default files that contain lists of scales, sheet sizes and units with customised files that only contain metric or imperial units/sizes instead of both (as delivered) this reduces the length of pick lists

MS_CUSTOMSCALEDEF        = $(_USTN_ORGANIZATION)data/$(_ORGANIZATION_CODE)_scales.def

MS_CUSTOMSHEETSIZEDEF = $(_USTN_ORGANIZATION)data/$(_ORGANIZATION_CODE)_sheetsizes.def

MS_CUSTOMUNITDEF        = $(_USTN_ORGANIZATION)data/$(_ORGANIZATION_CODE)_units.def

The edited files are placed in the …\Organization\Data folder.

The originals are in C:\Program Files\Bentley\MicroStation CONNECT Edition\MicroStation\Default\Data. Each file contains notes on the format, editing is either by deleting or commenting out unwanted lines.

Operational Settings

We provide very powerful file protection tools to meet the security requirements of some organisations. As the protection is provided by strong encryption. Once a DGN is encrypted it cannot be access if the password or security certificate is lost. if this level of protection not needed, system security is sufficient in the majority of cases, it can be disabled to avoid uncontrolled use by turning off that capability:

_USTN_CAPABILITY        < -CAPABILITY_FILE_PROTECT

%lock _USTN_CAPABILITY        < -CAPABILITY_FILE_PROTECT

Unproductive use of licences can be reduced using MS_IDLETIMEOUT, set and lock idle time out to number of minutes, min 30

MS_IDLETIMEOUT                = 30

        %lock MS_IDLETIMEOUT

This reduces the default 0.5sec pop-up delay for dialogs to 0

MS_POPUPDIALOGCLOSEDELAY                = 0

Setting the default selection in the Compress dialog saves a lot of box ticking:

MS_COMPRESS_OPTIONS                = +DEFAULT;-BUILDING_DATASET_ELEMENTS;-BUILDING_DISPLAY_ACCELERATORS

Note that the last two options should be applied to AECOsim Building Designer configurations, see Compress Options, Configuration and Use for more on the Compress tools.

Referencing

Defaults for reference attachments can be set as follows, the options chosen are a typical selection but should be reviewed and amended to suit the context:

MS_REF_DEFAULTSETTINGS

= display=1,snap=1,locate=1,treatAsElement=0,nestMode=none,trueScale=1,synchWithSavedView=1,nestOverrides=always,scaleLineStyles=1,displayRasterRefs=1,ignoreWhenNesting=0,GlobalLSScale=Master,PrintColorAdjustment=0

Colour Books

It can be really useful to have Organization wide Colour Books to apply consistent colours, particularly fills to drawings, see MicroStation - Creating a Custom Colour Book for more on this.

MS_COLORBOOK_LIBRARIES                        < $(_USTN_ORGANIZATION)ColorBooks/*.dgnlib

Design History

Even if Design History is not in use in your organisation it is useful to have some defaults set for anyone that chooses to experiment or happens to turn it on. These settings maintain Design History quietly in the background. They only take effect if Design History is initiated by a user.

MS_DESIGN_HISTORY = create=1;delete=0;commit=1;browse=1;tag=1;changedesc=1;changeauthor=0;combine=1;retire=0;setrevisionformat=1;setversion=1;autoupgrade=1

%lock MS_DESIGN_HISTORY

MS_DESIGN_HISTORY_COMMIT_ON_CLOSE = 2

Standards Checker

Out of the box the location for the Standards Checker stylesheet is defined to a system default location, that needs to be changed to the WorkSet in production use where the things being checked will vary.

MS_STANDARDSCHECKER_STYLESHEET                = $(_USTN_WORKSETSTANDARDS)data/standardschecker.xsl