Smart3D Role 自定义解析

之前的文章《Smart3D Role功能在定义工作空间中的作用》中,我们提到过,使用Role功能的二次过滤,可以在建模时排除掉一些设计时不需要的对象类型,比如在模型中的和part类似的features等对象。
本文将做一下关于如何自定义Role类型的介绍。

定义角色
选择不同角色的下拉列表,是在项目的共享文件夹中定义的,文件名为OptimizationForRole.xml。项目管理员可以进行相关操作。

role配置文件格式如下:

xml格式结构定义有以下三层:

Role – The optimization category.

<Role Name=” ” StyleSet=” ” Version=” “>

Name – Defines the role name that displays in the Define Workspace dialog box Role list.

名称-定义了在下拉列表中显示的相关名字。

Discipline -角色里面最上层分组对象

如果想要包括该分组下面所有对象,使用如下示例格式:

<Discipline ClassName=” “/>

需要细分二级分组时,使用如下格式:

<Discipline ClassName=” “>…</Discipline>

Node – 在对象分组下面的二级分组。使用Node可以用于不想包括当前分组下所有子项时。

当想要包括子项下面的所有子项时,格式如下:

<Node ClassName=” “/>

当需要过滤子项下面的某些子项时,如下格式:

<Node ClassName=” “>…</Node>

分组显示的各种层级名字是在Smart3D中可以查到的。如下图,定义filter时候显示的对话框,在object type这一分组下的,就是对应的各种分类,子项。
软件定义支持三级子项。
参考模型想要在workspace Exploer中看到的话,需要在role定义中也有相关内容, 示例如下::

<Discipline ClassName=”Reference 3d File”/>

<Discipline ClassName=”Referenced File”/>

这样就能看到所有参考的对象了。

分组和子项的名字拼写必须与Smart3D界面中的相同,否则会有报错。
角色示例:

<?xml version=”1.0″ encoding=”windows-1252″ ?> 

  <Smart3D>

    <Role Name=”Electrical Designer” StyleSet=”Electrical” Version=”1.0″>

      <Discipline ClassName=”Cableway”>

        <Node ClassName=”Cableway Features”/> 

        <Node ClassName=”Cableways”/> 

      </Discipline>

      <Discipline ClassName=”Cabling”>

        <Node ClassName=”Cable Features”/> 

        <Node ClassName=”Cable Marker”/> 

        <Node ClassName=”Cable Runs”/> 

      </Discipline>

      <Discipline ClassName=”Equipment and Furnishing”>

        <Node ClassName=”Equipment”> 

          <Node ClassName=”Equipment A”/>

        </Node>

      </Discipline>

      <Discipline ClassName=”Supports”/> 

    </Role>

    <Role Name=”Equipment Designer” StyleSet = “Equipment” Version = “1.0”>

      <Discipline ClassName=”Equipment and Furnishing” />

      <Discipline ClassName=”Grid Systems”/>

      <Discipline ClassName=”Structure”>

        <Node ClassName=”Equipment Foundations”/> 

        <Node ClassName=”Members”/> 

        <Node ClassName=”Slabs”/> 

        <Node ClassName=”Walls”/> 

      </Discipline>

  </Smart3D>

如上两个示例中,定义了两个角色,分别过滤的对象如下表:

 

相关文章:

Smart3D Role功能在定义工作空间中的作用

数字化工程设计公众号二维码
原文链接:查看原文  文章来源:数字化工程设计
🔗 分享 0

上5篇 more...

下5篇 more...