首页 > 范文大全 > 正文

基于AutoCAD的船舶协同设计

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于AutoCAD的船舶协同设计范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘 要:为提高船舶设计效率和质量,基于船舶设计阶段最为常用的autocad设计平台,研究船舶协同设计工作模型. 采用混合共享方式开发船舶协同设计系统,在协作组中使用强连接(S-link)和弱连接(W-link)2种传输形式,保证系统的实时性和有效性,实现对船舶设计图纸的远程协同设计.这种设计方式能有效缩短船舶设计周期、降低设计成本.

关键词:协同设计; 船舶; AutoCAD; SVG

中图分类号:U662.2; TP391.72

文献标志码: A

Collaborative ship design based on AutoCAD DU Song,LIN Yan,CHEN Ming,JI Zhuoshang

(Ship CAD Eng. Center,Dalian Univ. of Tech.,Dalian Liaoning 116024,China)

Abstract:To improve the efficiency and quality of ship design,the working model of collaborative design for ship is studied based on AutoCAD which is the most usual platform for ship design. A cooperative ship design system is developed by using mixed sharing mode. Among the cooperative groups,the strong-link and weak-link ensure the real-time and effectiveness of the system. The remote cooperative design of ship product drawing is implemented. The design methods can shorten ship design cycle and reduce cost effectively.

Key words:collaborative design; ship; AutoCAD; scalable vector graphics

0 引 言

船舶设计过程中常常需要不同专业、不同身份、不同地区的技术人员同时对某张图纸进行讨论和修改,为了讨论设计结果常常是通过网络或者邮件的形式发送图纸和相关设计信息,有时甚至需要到达同一地点进行讨论,这样不仅增加设计成本,还会拖延设计周期.

由计算机支持的协同设计[1,2]是在计算机网络环境下,各个成员围绕1个设计项目,各自承担部分设计任务,并行交互地进行设计工作,最终得到符合要求的产品方案的设计方法.协同设计作为1种行之有效的产品设计工作模式,众多专家学者对其进行深入研究,目前已经从理论框架研究转向实际应用研究.由于船舶设计的复杂性,当前Tribon M2平台在一定程度上可以进行船、机、电、货物系统的协同设计[3],而在船舶初步设计和详细设计阶段实施协同设计工作还没有成熟的软件系统支持.

本文以船舶设计过程中最为常用的AutoCAD工程设计软件为主要交互平台,设计开发采用XML技术、ObjectARX和套接字技术实现多个协同设计者对同一张图纸的远程分布式设计,并采用SVG(Scalable Vector Graphics)技术提供图纸的实时Web.以XML文件为数据存储格式,在环形结构中使用强连接(S-link)和弱连接(W-link)的手段保证系统运行过程中数据传输的实时性和有效性.

1 实时协同设计系统结构框架

船舶产品协同设计是以设计组织者为主体,联系和控制设计参与成员,共同完成某个产品设计的协同过程.群体协作采用图形桌面会议模型,成员们围绕1个共同的设计图纸进行讨论、交换信息、相互协商、达成共识、作出决定,共同完成设计任务.设计成员以动态联盟的方式形成协同工作组,对船舶设计中出现的问题进行讨论,设计者可随时动态加入和退出联盟.

1.1 网络组织结构

系统的逻辑网络体系结构形式为混合共享方式,综合集中式和分布式2种结构的优点,开放性和通用性较好,既能保证良好的数据一致性,也能减轻网络负担且便于异构平台的连接.系统网络组织结构模型见图1.

图 1 网络结构

发起人以主席身份建立协同工作组应用服务CoServer,远程拥有AutoCAD软件平台的产品设计师或专家在本地启动CoClient服务,在CoServer端注册,CoServer批准后建立连接.CoClient的连接方式采用环形结构参与设计图纸的修改和讨论.对于没有AutoCAD的专家成员可以通过本机浏览器远程实时浏览CoServer端的SVG格式的设计图纸,了解协同过程中产品的修改情况,并提出意见.

1.2 协同设计系统模块

协同设计系统主要包括数据库模块、协同管理控制模块、事件响应器、编码器、解码器、通信模块、数据校验模块、Web模块和CAD显示模块.其中,协同管理控制和Web功能在主席端实现.图2为系统的通信机制.

