Skip to content
赞助合作

本站右侧赞助位长期招租

联系我投放

扩展分类机制 (Extended Classification) 与 xProperties

在传统的 PLM 建模中,如果一个对象类(如零件 Part)有许多子类(如“电阻”、“螺钉”、“显示屏”),我们通常会在 ItemType 中定义单叉树式的 Class Structure。然而,当子类数量庞大且每个子类都有大量专属的技术参数时,传统建模会面临两个痛点:

  1. 数据库表膨胀:所有子类的专有属性都物理保存在同一张主表(如 [innovator].[PART])中,导致物理列超限或出现大量空值列。
  2. 多重分类困难:一个对象如果同时属于多个门类,传统的单层分类结构无法支持。

为了彻底解决上述问题,Aras 引入了 扩展分类机制 (Extended Classification)


1. 核心概念对比

特性传统单叉树分类 (Class Structure)扩展分类机制 (Extended Classification)
层级关系简单的树形分类,只支持单路径。支持复杂的分类网络,可进行继承与挂载。
属性定义属性必须在主 ItemType 上统一定义,通过“表单字段根据 Classification 条件显示隐藏”来模拟。属性可以直接挂载在分类节点(xClass)上,只有被归类为该节点的 Item 才会动态绑定这些属性。
底层存储所有属性物理保存在同一物理表中。采用主表 + 扩展值表映射存储,大幅降低主表字段负担。
权限控制无法对特定分类下的专属属性进行独立的权限划分。支持针对特定分类和特定属性值配置精细化权限。

2. 扩展分类的核心元数据

  • xProperty (扩展属性):独立于 ItemType 定义的物理属性。它可以复用在多个不同的分类树中。
  • xClass (扩展分类):分类树中的一个节点,代表一个分类实体(如“陶瓷电容”)。它可以继承父节点的 xProperties,也可以定义自己独有的 xProperties。
  • xClassification Tree (分类树):一个完整的分类层次体系。
  • xClassPath (分类路径):对象分类的完整路径,例如 /Electronics/Capacitor/Ceramic

3. 属性挂载与权限设计

在扩展分类中,属性值与分类操作的安全控制非常严密,这得益于双层权限机制:

3.1 分类修改权限 (Item Classification Permission)

控制哪些用户有权将某个 Item(如某个零件)归入特定的 xClass 节点,或者将其从该节点移出(Unclassify)。这防止了普通工程师随意修改器件的物料分类大类。

3.2 属性值权限 (xProperty Value Permission)

控制哪些用户能够读取、编辑挂载在特定分类上的 xProperty 的值。例如,即使所有用户都能看到某个“保密零件”的常规属性(如编码、名称),但只有特定安全级别的工程师能查看挂载在其 xClass 下的扩展涉密属性(如“芯片核心算法代码包物理路径”)。


4. 配置扩展分类的步骤

步骤一:创建扩展属性 (xProperties)

  1. 进入管理端 -> xProperties,新建所需的属性。
  2. 配置方式与常规 Property 类似(定义类型为 String, Float, List 等),但它们是不属于任何 ItemType 的游离属性。

步骤二:构建分类树 (xClassification Tree)

  1. 进入管理端 -> xClassification Trees,创建一个新分类树。
  2. Tree Layout 选项卡中,右键新增子类节点(xClass),绘制企业分类大纲。
  3. 分配属性:选择特定的 xClass 节点,在 Properties 栏中,将刚才创建的 xProperties 添加进去。子节点会自动继承所有来自父节点的属性。

步骤三:绑定到主对象类 (ItemType)

  1. 进入目标 ItemType(如 Part)。
  2. xClassification Trees 关系页中,添加刚才创建的分类树。
  3. 这意味着该 ItemType 的所有实例均可以通过该树进行分类。

步骤四:改造表单界面 (xClass Control)

  1. 打开 Part 的 Form 编辑器。
  2. 往表单中拖入一个特殊的控件:xClass Control(扩展分类控件)。
  3. 保存表单。用户在新建 Part 时,可以在表单上通过该树形控件选择其归属的分类,一旦选中,表单会动态弹出一块专属区域,供用户填报该分类专有的 xProperties 参数。

5. 隐式与显式扩展属性 (Implicit vs. Explicit)

在关联底层数据时,扩展属性的表现形式有两种:

  • 显式扩展属性 (Explicit xProperties):物理上明确地被绑定到了分类节点上,用户只有手动选择了对应的 xClass 后,才能输入并查看这些属性的值。
  • 隐式扩展属性 (Implicit xProperties):在后台由系统自动关联或基于特定数据模型的继承规则计算得出,不需要工程师在前端手动选择分类便自动加载。

本站内容仅供学习与参考

本站总访问量