Site Standards - 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_PROJECTDATA)cell/
MS_CELLOUT     = $(_USTN_PROJECTDATA)cell/
MS_CELLLIST     < $(_USTN_PROJECTDATA)cell/*.cel
MS_CELLSELECTORDIR  = $(_USTN_PROJECTDATA)cell/

These enable the use of project cell libraries stored in the project cell folder, e.g. C:\ProgramData\Bentley\MicroStation V8i (SELECTseries)\WorkSpace\Projects\Examples\Building\cell

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, as in the delivered standards.cfg:

MS_CELL                           < $(_USTN_PROJECTDATA)cell/

adds the cells folder in the project 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 project'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_SITE)cell/

to your site configuration will put the project library first in the list of cell libraries so the project 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 only to look at the site and project cell folders, 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_SITE)cell/*.cel

adding

MS_CELLLIST                           < $(_USTN_PROJECTDATA)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 the Project Configuration File (PCF) to a project folder so users have a writable location to save cell libraries. Bentley's delivered PCFs include this statement.

MS_CELLOUT                     = $(_USTN_PROJECTDATA)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_SITE)cell/

MS_CELLLIST    = $(_USTN_SITE)cell/*.cel

MS_CELLSELECTORDIR    = $(_USTN_SITE)cell/

Anonymous