找回密码
 注册会员

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 351|回复: 0

CAPP模板定制系统的研究与开发(下)

[复制链接]
发表于 2011-6-18 09:25:12 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转磨削论坛

您需要 登录 才可以下载或查看,没有账号?注册会员

×
  3基于XML的模板定制技术
4 t( |- D# R9 W+ |) q) H% x+ w  3.1模板子元素的创建|MechNet|欢迎登陆中国机械专家网www.MechNet.com.cn
2 Q5 a$ E' R: H4 t  通过对模板组成对象分析可知,模板定制实际上就是将一种类型的工艺卡片格式分解成静态格、动态格、对象格及循环格等模板子元素,并借助交互式手段分别生成的过程。在本系统中,模板被看作是一个XML文档实体,因此生成模板的过程实际上就是新建一个XML文档的过程,而新建模板子元素就对应为创建XML文档的一个节点。为了保证新建的XML文档能够被系统解析,创建的XML文档必须符合Schema的定义。8 x- X0 W% i$ w- _! T) j
  为创建一个新的文档对象,必须建立一个新的Msxml2.DOMDocument范例,下面是相应的C++代码:0 E4 H& q+ O/ F' ]& D9 U. R$ r9 B/ B
  IXMLDOMDocumentPtrm_pXMLDoc;' a) Z8 a; V. s; @
  m_pXMLDoc.CreateInstance(_T("msxml2.domdocument"));" l9 i1 k$ g; `' _* C) q! e* R; C
  在创建DOMDocument对象之后,可以为不同类型的语法分析行为和处理行为设置标记,装载XML文档,在文档内部建立新节点,以创建不同的模板子元素,从而生成一张完整的工艺卡片。|MechNet|欢迎登陆中国机械专家网www.MechNet.com.cn/ b/ y) G6 I. F9 T6 Z
  3.2工艺卡片的绘制
8 N" T. X$ a+ y# A  B  H! S- b  新建模板以后,用户可以在初始模板上进行工艺卡片的绘制工作。绘图时系统采用Windows图形设备接口(GDI)。通过对工艺卡片的元素分解可知,卡片是由一系列的单元格组成的,因此绘图时的主要工作是矩形框的绘制。5 ^# K  }$ o5 \5 t0 ?
  在绘图开始之前,需要获取设备描述表句柄,此外还需要获取设备描述表信息,设置GDI的映射方式等。在画图时,可以选择画笔的颜色及线宽,在界面的状态栏中将根据画笔的移动动态显示其坐标值。此外系统还提供了"橡皮条"的功能,即随着鼠标的移动动态显示图形,从而使得操作直观。% P1 R" r- {$ B! Z; t2 i! m% V
  3.3模板子元素对象属性的定义! ], F# j" E3 g$ S  q  h. U  n4 J
  画图结束以后,系统将屏幕上的图形临时保存到链表中,图形的坐标等信息都存储在其中。此时,图形元素并没有加到卡片模板中,必须对其属性进行定义后才能将图形元素保存。
, N/ [2 r8 i7 h  在定义图形元素属性时,系统提供了图形元素的拾取功能。图形元素被选中以后,可以对其赋予相应的属性。XML提供的属性操作方法来自IXMLDOMElement,可以通过IXMLDOMElement的setAttribute方法设置其属性。现将模板子元素的属性进行分析:1 r) P' B0 P; x3 [! f
  a.静态格属性。静态格中的内容在表格设计时已经确定,它需要包含"字体"子元素,用来设置文字的属性,字体子元素属性包括字体名称、大小等。|MechNet|欢迎登陆中国机械专家网www.MechNet.com.cn9 D+ D* X/ N7 M7 O
  b.动态格属性。动态格中的内容是由用户填写的,需要设置表格的布局方式,它包含固定格子元素。为了实现与数据库的关联,还需要设置字段名属性及对应的数据库表名。通过这种对应关系不仅在工艺编辑的时候可实现工艺数据在数据库中的直接存取,而且为工艺数据的开放式管理奠定基础。* u2 `# ~. n* o! s. l2 V
  c.循环格属性。循环格的属性与动态格类似。由于其含有多行记录,需要对行列属性进行设置。
; Z2 Z0 I0 a1 `% j/ f$ g  d.对象格属性。对象格是填写工序图或其它复杂数据的单元格,需要对图形或其它复杂数据的来源进行设置。" w& u3 _9 c5 E( m# b6 G
  e.各对象的公共属性。由于各子元素为一系列的单元格,因此都包含表格坐标值、线形等公共属性。还需要对各单元格的卡片区域属性进行设置。在对模板子元素属性进行定义后,需要保存结果才能将图形元素加到卡片模板中。此时需要采用XML的save方法:m_pXMLDoc.save(sXMLDocName)。保存成功以后,图形界面随即被更新,显示出最新的卡片模板格式。6 n: p6 v# M; C6 _7 b# B5 N
  3.4模板格式的交互式调整
