CAM系统的设计与实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第17卷第9期2005年9月
计算机辅助设计与图形学学报
J OURNAL O F COM PUTER -A I DED DES I GN &COM PUTER GRA PH I CS
V o l.17,N o.9
S e p .,2005
收稿日期:2004-03-14;修回日期:2005-04-!!!!!!!!""
"
"
08
应用荟萃
分布式同步协同包装纸盒CAD !CA M 系统的设计与实现
杨德龙1)崔杜武1)杨文杰2)江炎军1)
1)(西安理工大学计算机科学与工程学院西安710048)
2)
(北京印刷学院包装工程系
北京102600)
(y an g de lon g 999!y .cn )
摘要
采用Java 技术开发了基于W eb 的分布式同步协同包装纸盒CAD "CAM 系统.研究了纸盒CAD "CAM 系统
的体系结构、系统功能的分配、分布式同步协同设计、并发控制、协同感知、负载均衡、3D 可视化技术、参数化设计以及系统安全性的保证等关键技术.
关键词
包装纸盒;W eb CAD "CAM ;协同设计;Java ;参数化;可视化中图法分类号T P391D esi g n and l m p le m entation of D istri buted S y nchronous C o llaborative C art on
CAD
!CA M S y ste m Y an g D elon g 1

C ui
D u wu 1

Y an g W en j ie 2

Jian g Y an j un 1