图 2 系统通信机制

数据库中记录的数据包括图形数据、用户信息数据和操作记录.系统通过事件响应器对图纸操作的设计事件进行监控和管理,采用XML文档保存设计数据和协作组内部的事件信息.编码器对图形数据和消息数据编码,使用Microsoft MSXML分析器生成XML文档DOM树,方便数据的管理和SVG图形文件的生成.网络环境中的各实时协同设计参与者通过Socket控件和ObjectARX提供的事件响应器,实时监测协作组内部事件并作出响应.

1.3 主席端工作模式

主席端的CoServer拥有控制图纸的最大权限,可以赋予CoClient修改图纸的权利.在某个时刻,最多只存在1个拥有数据资源修改权的设计者,拥有该权限的CoClient或CoServer的设计图形数据才可以向网内传输,其他人对设计的改动并不能让别人感知.CoServer端套接字包括4个线程:(1)监听用户加入请求;(2)监听发送过来的图形设计数据;(3)向所有设计者发送W-link数据;(4)向First CoClient发送S-link数据.

1.4 设计图纸的Web

基于Web技术进行AutoCAD产品图纸数据管理[4],借助Internet的交互式网页技术,CoServer动态创建SVG格式的设计图纸,可以实时提供当前的设计图纸给客户端进行浏览,实现基于Web的可视化共享.

2 系统实现的关键技术

2.1 SVG技术

SVG是由W3C组织开发的矢量图形标准,是扩展标记语言XML的1个应用.[5]它主要面向网络应用,具有灵活、可扩展、交互性强、可重用性、可伸缩性等特点.SVG图形作为矢量图形,可以任意放大而不会失真,这对于船舶结构布置描述是有意义的.图3为某钻井平台总布置设计图的SVG表达.

图 3 某钻井平台总布置设计图

2.2 数据信息传输

由于目前大多数网络环境不能够提供对IP多播的完全支持,为解决网络带宽有限问题,确保协同设计的高实时性和高可靠性,采用带有S-link和 W-link 2种数据传输规则的混合式数据共享模式.

S-Link:在2台工作站之间,接收发送所有设计过程中包括初始和实时修改的图形数据和控制信息,这种连接形式实时交互能力最强.W-Link:在2台工作站之间传输少量数据,这种连接只接收和发送少量控制信息和设计图元数据的头信息,实现对协作组任务的管理和数据一致性的维护.

综上所述,服务器无须发送所有数据给每个客户端,数据的分发任务将由所有客户机共同承担,避免传统C/S模式下数据集中于服务器进而造成服务器负担过重的现象.同时,由服务器和各客户端用W-link管理会议进程,保证整个协同设计的稳定性.

2.3 事件响应器

为建立CSCD系统的WYSIWIS环境,支持各协作者协同设计时的相互感知,在图元对象发生变化时,有选择地传递设计修改信息给所有设计成员.[6]通过派生ObjectARX提供的数据库反应器类AcdDatabaseReactor,实时监听AutoCAD图形数据库中所发生的事件(如实体添加、删除和修改等操作),以此取得协同过程中改变的实体信息.根据事件类型对其进行消息编码,修改图形数据文档并记录事件,以点对点单播(Unicast)传输方式向下个远程节点发送数据信息.在接收端开启监听线程,实时接收数据信息,通过验证模块后进行解码,将事件信息加入到日志,修改当前AutoCAD的图形数据库并刷新显示,完成事件的同步.

2.4 权限管理

CoServer通过W-link对工作组中数据对象进行一致性检查和并发控制.在系统中定义共享锁 CO_SHARELOCK 和排斥锁CO_EXCLUDELOCK来控制协作者之间的操作,通过控制共享对象的修改和访问句柄,在某一段时间内授予唯一用户修改共享对象的权利,从而保证数据的一致性.

2.5 后来者问题

主席端的CoServer批准接收到的加入请求后将消息分发到每个CoClient,First CoClient和Last CoClient 重新设置与后来者的连接状态,使之成为兄弟节点,然后设置后来者客户端的应用状态,最后将各自状态信息发送给主席,请求者完成加入,主席通过W-link方式刷新所有CoClient的控制和并发信息,兄节点给后来者发送完整的图形数据信息,完成后来者的应用状态同步.

