在工程设计中,通常需要根据实际仪表厂家资料图纸进行符号开发。
(资料图)
Intergraph Smart 3D有界面操作的工具,但笔者暂时并未掌握,且为了更好的说明底层的逻辑,笔者使用了传统.NET开发过程,并将结果记录分享如下。
PART 1目标说明
如下截图所示,目标开发上/下两种表皮温度计。
PART 2开发步骤
1.增加引用及Namespace等基本设定。
Namespace可以自定义。但是新编制Class需要继承Custom Symbol Definition。
2.整体结构说明
A. Definition of Inputs
此处定义元件中用户交互的参数/part表格中使用的参数。此处需要注意:Custom Interfaces中Symbol Parameter中名称定义尽量自己编写,不要用诸如Handwheel Angle或是Operator***等字眼,避免与内置已有的一些值冲突导致BULKLOAD出错。
B.Definition of Aspects and their Outputs
此处定义元件中每一部分具体显示类型(实体/保温等)。
具体格式如下:
Aspect(Name, Description, Aspect ID)
SymbolOutput(Name, Description)
C.Definition of ConstructOutputs() Sub
此处即元件开发主体。
注意事项:
a.建议使用try-catch进行错误捕捉。
b.可以使用同一dll对近似符号统一编制,只需要基于Part Data Basis进行多条件跳转即可。本例即适用此情况。
3.符号定义
符号的开发可以使用“搭积木”方式执行,几个要点:
A.使用UtilityFunctions.GetPipingPortData获取PORT相关信息,如DN等值。
B.实体常用Graphics3D类(CreateBox /CreateCylinder /CreateRevolution等)。
C.注意单位:距离默认使用m,因此程序中应该常见小数。
4.编译测试
需要如下表格:
InstrumentClassData、PipingCommodityMatlControlData、CustomInterfaces、自定义的PART。(对于tag的方式无需要设置R-Hierarchy)
对于InstrumentClassData,示例如下截图,RequisitionType为必须项。如果使用TAG+CC直接用5即可,不要给10(只有tag的用10),否则会出现放置错误。
注意dll更新后将Part表m更新下,不然旧有的程序不替换。
5.结果示例:
PART 3鸣谢感谢中国五环工程有限公司谢明明老师的精彩内容分享。
END感谢关注
关于海克斯康
海克斯康,作为数字化信息技术解决方案的革新者,秉承“智慧引擎,共赋未来”的理念,凭借“双智战略”推动制造业的智能与创新,构建新基建智慧城市生态体系。海克斯康业务遍及全球50个国家及地区,拥有员工超过24,000人。
关于海克斯康数字智能
海克斯康数字智能是海克斯康集团的独立产业单元。作为全球领先的工程类软件研发企业和信息应用服务商,从数字化工程到数字化交付以及数字化工厂,海克斯康数字智能始终致力于面向工厂全生命周期的企业级工程和管理软件系统的开发及应用服务。海克斯康数字智能通过数字化、智能化的解决方案助力客户充分利用有价值的数据资产,实现可持续发展,赋能流程工业的数字化转型,提高生产效率。
标签: