Configuration Tips - Cell Libraries

Four variables will be covered here:

  • MS_CELL
  • MS_CELLLIST
  • MS_CELLOUT
  • MS_CELLSELECTORDIR

The delivered standards.cfg includes the lines:

MS_CELL                           > $(_USTN_ORGANIZATION)cell/ # Cell libraries
MS_CELLOUT                   = $(_USTN_ORGANIZATION)cell/ # Cell lib output dir
MS_CELLSELECTORDIR : $(_USTN_ORGANIZATION)cell/ # Cell Selector files

These enable the use of cell libraries stored in the Organization cell folder, e.g. C:\ProgramData\Bentley\MicroStation 2023\Configuration\Organization\Cell\. This location is empty ready to be populated with cell libraries common to all users of the active configuration.

Additional locations can be specified in the active configuration's Standards.cfg.

MS_CELL

lists the locations where MicroStation will look for cell libraries.

When adding paths to cell libraries it is important to allow links to delivered cell libraries, e.g. those used for visualisation lighting, to persist. Setting MS_CELL = <location> will allow only the libraries in that location to be read and exclude the delivered cell libraries.

Generally MS_CELL will be set to pre-pend or append using the '<' and '>' operators respectively:

MS_CELL                           < $(_USTN_WORKSETSTANDARDS))cell/

adds the cells folder in the WorkSet  cell folder to the front of MicroStation’s search path. It's worth remembering that the order in which these locations are searched can be important. If a process looks for a cell by name and cell names are not unique, the first named cell found will be used, subsequent instances will be ignored.

While in most circumstances cell names should be unique, sometimes it can be useful to have the same name for a cell in multiple locations. For instance, if you have a custom tool that places a particular cell, say a key plan, each WorkSet's cell library can contain a cell called KeyPlan containing the appropriate graphics, the tool will look for a cell called KeyPlan.

Adding:

MS_CELL                           < $(_USTN_ORGANIZATION)cell/

to your site configuration will put the WorkSet library first in the list of cell libraries so the WorkSet KeyPlan cell will be used.

You can add as many MS_CELL  < or > statements as you need.

MS_CELL should include all locations containing cell libraries that you use to enable tools, such as Replace Cell, which search the MS_CELL locations for cell names to operate successfully.

MS_CELLLIST

controls the files listed on the Cell dialog File menu, it is defined by default, it does not include the delivered cells, the only useful ones are used directly by the system, lighting.cel for instance, so they do not need to be listed.

MS_CELLLIST                    = $(_USTN_ORGANIZATION)cell/*.cel

adding

MS_CELLLIST                    < $(_USTN_WORKSETSTANDARDS))cell/

Will list the project cell libraries at the top of the menu. You can add as many MS_CELLLIST  < or > statements as you need.

You only need to add MS_CELLLIST statements for cell libraries that you want to see listed in the Cell dialog File menu. Too many statements will make the menu very long and less usable as a quick selection tool.

* AECOsim Building Designer (ABD) Users note that ABD cell libraries will be added to the list by ABD's configuration.

MS_CELLOUT

is the default location used to save new cell libraries, this is generally set in Standards.cfg to a WorkSet folder so users have a writable location to save cell libraries. Bentley's delivered Standards.cfg directs this to the Organization Cell folder.

MS_CELLOUT                   = $(_USTN_WORKSETSTANDARDS))cell/

MS_CELLSELECTORDIR

Cell Selector is no longer widely used but MS_CELLSELECTORDIR can be included if required and set according to the rest of the configuration.

Example Section

This example section adds in the two essential statements to include the site cells folder content, MS_CELLSELECTORDIR is only needed if it is being used.

To recap, note that MS_CELL specifies only locations, but MS_CELLLIST specifies location and filename to allow specific libraries or wildcard ranges to be listed. I have shown *.cel in this example.

#----------------------------------------------------------------------
# Cells
#----------------------------------------------------------------------

MS_CELL     < $(_USTN_ORGANIZATION)cell/

MS_CELLLIST    = $(_USTN_ORGANIZATION)cell/*.cel

MS_CELLSELECTORDIR    = $(_USTN_ORGANIZATION)cell/