2.6 数据管理

协同交互设计需要记录整个协同过程.系统中采用XML文档的方式记录船舶设计图纸协同操作的图元、修改时间、操作者等信息和所有协同工作者的信息.这种方式具有完整性、可扩展性和可再现性,并具有结构紧凑、系统开支小的特点.

船舶产品设计图纸比较复杂,为更好地保证所有协作者CAD文档对象数据的一致性,CoServer对CAD中所有实体对象进行编号,每个CoClient通过1个结构体存储这个全局ID和空间中实体对象的实际句柄,使得各个协作人员的数据保持关联.在系统中增加对数据修改的记录功能,设置专门的列表详细列出修改过的图元信息,使之能够选中并以高亮的方式展现给设计者,尽可能实现协同操作过程的可再现功能,在图形元素较多时,能够方便地找到所讨论的图元位置.

3 实时协同设计典型工作过程

3.1 协同设计工作组建立过程

协同设计工作组组建时序图见图4.

图 4 协同设计工作组组建时序图

主席端启动CoServer服务,准备接收加入请求,远程客户端启动CoClient服务,向CoServer提出加入协同组请求,CoServer批准后建立连接. CoServer 按照先后顺序初始化clientlist,安排各个客户端的兄弟关系;再与第1个CoClient建立S-link,与所有CoClient建立W-link;给每个参与者传递网络用户信息,在客户端存储并可见,使得他们之间可以进行设计讨论.初始化数据发送完成后,所有CoClient反馈确认信息,主席确认网络建立无误后,开始设计图形数据的发送,工作组组建完成.

3.2 初始化图形数据发送

CoServer通过W-link向所有参与者发送设计图纸的控制信息,并向First CoClient发送设计图纸当前所有图元数据.First CoClient在接收的同时,开始向兄弟节点发送数据.CoClient在接收到结束符后,检验接收数据与头数据的一致性.CoClient接收数据验证无误后进行解析,随后加入到CAD工作区显示,同时将数据和UniformID以字符串的形式存于XML文档中.发送完毕后,各个客户端使用zoom all命令,使这一时刻所有人的界面相同,完成图形数据的初始化(见图5).

3.3 实时修改的图形数据发送

每个实时协同用户都可以拥有这个限制功能,通过反应器模块感知图形数据的变动,有选择地进行发送.发送模式分为2种:一种是实时数据传输,实现每1处的修改都能同时在其他协同者端显示;另一种是增量数据传输,数据控制者在进行部分修改后,将修改数据批量传递给协同工作者.

4 结 论

船舶协同设计系统在协同开发环境中采用C/S和B/S混合式网络体系构成系统的网络平台,实现基于AutoCAD平台的实时协同设计的信息共享和并发控制.在CAD协同设计过程中,用户之间的交流也相当重要,配合当前流行的即时通信工具,已经基本可以实现多个协同工作用户间包括语音、视频、文本交流等辅助交流支持功能.

本文主要研究船舶协同设计平台的体系结构、多用户界面、并发控制、一致性检查、访问控制、记录管理等关键技术,但诸如版本管理、任务规划和冲突消解等关键技术并未进行深入研究,尚需进一步 完善.

参考文献:

[1] 童秉枢. 现代CAD技术[M]. 北京:清华大学出版社,2000.

[2] 史美林,向勇,杨光信. 计算机支持的协同工作理论与应用[M]. 北京:电子工业出版社,2000.

[3] 乔珊,应文烨,何刚. 舰船数字化设计应用研究[J]. 中国舰船研究,2007(4):20-25.

[4] 邹红艳,来可伟. 基于Web面向AutoCAD图纸管理的产品数据管理系统[J]. 计算机辅助工程,2003,12(3):45-50.

[5] World Wide Web Consortium. Scalable Vector Graphics(SVG) 1.1 specification. [2003-01-14]. /TR/SVG.

[6] 郑国磊,朱心雄,许德. CAD系统交互行为的人机协同机制[J]. 计算机辅助工程,2003,12(1):1-11.