讨论: 方案3:在属性库CONT节点下建立逻辑支吊架节点(与AutoPSA/CAESARII结构兼容的SHanger弹簧支吊架节点和刚性支吊架节点)。 a.不改变ATTA结构,ATTA元件属性保证与PDMS结构完全相同。 b.改变PDMS属性库CONT节点下的层次结构。 c.需要在PDMS属性库CONT节点下增加SHanger,刚性支吊架节点。 d.增加一个Shanger、CONS、刚性支吊架引用的节点。 优点: a.不需要实现PDMS用户自定义属性功能。 b.CONT节点下的数据访问功能代码在方案1中已基本实现,不需要太多开发工作量。 c.数据结构灵活,易于扩充。 d.数据冗余量小。 e.ATTA元件的CstRef属性指向CONT或者是CONS,可以兼容PDMS又可以实现同一个ATTA存储两种以上的节点类型。 缺点: a.CONT节点层次结构与PDMS不兼容,PDMS没有SHanger、刚性支吊架节点,用户无法利用PDMS建立与AutoPDMS兼容的逻辑支吊架。 b.AutoPDMS导出模块需要增加从约定数据转换为AutoPDMS逻辑支吊架的功能。 c.PDMS用户需要遵守AutoPDMS约定规则,用户必须在固定的自定义属性中设置好逻辑支吊架的数据。 d.ATTA元件的CstRef属性指向CONT或者是CONS,而PDMS的ATTA元件是指向CONS,两者不同,代码逻辑复杂化。 方案4:修改PDMS属性库CONS结构。 a.不改变ATTA结构,ATTA元件属性保证与PDMS结构完全相同。 b.不改变PDMS属性库CONT节点下的层次结构。 c.在PDMS属性库CONS节点上增加刚性支吊架和弹簧支吊架的属性,改变了PDMS属性库CONS节点的结构。 优点: a.如果用PDMS用户自定义属性,则与PDMS兼容,用户可以利用PDMS建立与AutoPDMS兼容的逻辑支吊架。 b.如果用PDMS用户自定义属性,可以利用AutoPDMS导出模块已经实现的接口导出数据。 c.实现的PDMS用户自定义属性功能,是所有其它模块都可能需要的,减少了其它模块的开发工作量。 缺点: a.实现难度相对高,需要实现自定义属性功能。 b.CONS结构数据出现冗余,刚性支吊架和弹簧支吊架不必要同时存储。 c.PDMS用户需要遵守AutoPDMS约定规则,用户必须在固定的自定义属性中设置好逻辑支吊架的数据。 d.CONS的数据结构必须增加固定的自定义属性来存放逻辑支吊架数据。 方案5:修改ATTA结构 a.改变ATTA节点属性结构,不兼容PDMS设计库ATTA节点属性结构,在PDMS设计库ATTA节点上增加刚性支吊架和弹簧支吊架的属性。 b.不改变PDMS属性库结构,与PDMS属性库结构完全相同。 优点: a.如果用PDMS用户自定义属性,则与PDMS兼容,用户可以利用PDMS建立与AutoPDMS兼容的逻辑支吊架。 缺点: a.实现难度相对高。 b.ATTA结构数据出现冗余,刚性支吊架和弹簧支吊架不必要同时存储。 方案6:修改REST结构 a.改变REST节点属性结构,不兼容PDMS设计库REST节点属性结构,在PDMS设计库REST节点上增加刚性支吊架和弹簧支吊架的属性。 b.不改变PDMS属性库结构,与PDMS属性库结构完全相同。 c.在创建逻辑支吊架时,自动创建与逻辑支吊架相关联的REST节点和Hanger节点,有利于创建出真实支吊架的模型。 d.要求REST对应一个逻辑支吊点,满足不了多个支吊点约束在同一个根部联合支吊架出图要求。 优点: a.如果用PDMS用户自定义属性,则与PDMS兼容,用户可以利用PDMS建立与AutoPDMS兼容的逻辑支吊架。 b.可以采用真实支吊架的形作为逻辑支吊架的形。 缺点: a.实现难度相对高。 b.REST结构数据出现冗余,刚性支吊架和弹簧支吊架不必要同时存储。 方案7:修改Hanger结构 a.改变Hanger节点属性结构,不兼容PDMS设计库Hanger节点属性结构,在PDMS设计库Hanger节点上增加刚性支吊架和弹簧支吊架的属性。 b.不改变PDMS属性库结构,与PDMS属性库结构完全相同。 c.在创建逻辑支吊架时,自动创建与逻辑支吊架相关联的REST节点和Hanger节点,有利于创建出真实支吊架的模型。 优点: a.如果用PDMS用户自定义属性,则与PDMS兼容,用户可以利用PDMS建立与AutoPDMS兼容的逻辑支吊架。 b.有利于共享支吊架数据。 c.可以采用真实支吊架的形作为逻辑支吊架的形。 缺点: a.实现难度相对高。 b.使Hanger结构非常庞大。 c.Hanger结构数据出现冗余,刚性支吊架和弹簧支吊架不必要同时存储。 方案8:在Hanger增加一个指向属性库CONS的指针。 a.改变Hanger节点属性结构,不兼容PDMS设计库Hanger节点属性结构,在Hanger增加一个指向属性库CONS的引用。 b.改变PDMS属性库结构,参照方案3或方案4。 c.在创建逻辑支吊架时,自动创建与逻辑支吊架相关联的REST节点和Hanger节点,有利于创建出真实支吊架的模型。 优点: a.如果用PDMS用户自定义属性,则与PDMS兼容,用户可以利用PDMS建立与AutoPDMS兼容的逻辑支吊架。 b.有利于共享支吊架数据。 c.可以采用真实支吊架的形作为逻辑支吊架的形。 缺点: a.实现难度相对高。 b.比方案3或方案4多一步。 c.若要数据完整,在创建逻辑支吊架时需要为Hanger指定尾的引用(TREF)。 d.要更改Hanger属性结构。 方案9:修改PDMS属性库CONS结构,同时自动创建REST和Hanger节点。 a.不改变ATTA结构,ATTA元件属性保证与PDMS结构完全相同。 b.不改变PDMS属性库CONT节点下的层次结构。 c.在PDMS属性库CONS节点上增加刚性支吊架和弹簧支吊架的属性,改变了PDMS属性库CONS节点的结构。 d.在创建逻辑支吊架时,自动创建与逻辑支吊架相关联的REST节点和Hanger节点,有利于创建出真实支吊架的模型。 优点: a.如果用PDMS用户自定义属性,则与PDMS兼容,用户可以利用PDMS建立与AutoPDMS兼容的逻辑支吊架。 b.有利于共享支吊架数据。 c.可以采用真实支吊架的形作为逻辑支吊架的形。 缺点: a.实现难度相对高。 b.CONS结构数据出现冗余,刚性支吊架和弹簧支吊架不必要同时存储。 方案10:在属性库CONT节点下建立逻辑支吊架节点(SHanger,刚性支吊架节点),同时自动创建REST和Hanger节点。 a.不改变ATTA结构,ATTA元件属性保证与PDMS结构完全相同。 b.改变PDMS属性库CONT节点下的层次结构。 c.需要在PDMS属性库CONT节点下增加SHanger,刚性支吊架节点。 d.在创建逻辑支吊架时,自动创建与逻辑支吊架相关联的REST节点和Hanger节点,有利于创建出真实支吊架的模型。 优点: a.不需要实现PDMS用户自定义属性功能。 b.有利于共享支吊架数据。 c.可以采用真实支吊架的形作为逻辑支吊架的形。 d.保证ATTA,REST,Hanger,CONS节点与PDMS完全一致。 e.CONS节点数据没有冗余。 缺点: a.CONT节点层次结构与PDMS不兼容,PDMS没有SHanger、刚性支吊架节点,用户无法利用PDMS建立与AutoPDMS兼容的逻辑支吊架。 方案11:用模仿PDMS用户自定义属性功能实现逻辑支吊架数据的存储。 a.对以上各种方案改变节点属性结构时,都可采取本方法。 应力分析结果数据保存方案:
对于约束节点见以上各方案中的第二条,对于非约束节点见以下方案。 方案1:在设计库管件节点上增加指向CONT的引用属性(CstRef)。 逻辑支吊架模型显示方案
方案1: a.逻辑支吊架符号图形显示SHanger或刚性支吊架节点引用元件库中逻辑支吊架的形集,只需要建立几个简单的逻辑支吊架元件。 优点: a.代码已经实现,可以运行。 缺点: a.没有利用等级,和PDMS其它元件显示过程不同。 b.逻辑支吊架的形集和真实支吊架的形集建模过程不同,需要维护两套代码,两套数据库。ATTA图形显示过程与其它管件不同,也需要维护两套代码。 方案2: 为ATTA增加逻辑支吊架等级库和元件库。 优点: a.逻辑支吊架相当于PDMS中一种管件,所有操作方式和PDMS其它管件完全一样。 缺点: b.逻辑支吊架的图形显示和真实支吊架图形显示没有关联,两者不能同步操作,用户会感到困惑。 方案3: 为PCLA增加逻辑支吊架等级库和元件库。 优点: a.逻辑支吊架相当于PDMS中支吊架元件中的一种管部,所有操作方式和PDMS支吊架元件操作方式完全一样。 b.逻辑支吊架的图形显示和真实支吊架图形显示有关联,在同一个约束节点不会同时出现逻辑支吊架和真实支吊架模型。 缺点: a.逻辑支吊架的操作和PDMS其它管件不一样。用户修改逻辑支吊架会感到不方便,需要增加代码才能达到方案2优点a。 b.在建立真实支吊架时必须增加代码屏蔽逻辑支吊架等级,防止其干扰用户选择。 方案2创建过程: 1.在Pipe模块弹出创建管件对话框, 2.用户选择逻辑支吊架等级、再选择ATTA元件,创建 3.程序根据管径,弹出等级Spco选择对话框,用户选择Spco 4.创建ATTA元件 5.创建REST、HANG节点 5.用户再操作修改数据过程 方案2修改数据过程: 1.点击菜单或发送命令 2.用户选择ATTA元件或当前活动节点是ATTA则不必选择 3.根据ATTA的Cstref找出属性库SHANGER或刚性支吊架节点 4.根据ATTA元件的Spref找到Spco,再根据Spco的STYP判断逻辑支吊架类型 5.显示对话框,对话框初始值为属性库节点数据,如果Cstref值为空,则为默认数据 6.用户按确定后,分析输入数据正确性 7.如果用户改变逻辑支吊架类型,创建相对应的属性节点 8.设置属性节点数据 9.如果用户改变逻辑支吊架类型,设置ATTA的Cstref引用为创建的属性节点 方案2移动支吊架过程: 1.点击菜单或发送命令 2.用户选择ATTA元件或当前活动节点是ATTA元件则不必选择 3.弹出移动对话框 4.用户输入数据,点击确定后 5.检查数据正确性 6.发送ATTA元件Drag命令 7.如果用户选择真实支吊架模型 8.根据选择的支吊架元件找到HANG 9.弹出移动对话框 10.用户输入数据,点击确定后 11.检查数据正确性 12.根据HANG的Href找出ATTA元件 13.发送ATTA元件Drag命令 方案2阵列、复制支吊架过程: 1.点击菜单或发送命令 2.用户选择ATTA元件或当前活动节点是ATTA则不必选择 3.弹出阵列或复制对话框 4.用户输入数据,点击确定后 5.检查数据正确性 6.发送ATTA元件Array或Copy命令 7.判断ATTA元件的Cref属性是否指向HANG 8.如果是HANG,发送HANG的Array或Copy命令 9.设置ATTA和HANG的引用关系 如果选择真实支吊架执行方案3阵列、复制逻辑支吊架过程。 方案3创建过程: 1.在H&S模块弹出创建逻辑支吊架对话框,对话框显示弹簧、刚性支吊架供用户选择 2.用户选择弹簧或刚性支吊架并设置相应的应力分析所需要的数据 3.用户选择参考管件,设置定位数据 4.程序根据管径,逻辑支吊架类型,固定的逻辑支吊架等级,约定的STYP找到逻辑支吊架Spco。 5.创建ATTA元件 6.创建CONT,SHANGER或刚性支吊架属性节点,保存ATTA引用关系 7.创建REST、HANG、建立PCLA节点并引用选出的等级Spco,显示逻辑支吊架模型 方案3修改数据过程: 1.点击菜单或发送命令 2.用户选择真实支吊架模型或当前活动节点是支吊架模型则不必选择 3.根据选择的支吊架元件找到HANG 4.根据HANG的Href找出ATTA元件 5.根据ATTA的Cstref找出属性库SHANGER或刚性支吊架节点 6.显示对话框,对话框初始值为属性库节点数据 7.用户按确定后,分析输入数据正确性 8.如果用户改变逻辑支吊架类型,创建相对应的属性节点 9.设置属性节点数据 10.如果用户改变逻辑支吊架类型,设置ATTA的Cstref引用为创建的属性节点 方案3移动逻辑支吊架过程: 1.点击菜单或发送命令 2.用户选择真实支吊架模型或当前活动节点是支吊架模型则不必选择 3.根据选择的支吊架元件找到HANG 4.弹出移动对话框 5.用户输入数据,点击确定后 6.检查数据正确性 7.根据HANG的Href找出ATTA元件 8.发送ATTA元件Drag命令 9.如果用户选择ATTA元件 10.发送ATTA元件Drag命令 方案3阵列、复制逻辑支吊架过程: 1.点击菜单或发送命令 2.用户选择真实支吊架模型或当前活动节点是支吊架模型则不必选择 3.根据选择的支吊架元件找到HANG 4.弹出阵列或复制对话框 5.用户输入数据,点击确定后 6.检查数据正确性 4.根据HANG的Href找出ATTA元件 5.发送ATTA元件Array或Copy命令 6.发送HANG的Array或Copy命令 7.设置ATTA和HANG的引用关系 8.如果选择的是ATTA元件,执行方案2阵列、复制支吊架过程:
|