CONNECT Edition--配置变化


  1. 介绍

在CONNECT Edition(以下简称CONNECT)中,对配置文件的组织和处理方式进行了大量的更改。本文档提供了有关这些更改的信息,并主要适用于CONNECT版本,以及所有基于CONNECT版本PowerPlatform的Bentley应用程序。它还假设您对配置文件概念有一个既存的知识,并且熟悉V8i中如何使用它们。

  1. 术语的改变

在V8i中,配置文件和配置变量的总体使用被称为工作空间。在CE中整体的使用被称为配置(Configuration)。

“工作空间”一词现在有了不同的含义,下面见5。

在V8i中,在整个组织中使用的配置文件和配置变量被称为“站点(Site)”级别。在CONNECT中,它被称为“组织(Organization)”级别。

在V8i中,一组文件和相关数据被称为“项目(Project)”。这个术语是有问题的,因为公司(Organization)使用术语项目(Project)作为业务目的,很少与奔特利应用程序中的数据分组相关联。因此,这个分组现在被称为“工作集(Workset)”。例如,以前称为项目的配置变量级别现在是工作集级别。

在V8i中,项目是由“用户”组织的。选择不同的用户可以改变可用的项目列表,也可以更改用户首选项(.upf)文件和用户配置(.ucf)文件。在CONNECT中,用户的选择已经从用户界面中删除。每个连接用户都有自己的个人信息,upf值文件和ucf文件与它们的Windows登录相关联,因此它们所设置的配置变量和它们所选择的用户首选项不会受到它们正在工作的工作区或工作集的影响。

  1. 目录结构的差异

在V8i中,默认的交付目录是包含工作空间和文档子目录的根目录。与上面讨论的术语更改保持一致,工作空间目录已被重新命名为配置。V8i工作空间目录中包含了本系统子目录中的本系统数据。这是一个缺点,因为其中一些数据是特定于版本的,所以在CONNECT中,没有Configuration\System目录。它的内容已经被移动到程序目录下的子目录中,通常是在程序文件奔特利的名字下Program Files\Bentley\<ApplicationName>.

  1. 配置层级差异

在V8i中,有5个配置级别,从最低到最高优先级,如下所示。在较高级别定义的配置变量覆盖较低级别的定义:

0 - System

1 - Application

2 - Site

3 - Project

4 - User

在V8i配置文件, 配置变量的层级定义是使用%level指令,指定一个数字在左上栏(例如% 1level)。另一种是把配置文件的层级数字在% include语句中处理。

在CONNECT中,有7个配置级别。从最低到最高的优先级:

0 - System

1 - Application

2 - Organization

3 - WorkSpace

4 - WorkSet

5 - Role

6 - User

在配置文件中,仍然使用%level指令设置级别,但是现在参数是右列中的文本值之一,而不是数字(例如%level应用程序)。这提高了配置文件的可读性。您仍然可以指定一个数字,但是会生成一个警告,因为它表明您可能正在处理一个预先连接的配置文件,而配置级别的数字可能不再正确了。在大多数情况下,%level指令(或%level设置包括%include语句)都是在本发布的配置文件中,这些文件包含用户编写的配置文件,而不是在用户编写的配置文件中。但是,高级用户可能使用了%level的指令,因此可能会遇到警告。下面将讨论CONNECT配置中工作区和角色的两个新增级别。

  1.  WorkSpace

在CONNECT中,“工作空间”是一个容器,将工作集、标准文件和相关的配置文件整合在一起,在一个广泛的上下文中使用。不同的用户组织将对“工作空间”分组机制有不同的用途。工程和建筑公司可能会为他们的每一个客户使用一个单独的工作空间。资产所有者可能会为每个资产或部门使用一个单独的工作空间。由于这个原因,在CONNECT用户界面中出现的工作空间的标签可以由一个配置变量来设置。这是通过指定配置变量来完成的_USTN_WORKSPACELABEL WorkSpaceSetup.cfg 配置子目录中的文件. 默认值是中性的 “WorkSpace”.

对于那些熟悉V8i的人来说,工作空间和V8i中的“用户”概念之间有一些相似之处在于,用户配置文件被用来过滤显示的项目列表。然而,工作空间更适合典型的用户组织工作流,因为它们在配置级别的层次上出现在正确的级别,而且它们不影响用户特定的设置.

使用V8i“用户”级别的组织为特定的组选择配置,例如客户。主要的项目,等等可以通过为每个组创建工作空间来达到类似的粒度.

      6. 角色

一个常见的增强请求是添加一个配置级别,允许根据单个用户的角色或专业来控制标准和特定的程序行为。CONNECT提供了这个额外的配置级别,但是将它留给用户组织来决定如何识别单个用户的角色。为了使用这个功能,配置变量_USTN_ROLECF可以设定配置文件的文件名,包含了指定角色的配置变量设置。这可以通过以下方式实现:

 在工作空间、工作集和用户配置文件被处理后,_USTN_ROLECFG配置文件将被运行,以允许它们中的任何一个指定_USTN_ROLECF

  1. 配置基础

基于共享的PowerPlatform,Bentley应用程序定义了配置文件中的系统和应用级别配置变量。管理员通常在用户提供的配置文件中对组织、工作空间、工作集和角色级别进行更改。每个Bentley应用程序都提供了模板配置文件,这些文件可以作为这些配置文件的起点。

配置变量被组织到框架配置变量(Framework Configuration Variables)中,这些变量首先以“_USTN_” 前缀, 以及到大部分以 “MS_” 前缀的操作配置变量(Operational Configuration Variables). 一般来说,框架配置变量在配置文件中使用,而操作配置变量用于指导应用程序中的程序流。一些框架配置变量是由应用程序安装路径决定的。其他框架配置变量默认为安装目录的相关位置,但是可以在用户提供的配置文件中更改。

配置文件处理可以看作是编译一个简单的程序,其中一部分是由系统配置文件提供的,不应该由用户修改,一部分是由配置文件提供的,这些配置文件是用户修改的。所有的配置文件都是简单的文本文件,可以在任何文本编辑器中检查(并在用户自定义的配置文件中可修改)。

系统配置文件位于 <ApplicationName>/config安装目录中,而用户可修改的配置文件则位于配置安装目录或其他用户指定的目录中。用户可修改的配置文件在适当的时候被系统配置文件包含在配置文件处理流程中。

第9节提供了对配置文件进行处理的“排演”,并识别了用户可修改配置文件指定目录和应用程序行为的访问点。

理解配置文件处理的一个必要的帮助是命令行参数“-debug”. 这就指示Bentley应用程序编写一个文本文件,该文件包含了每个配置文件的处理历史,在你的Windows系统配置的任何编辑器中打开该文件以处理文本文件(通常记事本)。 当你关闭记事本时, Bentley 应用程序也关闭了。

在您的Bentley应用程序中,您还可以使用新的“SHOW Configuration”命令查看所有配置变量的当前值。这也会打开记事本,并带有当前的配置变量。

    8. 配置文件Syntax

配置文件由四种类型的语句组成:

 配置变量通常以其他配置变量的形式定义。这可以用两种不同的方式完成:

当使用简单的括号时,如 in $(<CfgVarName>), 该表达式将逐字地存储在配置变量定义中,并在稍后进行评估,在程序执行过程中最终需要配置变量的值。这种形式更加灵活,因为定义可以使用其他配置变量来设置,即使它们还没有被定义。因此,它更常用。

当使用花括号时, 如 in ${<CfgVarName>}, CfgVarName的值会立即被评估,而配置文件本身正在被处理。因此,表达式中使用的配置变量必须预先定义。

 

流指令

下面的流程的指令支持:

指令

语法

定义

%include

%include <filespec>

 

 

%include <filespec> level <levelspec>

Includes one or more Configuration Files before proceeding with the next line in this Configuration File. <filespec> can specify a single file, or can include wildcard characters to include many files. <filespec> can contain Configuration Variables. Example:

%include $(_USTN_WORKSPACECFG)

The include directive can include a Configuration Variable level at which the assignments in the included file are applied (until another level directive is encountered). Example:

%include $(_USTN_ROLECFG) level Role

%if

%if <expression>

If <expression> evaluates to true, continue on the next line, otherwise skip to the matching %else, %elif, or %endif statement. See Expressions and Operators for the syntax of <expression>. Example:

%if $(PHASE)==”Final”

%ifdef

%ifdef <cfgvar>

If <cfgvar> is defined, continue on the next line, otherwise skip to the matching %else, %elif, or %endif statement. Example:

%ifdef _USTN_ROLECFG

%ifndef

%ifndef <cfgvar>

If <cfgvar> is not defined, continue on the next line, otherwise skip to the matching %else, %elif, or %endif statement. Example:

%ifndef MS_DEF

%else

%else

An %if, %ifdef, or %ifndef that evaluates to false continues at the line following a matched %else statement, if there is one.

%elif

%elif <expression>

An %if, %ifdef, or %ifndef that evaluates to false continues by evaluating <expression> at the first matched %elif statement, and then either continues processing at the line following if expression evaluates to true, or skips to the next %elif, %else, or %endif statement.

%elif defined (MS_RFDIR)

%endif

%endif

The statement that indicates the end of the conditional block for an %if, %ifdef, or %ifndef statement.

%echo

%echo <message>

Shows the contents of <message> in MicroStation’s text window and continues processing. Example:

%echo $(MS_DEF)

%error

%error <message>

Causes processing to stop, reporting the contents of <message> as the error.

%error unexpected value

变量指令

支持以下的变量指令:

变量指令

语法

定义

%lock

%lock <cfgvar>

Locks the Configuration Variable <cfgvar> so that it cannot be changed.

%undef

%undef <cfgvar>

Discards the value of the Configuration Variable and sets it to undefined.

%level

%level <newLevel>

Specifies the level at which any following Configuration Variable definitions are to be applied.

The <newlevel> argument should be one of the following:

System

Application

Organization

WorkSpace

WorkSet

Role

User

Case is unimportant.

赋值语句

下表显示了可以定义配置变量的不同方式:

Assignment operator

Definition

=

Assign the Configuration Variable at the current level, regardless of whether it is currently defined. Example:

MS_SHEETMODELNAME = 2D Sheet

:

Assign the Configuration Variable at the current level, but only if it not already defined. Example: MS_BACKUP : $(_USTN_OUT)

Appends the operand to the existing definition of the variable, separating the existing value and the operand by semicolons (treating the variable as a path). Example:

MS_RFDIR         > $(_USTN_WorkSetROOT)Borders/

Prepends the operand to the existing definition of the variable, separating the existing value and the operand by semicolons (treating the variable as a path). Example:

MS_RFDIR        < $(_USTN_WorkSetROOT)Borders/

+

Appends the operand to the existing definition of the variable without separator.

_USTN_WorkSetDESCR + In Development

 下表显示了可以在配置变量定义中使用的操作符,以及如何将它们解释为配置变量。在下面的例子中, 假定$(ustnworksetcfg)定义为g:/Clients/DeptOfTransportation/WorkSets/Highway131.cfg

运算符

语法

定义

basename

basename (<expression>)

Returns the filename of <expression> without directory or extension. Example:

WorkSetNAME = basename (_USTN_WorkSetCFG) gives Highway131

concat

concat (<arg1>,<arg2>…)

Returns the concatenation of the arguments, similar to the + operator, but allows multiple arguments. Example:

LIST = concat (CFG1,CFG2,CFG3)

devdir

devdir (<expression>)

Returns the device and directory of <expression>, including a trailing directory separator. Example:

WorkSetDIR = devdir (_USTN_WorkSetCFG) gives g:\Clients\DeptOfTransportation\WorkSets\

dev

dev (<expression>)

Returns the device (e.g., c:) of   <expression>. Example:

WorkSetDEV = dev (_USTN_WorkSetCFG) gives g:

dir

dir (<expression>)

Returns the directory (without the device) of <expression>. Example:

WorkSetDIR = dir (_USTN_WorkSetCFG) gives \Clients\DeptOfTransportation\WorkSets\

ext

ext(<expression>)

Returns the file extension of <expression>. Example:

WorkSetEXT = ext (_USTN_WorkSetCFG) gives .cfg

filename

filename (<expression>)

Returns the filename and extension of <expression>. Example:

WorkSetFILE = filename (_USTN_WorkSetCFG) gives Highway131.cfg