1)(S chool o f C o m P uter S cience and e n g ineerin g ,X i ’an unioersit y o f T echnolo gy ,X i ’an 710048)2)(D e P art m ent o f Packa g e e n g ineerin g ,B ei j in g I nstit ute o f G ra P hic C o mm unication ,B ei j in g 102600)
Abstract T o ado p t m ore i nf or m ation techno lo gy i nto p acka g i n g m anuf act uri n g ,w e develo p ed w eb-based
s y nchronous co llaborati ve carton CAD
"CAMS o ft w are i n Java techno lo gy .I n t he so ft w are s y ste m desi g n ,w e st udied a lot o f ke y techno lo g ies ,i ncludi n g fra m e w ork desi g n ,t he distri bution o f s y ste m f unctions ,distri buted s y nchronous co llaborati ve desi g n ,concurrenc y contro l ,co llaborati ve a pp ercei ve ,load balanci n g ,3D visualization ,p ara m etric desi g n and assurance o f s y ste m securit y .K e y words carton ;W eb CAD "CAM ;co llaborati ve desi g n ;Java ;p ara m etric desi g n ;
visualization 1
引言
目前,国外已经推出了数十种包装纸盒CAD "CAM 软件,
但大多数不能面向大众,而且对于非专业人士来说设计过于复杂、专业化,价钱也过于
昂贵.国产软件尚处于起步阶段[1],
国内企业对纸盒CAD "CAM 软件的要求更趋向于小而专,
更加强调实用,对性价比的要求也越来越高,因此,立足国情,开发满足我国包装行业需求的CAD "CAM 软件产品具有积极意义.
为此,国产软件必定有其广阔的生存空间,其应
用必定有更大发展.
本文利用Java 技术开发了基于W eb 的分布式同步协同包装纸盒CAD "CAM 系统.
2
系统的体系结构
集中式同步协同CAD "CAM 系统采用一种中央
控制式的体系结构[2],客户端主要负责用户的交互
操作和模型显示,而将共享对象放在服务器上,由服务器负责提供建模、造型服务,生成共享模型,并将结果广播给协作成员.集中式系统结构简单,
但其###############################################################存在随用户数目增多网络负载加重、通信延迟、中心
服务器易形成瓶颈等问题.
文献[3]采用集中式结构开发协同CAD!CAM 系统的通用模型.本文对文献[3]进行了改进和功能完善,并将其具体应用到包装纸盒CAD!CAM系统开发中,开发了分布式同步协同包装纸盒CAD!CAM系统.本文系统实现了盒型结构的参数化设计及盒型的3D可视化,支持各种异构平台,解决了数据一致性和并发控制问题.系统的体系结构如图1所示.
图1系统的体系结构
!"#客户服务层主要功能模块
(1)通信服务模块.完成客户端和服务器之间的信息传送的工作;
(2)协同代理模块.负责模型的协同设计和群体感知功能,与服务器端协同模块进行双向通信以及与客户端其他功能模块配合;
(3)盒型检索界面.与应用服务层的数据管理模块后台服务程序连接,完成盒片及盒型零件的分类检索,提供检索结果的预览;
(4)CAD!CAM图形界面.提供良好的人机交互操作环境,实现常用的图形交互功能和不同类型图元的分层显示,与后台的数据管理模块和文件I!O 模块连接,实现盒型的入库及标准文件的I!O和相互转换;
(5)盒型显示模块.提供具体盒型设计的显示以及同步协作显示,利用Java2D,Java3D技术实时显示2D,3D盒型;
(6)盒型设计、编辑和加工模块.完成2D盒型的参数化设计和创新设计、图案设计和文字设计、编辑和加工的前端操作.
!"!服务层主要功能模块
(1)通信模块.用于和客户端及应用服务层建立连接并进行数据交互;
(2)用户管理模块.实现用户注册、身份验证、职责分配和权限管理等工作;
(3)发布模块.将各小组的动态信息发布在网上,为后续用户提供参考;
(4)在线帮助模块.在网页上提供有关本系统进行设计、制造的帮助信息.
!"$应用服务层主要功能模块
(1)通信管理模块.用于协同设计时的分布式通信,完成服务器上消息的发送及定向转发,实现服务器的主动服务,包括用户连接的建立与拆除;
(2)协同管理模块.整个系统的协同控制中心,负责某一建模任务中所有成员间的通信转发、会话管理、一致性维护和并发控制;
(3)任务管理模块.为协同建模任务分配独立的工作空间;
(4)数据管理模块.连接多个不同的数据库,对数据库进行有效的管理,实现数据库的检索及数据的入库保存,保证存储到盒型库中的纸盒模型的惟一性,防止非法和未经授权的操作;
(5)造型模块.负责具体CAD业务,生成2D线框盒型,完成参数化操作,利用折叠算法生成3D真实感盒型,生成的图形数据可以直接发送给客户端显示;
9312
9期杨德龙等:分布式同步协同包装纸盒CAD!CAM
系统的设计与实现
(6)实体加工模块.负责具体CAM 业务,如盒型拼大版、盒型的模切板和印刷板的制作;(7)文件I !O 模块.实现各种文件数据的I !O 功能,支持标准文件格式(如DXF ,A I ,3D S )的读写功能.
2.4数据库层主要功能模块
(1)用户数据库.记录系统中已注册用户的详细信息及操作权限;
(2)盒型信息库.记录盒型文件及盒型零件的相关属性信息,提供文件路径,以便于检索;(3)文件数据库.存储盒型文件、系统日志文件等;
(4)盒型零件数据库.存放用户进行设计时可以调用的各种盒型零件,包括盒底、盒盖等;(5)刀具数据库.包括各种刀具的型号及相关参数,这些参数影响模切板制作时让刀量的设置;(6)材料数据库.加工材料(如纸板)的性能及参数指标,纸板厚度是参数化设计时的关键参数;(7)协作信息数据库.记录协作小组组名、小组成员的任务分配、用户操作等信息.
图2系统的Java 解决方案
3系统的J a v a 解决方案
如图2所示,本文系统采用以B !S 结构为基础的!层体系结构;
客户端进行盒型检索时采用HTM L 页面,进行2D 、3D 盒型显示、设计及编辑时采用Java A pp let 技术.服务器端采用S ervlet 技术,
利用J DBC 访问数据库[4].2D 参数化盒型的生成和3D 真实感盒型生成的计算工作由应用服务器的
CAD !CAM 软件包来完成.同步协同设计工作由应
用服务器的协同服务软件包来完成,客户端的协同代理模块包含于A pp let 中,无需单独下载安装.用户在客户端输入相关认证信息登录到W eb 服务器后,W eb 服务器向用户返回进行盒型检索的HTM L 页面.用户选择了盒型的相关属性后,向W eb 服务器发送检索盒型或盒型零件的请求,S ervlet 以J DBC 第4种链接方式连接到M y SGL 数据库,通过盒型分类属性字段检索盒型信息库,然后服务器向客户端返回检索结果和盒型或零件的预览图片.
用户选定某个盒型后,设置长、宽、高、纸厚等参数赋值,S ervlet 根据用户的设置,先进行参数合理性检查;然后应用服务器的CAD !CAM 软件包从盒型库中提取相应的盒型文件进行参数化,将生成的盒型传送给客户端的A pp let 2D 模块进行显示.用户对生成的盒型编辑处理后,将相关文件存入服务器相应的工程文件目录下.对于3D 盒型文件,也是由应用服务器的CAD !CAM 软件包先渲染生成,然后将生成的整个场景对象串行化传送给客户端的A pp let 3D 模块进行显示.
当然,本软件也支持用户进行全新的设计,此时用户不需要进入检索界面和设置参数,而是直接进入图形设计编辑界面.用户的新盒型编辑完成后,将相关文件存入自己的工程文件目录下.若用户想把自己的新设计存入盒型库,可以先指定各图元的变量表达式,然后设置盒型的相关属性信息,利用数据管理模块的相关功能来完成入库操作.
当复杂设计工作要求协同开发时(如要求有人设计盒盖、有人设计盒底、有人设计图案、有人设计文字等),小组长通过网络发布文字、语音或视频消息,邀请小组成员合作开发,在协作信息库进行注册,进行任务分工.小组成员通过远程方法调用(Rom ote M et hod I nvocation ,RM I )进行模型共享链接,共享模型保存在应用服务器中,每个小组成员只对为其分配的设计对象有操作权限.当其任务完成后或者在任务设计过程中,都可以向服务器提交当前设计对象的状态,服务器进行对象状态更新后,通过RM I 向其他小组成员发布同步更新信息,完成模型的协同设计.
4系统的关键技术
4.1分布式协同模型设计的实现
系统在分配任务时,将小组成员设计的任务
U
412计算机辅助设计与图形学学报
2UU5

对象I D与其用户I D绑定,服务器只受理小组成员对其任务范围内的各个对象的更新操作.服务器端受理了对象的更新请求后,向其他小组成员发送对象更新请求,完成同步更新操作.
本文系统在客户端和服务器端采用RM I对象来完成同步更新操作,系统的RM I对象继承了j aoa.r m i.actioation.A ctioat able类.这样当没有客户端进行远程方法调用时,RM I对象可以进入睡眠状态以释放内存和CPU资源.当有远程调用时,RM I活动守护程序会完成激活操作.客户端在调用RM I同步更新对象时,只需传送当前设计更改的图元对象,服务器端会自动完成图形刷新显示操作,以节约网络资源.
当服务器端通知其他小组成员进行更新显示操作时,调用小组成员所在客户端的RM I对象,这时服务器端完成的功能相当于“客户端”.
4.2并发控制
为了保证同一时间只有一位小组成员进行更新操作,系统采用用户申请、主席指定的发言权仲裁机制[3].协同小组的创建者作为主席,拥有更新模型的权力,其他小组成员若要修改模型数据,必须向主席发出请求以申请发言权,由主席决定是否把发言权授予申请者.一旦某成员得到发言权,就成为新的主席,原来的主席则成为一般的组成员.在这种协议下,保证了一个组中只有一名发言权拥有者,避免了多操作者并发操作的冲突.
4.3协同感知的实现
系统的协同感知主要实现类似聊天服务器的功能,支持文字、音频、视频聊天,用户既可以在公共聊天室内同所有登录服务器的用户交流设计思想,又可以在工作组聊天室内交流.
本文系统利用RM I以及多线程实现文字的通信和连接信息的通信,利用Java媒体框架(Java M edia fra m e W ork,J M f)实现视频、音频的采集和传输,采用实时传输协议(R ea l t i m e t rans p o rt P ro toco l,RtP)进行数据传输.
4.4负载均衡
因为在实现协同设计时主要是应用服务器通过RM I与客户端交互,所以使用多台应用服务器形成应用集群来进行负载均衡,实现客户访问的动态配置.应用服务器中存储软件的同一版本,完成同样的功能.我们采用按组分配服务器的方式,同一组的协同工作都由同一台应用服务器完成,保证每台应用服务器承担的客户数(组数>组人数)基本相同,这项工作由W eb服务器上的均衡负载S ervlet 程序实现.
4.5参数化设计
盒型库制作时,每个图元的几何变量信息都用含有纸盒的长、宽、高和纸厚等参数的表达式来描述,这些表达式符合Java语法规范.用户将参数赋值后,可以进行盒型的参数化,求解几何变量值.本文系统采用的方法是将表达式封装到Java函数中,再将其封装为Java类存储为.Java文件;然后动态调用Runti m e.g et Runti m e().exec()函数编译.Java文件成.C lass文件,并将.C lass文件读入内存,存储到C lass对象中,再利用C l ass.ne z I nst ance()函数获得类的一个实例,并调用封装表达式的函数以获得变量值.
4.63D可视化的实现
2D包装CAD系统是以线条为基本元素绘制的,在3D纸盒实体重建时,需要提取组成3D盒体的各个面的信息,对每个面进行折叠操作形成3D 实体信息.提取盒型面的基本思想是从任意线条出发,从其余线条中搜索与之相邻且夹角最小的线条,再从找到的线条出发顺序搜索下去,直至回到起始线段即完成一个面的提取工作.在进行盒型面提取时,我们采用规定压痕线标准方向法,即对压痕线的走向进行规范.这样就固定了压痕线与所在的两个面的顺逆时针关系,避免了面的重复提取,同时也省去了折叠生成3D真实感纸盒显示时表面外法线方向的判断.
我们选取图作为盒型面的基本数据结构,邻接多重表作为其存储结构,顶点表中存储盒型面信息,边表中存储折叠边(压痕线)信息.对各个面施加折叠操作就可以形成3D盒型实体,因为一条压痕线将盒形面分成两部分,即一条压痕线将图分成两个子树,沿某一压痕线将纸盒折叠一个角度,可以通过保持其中一棵子树中的图形坐标不变,而另一棵子树中的图形都沿着此压痕线旋转同一个角度来实现,所有压痕线都进行折叠操作后,即可形成纸盒的3D几何结构.
4.7系统的安全性
本文系统安全设计分为多层:
(1)系统的身份标识!口令登录措施;
(2)基于安全套接层(S ecure S ockets l a y er,SSl)安全机制对W eb通信中的用户身份信息、关键数据进行加密传输,防止恶意截取;
(3)采用基于角色的访问控制,在数据库后台,
1412
9期杨德龙等:分布式同步协同包装纸盒CAD!CAM系统的设计与实现
针对使用人员的工作性质为各类角色分配不同的数据库对象访问权限,实现分级访问;
(4)设定用户会晤空闲时限,如果在规定时限内用户未进行任何操作,系统自动调转到初始登录界面;
(5)对用户的重要操作,包括用户名、时间、操作种类等要以日志的形式记录在案.
!结论
开发基于W eb的分布式协同CAD!CAM系统是制造业信息化的核心内容,它可以充分利用企业分布在不同地点、不同部门的资源,提高生产效率.随着计算机硬件和网络传输速度的提高,用Java技术开发图形软件的运行速度问题已经不再是一个限制,而且可以充分利用Java的网络性能和跨平台优势.本文提出Java解决方案和相关技术亦可用于其他制造业的CAD!CAM系统开发中.
参考文献
[1]Zhan g H ai don g,D i n g F en g tao,F an F e i.D es i g n and
i m p le m entation of p acka g i n g CAD s y ste m[J].Journal of
C om p uter-A i ded
D es i g n&C om p uter g ra p h ics,2004,16(7):
1025"1028(i n Ch i nese)
(张海东,丁凤涛,范菲.盒型CAD系统的设计和实现
[J].计算机辅助设计与图形学学报,2004,16(7):1025"
1028)
[2]g ao s hu m i n g,H e F azh i.s urve y o f d istri buted and co llaborative des i g n[J].Journal of C om p uter-A i ded D es i g n&C om p uter
g ra p h ics,2004,16(2):149"157(i n Ch i nese)
(高曙明,何发智.分布式协同设计技术综述[J].计算机辅
助设计与图形学学报,2004,16(2):149"157)[3]L i u W e i W e i,Zhou L aishui,!"#$.W eb m ode l and
i m p le m entation o f d istri buted s y nchronous co llaborative CAD!
CAMs y ste m[J].Journal of n an j i n g U n ivers it y o f A eronautics
&A stronautics:n atural s ciences,2004,36(5):539"543(i n
Ch i nese)
(刘巍巍,周来水,等.分布式同步协同CAD!CAM系统的
W eb模型及实现[J].南京航空航天大学学报:自然科学版,2004,36(5):539"543)
[4]K arl M oss.Java s ervlets D eve lo p er’s g ui de[M].n eW Y ork:M c g ra W-H ill,Inc,2002
杨德龙男,1980年生,硕士,主要研
究方向为CAD!CAM、数字图像处理、虚拟
现实.
崔杜武男,1945年生,硕士,教授,
博士生导师,主要研究方向为CAD!CAM、
W eb g I s.
杨文杰男,1966年生,博士,副研究
员,主要研究方向为包装纸盒CAD!CAM
软件开发.
江炎军男,1972年生,硕士,主要研
究方向为基于W eb的应用软件开发.
2412计算机辅助设计与图形学学报2005
年。

相关文档
最新文档