展开容器规则参考

“展开容器”规则可用于展开逻辑示意图,方法是添加符合以下要求的内容要素或对象:

  • 它们包含在逻辑示意图输入的一个容器中。
  • 它们同逻辑示意图输入中的内容共享同一容器。

“展开容器”规则可按源类或对象表或者按网络类别展开容器。 将该规则配置为对容器网络源类或对象表进行处理时,可以按属性过滤出这些容器。

在所有容器均已展开的逻辑示意图中,请注意以下几点:

  • 网络中的所有点容器(例如,结构交汇点、分布或传输程序集)将显示为逻辑示意图面容器,已计算该逻辑示意图面容器的几何,以使容器始终围绕其内容绘制为矩形。
  • 所有线性容器(例如,结构边)将显示在其相关的内容要素或对象中,并且在展开这些容器时可将其连接到逻辑示意图面容器。

在逻辑示意图上应用布局算法时,您可以通过以下两种方式之一来配置布局运行:

  • 在逻辑示意图的顶层图上,保留以下相对位置:
    • 与结构或设备程序集逻辑示意图面容器内的结构交汇点或设备程序集相关的所有内容要素或对象
    • 试图沿线性容器绘制内容要素时,与逻辑示意图线性容器周围的线性容器相关的所有内容要素或对象
  • 在逻辑示意图中的内容要素和非内容要素上,没有任何区别

展开容器规则过程

以下示例显示了“展开容器”规则如何处理默认存在于逻辑示意图中的容器和内容要素以及对象。

图 A - “展开容器”规则处理点和线性容器要素以及对象

以下第一个图像显示了运行展开容器规则之前的逻辑示意图 A。 该逻辑示意图显示了连接两个结构交汇点的结构边。 这些结构交汇点和边是逻辑示意图中未展开的容器。 如果逻辑示意图中未表示与容器相关的内容要素或对象,则这是逻辑示意图中的容器的默认表示。

展开容器之前的示例逻辑示意图 A 内容
显示了展开容器规则运行之前的逻辑示意图 A。

以下第二个图像显示了运行展开容器规则之后的逻辑示意图 A。 规则运行时,它将检索与每个容器结构交汇点和容器边相关的所有内容,并将它们添加到逻辑示意图中。 然后使用逻辑示意图面容器替换每个容器结构交汇点,并计算面容器几何,以便在所有逻辑示意图内容要素和对象周围进行绘制。

展开容器之后的示例逻辑示意图 A 内容
显示了展开容器规则运行之后的逻辑示意图 A。

逻辑示意图 B - 展开容器规则处理内容要素或对象

假设用户选择了一些内容要素或对象作为生成逻辑示意图的输入:一条母线连接到两个连接点。 以下第一个图像显示了构建阶段获取的初始逻辑示意图。

示例逻辑示意图 B 初始化
显示了逻辑示意图 B 初始化。

以下第二个图像显示了在构建阶段结束时,“展开容器”规则激活之前的逻辑示意图内容。 由于母线被标识为内容要素,因此“展开容器”规则已将其线性容器自动添加到逻辑示意图。 同样,由于逻辑示意图中表示的每个连接点是内容要素或对象,因此该规则已在逻辑示意图中自动添加其相关的面容器。

以下第三个图像显示了“展开容器”规则过程完成之后获得的逻辑示意图。 规则检索了与逻辑示意图中表示的每个线性和面容器相关的所有内容,并将这些内容要素和对象添加到逻辑示意图。 然后,重新计算了每个逻辑示意图面容器几何,以便每个容器在其所有内容要素和对象周围进行绘制。

展开容器之前的示例逻辑示意图 B 内容
显示了展开容器规则运行之前的逻辑示意图 B。
展开容器之后的示例逻辑示意图 B 内容
显示了展开容器规则运行之后的逻辑示意图 B。

展开容器规则配置

下文介绍了可用于在模板上添加展开容器规则的工具(添加展开容器规则添加按属性展开容器规则添加按类别展开容器规则):

  • 使用添加展开容器规则工具可基于特定网络源类和对象表配置所有逻辑示意图容器的自动展开。 可以指定一个网络源类和对象表列表,对属于这些网络源类或对象表的每个网络要素或网络对象的展开进行配置,或者也可以对任何在指定网络类和对象表外的要素或对象的展开进行配置。
  • 使用添加按属性展开容器规则可基于特定网络源类或对象表,通过按属性过滤容器来对逻辑示意图容器的展开进行配置。
  • 使用添加按类别展开容器规则工具可配置使用或不使用特定网络类别标记的容器的展开。

注:

添加按类别展开容器规则工具仅适用于 Utility Network 版本 7 及更高版本。

提示:

在按属性配置逻辑示意图规则时,可以使用以下特定的 SQL 语句、根据其他逻辑示意图要素属性值,过滤掉网络源属性值上的逻辑示意图要素:WHERE 'OBJECT' = 'IN_DIAGRAM'。 例如,要查询生成的逻辑示意图中具有最小属性值的逻辑示意图要素,您可以根据以下语法使用 SQL 表达式设置任何按属性添加 <XXX> 规则工具:<attributeName> = (SELECT MIN(<attributeName>) FROM <networkClassName>) WHERE 'OBJECT' = 'IN_DIAGRAM'

相关主题