| 讨论: 
 方案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阵列、复制支吊架过程:
 
 |