采用OPM V8i进行管道建模时,在软件的默认设置下,管线号依据schema中定义的规则表达为一系列属性的组合,每新建一根管道,软件会自动分配一个与管线号相关的图层,图层名的规则为“介质名-管线号”,如图1所示,这样对后期模型中管道的管理很有帮助。
现有一个公制项目,要求管线号中带有英制表示的公称直径,还要带有介质、子项号、管道编号、管道等级、保温等信息,如8"-LPS-416E-1001-1C2-H,
为了简化工作,修改了schema中关于管线命名的规则,让“NAME”属性的EC表达式为“this.NUMBER”(如图2),也就是让NAME直接等于NUMBER。
这样在新建管线的时候,直接在管道编号Number中填入上述8"-LPS-416E-1001-1C2-H,管线号Name处就会自动显示为同样的8"-LPS-416E-1001-1C2-H,但是这样做之后出现了一个问题,所有新建的管道都会属于同一图层(IR-Low Pressure Incinerator),不会根据管线号来自动创建图层了,请问这是为什么?如何设置可恢复根据管线号自动创建图层的功能。
您好,您这种情况,我建议新建一个属性叫Imperial_Size,可以每次手写输入8“,管道名称提取该属性组合。
谢谢老师,我这边经过测试,在上述管线命名规则(NAME直接等于NUMBER)下,我只在number中输入纯数字,比如1001、1002、1003,或者更长的数字,比如1001-54669-5662147-5566899-12346789-8546213-96547123852-36987945632147896321458-99665485852521523565,软件可以按照管线号创建图层,但是在number中直接输入8"-LPS-416E-1001-1C2-H,软件就不按照管线号分图层了。所以猜测软件分图层的依据会不会跟number的类别有关系?(目前它的类别是string),另外就是跟字符串的长度有没有关系?有没有长度限制?
按照您说的新建属性的方式,然后管道名称提取相应属性进行组合的办法肯定可以解决这个问题,但是如果能找到软件分图层的依据,然后进行修改,应该会更简单,所以想看看有没有可能从这方面入手。
中铝贵阳院吴道林
后面再测试了一下,在上述管线命名规则(NAME直接等于NUMBER)下,把8"-LPS-416E-1001-1C2-H中的双引号去掉就能按管线号分配图层,所以应该是软件不能识别这个双引号,不知道有没有办法可以解决。实在不行我就试试新建属性的办法了
赵老师您好,我这边新建了一个属性Imperial Size,用于手写输入英制尺寸,如图1所示。但是经过测试,发现输入属性值时,不能带双引号,不能为小数、不能为分数,只能为纯数字,否则软件就不能按照管线号命名,如图2所示,请问这有没有办法可以解决?
您好,之前我也忽略了一个问题,MicroStation 图层命名中是不允许出现引号的。所以原因在引号上。
您看能否考虑图层按照介质来?比如所有 LPS 的管道放在图层为 LPS 下?