first

first (<expression>)

Returns the first portion of an expression (i.e., the part preceding the first semicolon). Example:

FIRSTREFDIR = first (MS_RFDIR)

firstdirpiece

firstdirpiece (<expression>)

Returns the root directory (without device) of <expression>. Example

WorkSetROOT = firstdirpiece ($(_USTN_WorkSetCFG)) gives Clients

lastdirpiece

lastdirpiece (<expression>)

Returns the portion of the directory closest to the file in <expression>. Example:

WorkSetPAR = lastdirpiece ($(_USTN_WorkSetCFG)) gives WorkSets

noext

noext (<expression>)

Returns the full path of <expression>, omitting the extension.

WorkSetFILEROOT = noext (_USTN_WorkSetCFG) gives g:\Clients\DeptOfTransportation\WorkSets\Highway131

parentdevdir

parentdevdir (<expression>)

Returns the parent directory, including the device, of <expression>. Example:

WorkSetPDD = parentdevdir (_USTN_WorkSetCFG) gives g:\Clients\DeptOfTransportation\

parentdir

parentdir (<expression>)

Returns the parent directory, excluding the device, of <expression>

WorkSetPD = parentdir (_USTN_WorkSetCFG) gives \Clients\DeptOfTransportation\

registryread

registryread (regvar)

Returns the contents of the registry variable regvar. Example:

PWDIR=registryread("HKEY_CURRENT_USER\SOFTWARE\Bentley\ProjectWise\Path")

9. 配置文件处理过程

配置文件处理从配置文件mslocal.cfg开始。它是一个只有几行(包括msdir)的“引导”文件。cfg是在安装时生成的另一个小型配置文件,并标识应用程序的安装目录,然后包含msconfig.cfg,其中包含配置文件处理的主要“程序流程”。

msconfig.cfg 配置文件

您永远不应该修改msconfig.cfg本身(或程序目录中的其他配置文件)。正如您在下面的讨论中所看到的,有几个比较好的地方可以定义msconfig.cfg包括用户可修改的配置文件。在那些用户可修改的配置文件中提供修改配置变量,以满足公司设计对数据和存储位置的所有灵活性要求。

msconfig.cfg配置文件首先设置_USTN_BENTLEYROOT配置变量和一些框架配置变量,这些变量指向程序数据交付的目录。这些都是程序操作所必需的,但不能为任何用户数据或文件定义位置。然后,它包括了与相关Bentley应用程序一起发布的系统和应用程序配置文件.

# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

#包含所有交付的系统配置文件。

#这些定义系统级配置变量。

%include$(_USTN_SYSTEM)*.cfg系统层级

# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

#包括交付应用程序配置文件。

#这些定义了应用级配置变量。

# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

%包括$(_USTN_APPL)*.cfg应用程序层级

这部分与设置定制配置相关的部分从msconfig开始,cfg定义了_USTN_CONFIGURATION配置变量:

#----------------------------------------------------------------------

#定义配置数据的根目录

#----------------------------------------------------------------------

_USTN_CONFIGURATION:$ { _USTN_BENTLEYROOT }configuration

由于使用花括号,这将立即评估安装目录的子目录。

默认情况下,许多其他配置变量被设置为_USTN_CONFIGURATION定义的目录的子目录。这些变量的定义(_USTN_ORGANIZATION,_USTNWORKSPACESROOT,_USTNWorkSetSROOT,等等)遵循_USTN_CONFIGURATION的定义。

WorkSpaceSetup.cfg配置文件

定制配置的第一个机会是msconfig.cfg包括WorkSpaceSetup.cfg:

%if exists ($(_USTN_CONFIGURATION)WorkSpaceSetup.cfg)

% include $(_USTN_CONFIGURATION)WorkSpaceSetup.cfg

%endif

你可以看到WorkSpaceSetup.cfg 位于交付的配置目录中,并计划由用户定制, 这是它涵盖的内容:

WorkSpaceSetup.cfg 为您的公司配置工作空间。这个配置文件的主要功能是设置您的公司想要使用的工作空间的标签。

工作空间是工作集的分组机制。这个级别的分组可以是客户端、设施、部门、所有者,或者任何你想要的。默认的标签是中立的“工作空间”。下面的定义将设置为您的首选标签。_USTN_WORKSPACELABEL:Workspace。第二个可能使用配置文件的方法,是导引到公司放置标准的根目录下。默认的是 $(_USTN_CONFIGURATION Organization/。可以通过重新定义_USTN_ORGANIZATION来更改它。第三个可能使用这个配置文件的方式,是重定向到根目录下你的默认工作空间存储位置。默认的是$(_USTN_CONFIGURATION)WorkSpaces/。可以通过重新定义_USTN_WORKSPACESROOT来改变它。

文件中的注释解释了它的三个原则:将Workspace标签设置为您的公司所期望的值,并可能将您的组织范围内的标准数据和所有其他工作空间数据重定向到另一个位置(例如,网络共享)。请参见下面的“典型配置场景”部分,以了解使用的示例。

公司配置层面

根据WorkSpaceSetup.cfg和msconfig.cfg的反馈,包含了全公司范围的配置文件:

包括公司特定的配置文件。配置文件在the _USTN_ORGANIZATION 目录中的,将被指向公司标准的配置变量,比如如级别库、单元库等. 这些设置将被增加或者覆盖在WorkSpace 和 WorkSet 层面.

%level Organization

%if exists ($(_USTN_ORGANIZATION)*.cfg)

% include $(_USTN_ORGANIZATION)*.cfg

%endif

作为交付,_USTN_ORGANIZATION指向Configuration\Organization目录,该目录包含一个设置了在交付中假定通用目录结构配置变量的配置文件,标准。  如果您重新指向 _USTN_ORGANIZATION, 你可以采用相同的目录结构或者更改以符合您的需要。由于上边的语句在_USTN_ORGANIZATION目录包含了所有配置文件,您可以重命名你的配置文件,不再是standards.cfg,或者您可以使用超过一个配置文件,如果有必要。他们将按照字母顺序排列

用户配置文件

下一步是包含用户配置文件.用户配置文件存储在Personal.ucf的指定路径中,并且存储于用户个人配置中。被存储于这个位置是因为Workspace和workset是存储于User Configuration file中的

工作空间配置文件

下一步是在配置过程中决定Workspace配置文件。每个WorkSpace都有一个命名为<WorkSpaceName>.cfg的配置文件,必须放在 _USTN_WORKSPACESROOT中指向的目录.交付时,_USTN_WORKSPACESROOT被定义为 $(_USTN_CONFIGURATION)WorkSpaces/, 但它可以在WorkSpaceSetup.cfg文件中被修改 .

一个,且只仅有一个WorkSpace配置文件可以被运行。这里有一些在msconfig.cfg配置中的逻辑决定了拿一个Workspace文件可以被加载,该配置在_USTN_WORKSPACENAME中被设置, 但目前这个可以被忽略。应用只记录最近的Workspace名称,以及使用它设置_USTN_WORKSPACENAME.

WorkSpace配置文件包括msconfig.cfg,利用如下结构:

%if defined (_USTN_WORKSPACENAME)

% if exists ($(_USTN_WORKSPACESROOT)$(_USTN_WORKSPACENAME).cfg)      _USTN_WORKSPACECFG = $(_USTN_WORKSPACESROOT)$(_USTN_WORKSPACENAME).cfg

%  include $(_USTN_WORKSPACECFG) level WorkSpace

% endif

%endif

用户公司会频繁的自定义Workspace配置文件,当一个新的Workspace被创建,它将首先默认按照如下模板:

新的WorkSpace模板

当MicroStation运行时,一个且仅有一个工作空间配置文档会被选择。Workspace配置文件定义了_USTN_WORKSPACEROOT和 _USTN_WORKSPACESTANDARDS的位置,或者这个工作空间的_USTN_WorkSetSROOT . 这些事根目录,标准目录,和相应的Workset目录。默认位置定义在msconfig.cfg:

 _USTN_WORKSPACEROOT 是 $(_USTN_WORKSPACESROOT)$(_USTN_WORKSPACENAME)/

 _USTN_WORKSPACESTANDARDS 是定义为$(USTN_WORKSPACEROOT)Standards/

 _USTN_WorkSetSROOT 是定义为$(USTN_WORKSPACEROOT)WorkSets/

如果默认设置可以接受,这些文件不需要任何定义。想要把所有工作空间数据移动到另外一个目录下(例如:网络共享)。  _USTN_WORKSPACEROOT 可以被重新定义,并且默认值在# _USTN_WORKSPACESTANDARDS和_USTN_WorkSetSROOT被保留。

如您所见,所有工作空间根目录、标准或workset根目录的任何组合都可以根据用户的需求重新定义。

下一步,在 msconfig.cfg中包含了所有存储在目录中的配置文件,由 _USTN_WORKSPACEROOT指向

当我们到达这一点时,我们已经定义了一个工作空间。工作空间中很多的.cfg 文件,在这里运行。

%if exists ($(_USTN_WORKSPACEROOT)*.cfg)

%include $(_USTN_WORKSPACEROOT)*.cfg level WorkSpace

%endif

这些配置文件(s)是可选的,并且包含在用户工作流程中任何适当的配置变量定义。通常,不需要额外的配置文件,而交付的示例工作空间没有任何文件。

WorkSet配置文件

在WorkSpace配置文件被处理后, msconfig.cfg 试加载一个(并且只有一个)Workset配置文件.

每一个workspace中的WorkSet都有一个配置文件被命名为<WorkSetName>.cfg,由_USTN_WorkSetSROOT指向目录.默认的USTN_WorkSetSROOT被定义为$(_USTN_WORKSPACEROOT)WorkSets/, 但是可以在Workset配置文件中被修改

Bentley应用负责记录所有最近使用的workset,并相应的设置好_USTN_WorkSetNAME的配置变量。  

 WorkSet 配置设置如下:

%if exists ($(_USTN_WorkSetCFG))

% include $(_USTN_WorkSetCFG) level WorkSet

%endif

角色配置文件

在WorkSet 配置文件运行之前, msconfig.cfg将查看 _USTN_ROLECFG 是否被定义.如果是,那_USTN_ROLECFG中的配置文件将被执行。先前提到, MicroStation 没有_USTN_ROLECFG的默认值 –它必选设置为系统环境变量或定义为一种用户修改的配置变量,并在msconfig.cfg前优先执行。

msconfig.cfg的最后一部分处理数据库的配置变量,如果那些功能被使用。

当msconfig.cfg被全部执行,所有的配置文件变量定义将完成。

10.Workset选择期间的配置更改

当选择不同的工作集时,将采取以下配置变量操作:

另外的Workset可以通过多种方式选择:

在启动应用程序时使用- ww < WorkSet >命令行参数。

  1. 配置变量在V8i和CONNECT之间的变化

下表列出了在CONNECT版本中新的或替换V8i中配置变量的框架配置变量。在替换的情况下,第二列列出了V8i中对应配置变量。

 

CONNECT Configuration Variable

V8i Configuration Variable

Description

_USTN_CONFIGURATION

_USTN_WORKSPACEROOT

Defined to the root directory where user-modifiable Configuration Files are located.

_ USTN_ORGANIZATION

_ USTN_SITE

Defined to the root directory where organization-wide standards files are located.

_USTN_WORKSPACESROOT

 

Defined to the root directory where all WorkSpace Configuration Files are located.

_USTN_WORKSPACEROOT

 

Defined to the root directory of a particular WorkSpace.

_USTN_WORKSPACESTANDARDS

 

Defined to the root directory where the Workspace-wide standards files are located.

_USTN_WORKSPACECFG

 

The Configuration File that corresponds to one particular WorkSpace

_USTN_WorkSetSROOT

_USTN_PROJECTSROOT,
_USTN_PROJECT

Defined to the directory where the WorkSet Configuration files are located.

_USTN_WorkSetROOT

_USTN_PROJECTDATA

 

Defined to the parent directory of the Standards and data directories for the WorkSet.

_USTN_WorkSetSTANDARDS

 

Defined to the root directory where WorkSet standards files are located.

_USTN_WorkSetDGNS

 

Defined to the directory where the WorkSet design files are located.

_USTN_WorkSetCFG

_USTN_PROJECTCFG

The Configuration File that corresponds to one particular WorkSet

  1. 典型的配置方案

Tensor工程为几个不同的客户提供服务。这些公司有自己的内部标准来规范图框、单元库、层级、材料等。然而,它的一些客户要求使用他们自己的标准。该公司的信息技术部门使用一个服务器“Tensor”作为内部标准。它的主要客户之一是帝国生物科技公司,它有自己的标准。IT部门为帝国生物技术所做的所有工作维护了一个服务器“Imperia”。管理员负责定义Tensor工程的适当配置,以及它代表帝国生物技术所做的工作,并让所有Bentley用户共享该配置。以下是一些可以采取的步骤。

Tensor的管理员配置奔特利应用程序安装,安装应用程序桌面快捷方式,包括命令行参数   “WR\\Tensor\MicroStation\Configuration\”. 这将在启动MicroStation时定义_USTN_CONFIGURATION变量。

管理员复制交付的WorkSpaceSetup.cfg到\ \Tensor\ MicroStation \ Configuration目录(在启动时定义_USTN_CONFIGURATION),并编辑该目录如下:

WorkSpaceSetup.cfg -Tensor工程配置工作空间

设置工作空间标签客户_USTN_WORKSPACELABEL =client

Tensor标准是位于“Tensor”服务器

_USTN_ORGANIZATION= //Tensor/MicroStation/TensorStandards/ Tensor 位于服务器客户端配置文件. _USTN_WORKSPACESROOT    = //Tensor/MicroStation/Clients/

Tensor工程决定使用bentley建议的子目录结构来实现它的内部标准。因此,管理员创建与交付的示例Configuration\Organization目录相同的子目录,并使用匹配Tensor标准的单元库、DGNLIBS、材料、字体等目录填充这些目录。由于子目录结构与示例相同,因此管理员只需复制交付的Standards.cfg到\ \\Tensor\MicroStation\TensorStandards\ directory。因为所有的配置变量定义都是standards.cfg中_USTN_ORGANIZATION的,不需要任何更改。

管理员设置了帝国的生物技术配置。起点就是一个在Configuration\WorkSpaces 中的Example.cfg文件,因此他或她将该文件复制到“Imperial BioTechnology.cfg”,在\\Tensor\MicroStation\Clients\ directory中。由于所有的帝国生物技术数据都位于帝国服务器(在称为MicroStation的共享服务器中),所以最简单的方法就是将_USTN_WORKSPACEROOT重定向到该服务器上的一个共享。“MicroStation”共享包含standards和workset子目录,它们与_USTN_WORKSPACESTANDARDS和_USTN_WorkSetSROOT的默认值相匹配,因此不需要设置这些。帝国生物技术提供了一些额外的DGNLIB文件于Tennor使用的单元库,因此这些文件被附加到适当的配置变量中。完成“Imperial Biotechnology.cfg”工作区配置文件是这样的:

Imperial Biotechnology.cfg –帝国生物技术的配置

所有帝国的标准和工作设置都在‘Imperial’ 服务器

_USTN_WORKSPACEROOT = //Imperial/MicroStation/

帝国生物技术供应几个DgnLibs和GUI DgnLib文件:

MS_DGNLIBLIST > $(_USTN_WORKSPACESTANDARDS)DgnLib/*.dgnlibMS_GUIDGNLIBLIST       >$(_USTN_WORKSPACESTANDARDS)DgnLib/GUI/*.dgnlib

帝国生物技术供应几个单元库, 所以将其子目录添加到单元库搜索路径

MS_CELL  > $(_USTN_WORKSPACESTANDARDS)Cell/

Tensor工程公司与帝国生物技术公司签订了一份新的合同,以改造新墨西哥州陶斯的实验室. 在“Imperial Biotechnology”工作空间中 ,他们创建了一个新的WorkSet 叫 ‘Taos’.这个WorkSet创建工具拷贝WorkSet 模板到 _USTN_WorkSetSROOT, 创建\\Imperial\MicroStation\WorkSets\Taos.cfg. 管理员保留了标准和数据位置的默认值所以创建 WorkSet工具创建子目录  \\Imperial\MicroStation\WorkSets\Taos\Standards 和 \\Imperial\MicroStation\WorkSets\Taos\Dgn 来保存该Workset中的标准和设计文件.