2024/08/05

3DModel方式出VUE如何添加自定义属性

作者 Leon

S3D出VUE有两种方式,一个3D Model方式,一个Report方式,前者生成的VUE附带的属性文件为XML,后者生成的VUE附带的属性文件是mdb2。3D Model能在3D里直接发布到Foundation,但是速度较慢,Report方式生成的VUE无法直接发布到Foundation,需要使用ISIP进行一下转换,但是这种方式速度快,稳定,支持的模型量大。不管哪种方式,自带的属性可能无法满足客户需求,如何添加属性,今天这篇文章讲一下3D Model这种方式。

1、首先假设你在Pipeline上有个自定义的字符串类型的属性TestStringAttribute,接口为IJUATest。现在我们想将Pipeline上的这个属性发布到VUE模型。第一步,先在软件里新建一个这个属性的Label,并用Tooltip测试成功。

2、打开Schema Editor,点击Startup File,在SharedContent\Xml\中找到P3DComponent.xml

3、点击Tool Schema file,在SharedContent\Xml\中找到对应Model类型的文件夹,选择SP3DPublishMap.xml

4、左边选项卡选择Schema,在Interface节点上邮件Create New Interface,这里是创建SPF中所使用的接口,属性,后面用来和S3D的接口和属性做映射。

5、这里的Interface名字可以自定义,一般以I开头,Realized by class选择对应的类,Exposed property这里New一个属性。

6、切换至Tool Schema,右键新建MapClassDef(这里你可以理解为3D的接口和属性),Name与第一步Bulkload到3D中的接口名字一致,Publish to SmartPlant Class/interface选择上一步中我们创建的SPF接口,Mapping option选择Map Directly,点击Enable UID(这一步很容易忽略)。

7、切换至Advanced选项卡,Unique ID严格按照下面的格式输入,UDP:接口。

8、Map properties 点击浏览,然后点击New,新建属性,这个属性的名字需要和我们Bulkload进3D中的属性一致。Select criteria处填写我们前面做的Label,但是这里的Label名字需要到数据库中查询,后台数据库中存储的这个Label的名字不一定就和Label一模一样。Process Criteria处填写SP3DEFPropHelper.LabelPropPublisher,这里建议手动键入。Unique ID严格按照下面格式填写,UDP:P:接口:属性。

9、点击一次确定,然后重新打开Edit MapClassDef,打开Publish选项卡,这个时候应该已经能看到两边的属性,检查一下,可以手动去map,理想情况下,点击Auto Map就可以了。

10、保存,Schema File和Tool Schema File都保存一下。

11、开S3D,用3D Model的方式创建生成VUE,其实生成的VUE不用Review打开,就可以直接通过查看xml文件来确认添加的自定义属性映射是否生效。如果要再Review里打开,最好是将修改过的P3DComponent.xml文件放到和VUE文件相同的目录下。或手动指定到这个最新的配置文件。

操作步骤有点多,给各位说一下几个容易出错的地方:

1、注意用Schema Editor打开SP3DPublishMap.xml的时候要注意当前的Model是什么类型的Model,在XML文件夹下找到对应的文件去加载。如当前的项目是Ship类型,那我们要到SharedContent\Xml\SM3D_FILES下查找。

2、MapClassDef创建属性和接口时,严格按照格式填写Unique ID,且点击Enable UID。

3、3D中的属性Name和User Name保持一致,且都为英文。

5 1 投票
文章评分