( `& _% \: \" \7 K  当模板各对象生成之后,有时其格式还不能满足要求,需要对其做一系列的调整才能最终形成一个格式良好的工艺模板。|MechNet|欢迎登陆中国机械专家网www.MechNet.com.cn: N  i) S4 R/ l$ W% c' U7 l9 B( R
  a.单元格位置的调整。选中所要调整的单元格以后,可以通过系统的位置调整功能进行调整。单元格位置调整有2种实现方式:初级调整和精确调整。初级调整是通过移动选中的单元格进行粗略的调整,移动提供了"橡皮条"的处理方式,动态地拖的坐标值,包括水平方向和竖直方向的移动值。
5 Q  C* y* D& @1 o  b.单元格大小的调整。由于在卡片定制时绘制出的单元格通常是任意画出的,因此单元格的大小尺寸往往不够精确。在系统中提供了任意改变单元格大小的功能,如等高、等宽和改变单元格高度、改变单元格宽度等功能。当用户选中了一种单元格后,会弹出对话框,用户可以通过输人具体的数值对单元格的高度或宽度进行调整。. y, \$ [) S/ k1 T/ v1 ]
  c.字段名称的调整。有时候用户需要改变单元格的字段名称,以改变其与数据库的关联。只要选中一个单元格,将弹出相应的属性设置对话框,用户可以对该单元格的字段名称进行修改。& N0 T9 e9 g5 \  }2 |& e4 D" z
  d.静态格属性的调整。静态格内容的调整和字段名称的调整类似,只要选中需要调整的静态格,就将弹出属性更改对话框,可对单元格属性进行调整,包括静态格的文本、字体及对齐方式等的调整。综上所述,用户以一种交互式的手段调整生成的模板子元素的大小、位置和属性,经调整后,模板定制工作就完成了。模板定制流程如图3所示。* w8 x' u# S; Q  \( C; M: s6 D" Q) m
080325938347325.jpg ; c; R1 }0 G9 g0 z# I* e: I5 J
  4结束语( P1 M% n7 m( i) A8 _
  通过对工艺卡片的组成元素进行分解,将工艺模板抽象为由静态格、动态格、对象格和循环格组成的实体,借助交互式手段进行工艺模板的绘制与定义,并将构建好的工艺模板保存为XML文档,完成了模板子元素的加载,从而实现了工艺模板的定制过程。实践证明,这种交互式模板定制技术对于实现CAPP系统的通用性和商品化具有重要的意义。|MechNet|欢迎登陆中国机械专家网www.MechNet.com.cn  |, D6 y! S2 B% V; D
文章关键词: CAPP   机械设计
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

中国磨床技术论坛
论 坛 声 明 郑重声明:本论坛属技术交流,非盈利性论坛。本论坛言论纯属发表者个人意见,与“中国磨削技术论坛”立场无关。 涉及政治言论一律删除,请所有会员注意.论坛资源由会员从网上收集整理所得,版权属于原作者. 论坛所有资源是进行学习和科研测试之用,请在下载后24小时删除, 本站出于学习和科研的目的进行交流和讨论,如有侵犯原作者的版权, 请来信告知,我们将立即做出整改,并给予相应的答复,谢谢合作!

中国磨削网

QQ|Archiver|手机版|小黑屋|磨削技术网 ( 苏ICP备12056899号-1 )

GMT+8, 2024-10-24 12:20 , Processed in 0.153453 second(s), 27 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表