|
C/S模式下基于CATIA的冲模标准件库的建立# Q# p: S1 q+ x) o
内容摘要:摘要:针对冲压模设计中需重复使用大量标准件的特点,以VB6.0为开发工具,对三维CAD软件CATIA V5进行二次开发,设计出了基于C/S模式下的标准件库,使标准件的调用实现了参数化、网络化,减少了设计中大量重复性工作,简化了设计,提高了效率。 关键词:C/S, CATIA,参数化,标准件1 引 言冲压模是用于大批量钣金零件生产的一种精密工艺装备,结构复杂,包含的零件数往往多达上百个,因此在冲压模设计过程中不仅需要考虑其可加工性与装配问题,而且还要预测模具与条料运动时可能产生的各种干涉,二维CAD系统很难胜任这些工作,因而三维实体CAD系统在冲压模设计中应用越来越广。建立标准件库作为开发模具CAD系统的一项重要基础性工作,对提高CAD系统的运行效率和质量,缩短产品开发周期将起到重要的作用。结合企业自身的实际,建立符合国家标准、行业标准和企业标准的模具标准件库,在设计过程中直接调用,可极大地简化设计过程,提高模具设计效率。. L' w1 x* ?" f3 }4 M. R K5 z) Q
摘要:针对冲压模设计中需重复使用大量标准件的特点,以VB6.0为开发工具,对三维CAD软件CATIA V5进行二次开发,设计出了基于C/S模式下的标准件库,使标准件的调用实现了参数化、网络化,减少了设计中大量重复性工作,简化了设计,提高了效率。 ' ]1 u% h! @' i) ^) Q
关键词:C/S, CATIA,参数化,标准件5 k. H1 M J8 D( ?( d' ?
4 x& e: c: G1 y. d/ _4 w1 引 言
Y1 Q7 z* t7 {' t
. @. K+ C% M5 t4 k7 K冲压模是用于大批量钣金零件生产的一种精密工艺装备,结构复杂,包含的零件数往往多达上百个,因此在冲压模设计过程中不仅需要考虑其可加工性与装配问题,而且还要预测模具与条料运动时可能产生的各种干涉,二维CAD系统很难胜任这些工作,因而三维实体CAD系统在冲压模设计中应用越来越广。但是通用的三维CAD软件并不能完全满足企业的特殊需要,所以在通用CAD软件基础上开发专用的模具CAD系统十分必要。' {* p9 h4 N9 b+ w% [
; |+ a/ r" K4 w( u7 K( I建立标准件库作为开发模具CAD系统的一项重要基础性工作,对提高CAD系统的运行效率和质量,缩短产品开发周期将起到重要的作用。结合企业自身的实际,建立符合国家标准、行业标准和企业标准的模具标准件库,在设计过程中直接调用,可极大地简化设计过程,提高模具设计效率。
4 \ o1 r1 K4 D6 P
! ^' L* D# Z; L+ k- }2 参数化标准件库的设计9 X0 d, t2 D8 i Q" O
: K) E8 G. F1 f; K3 v$ o2 L3 S* p2.1 参数化标准件库的开发思想8 J, s7 u7 m& D# z8 w- A2 g4 C
. I5 | I: y! u; t8 G模具标准件库是模具CAD/CAM的重要组成部分,其种类较多且一般均具有一定标准。每一种标准件按要求不同,有一组或多组尺寸系列,但同一种标准件结构基本相同。因此,在模具标准件建库过程中,常采用参数化方法。参数化设计主要有程序驱动法和尺寸驱动法两种,程序驱动法是将设计过程的所有关系式融入应用程序中,然后在程序的控制下,顺序执行这些设计表达式,通过与用户的交互完成设计工作,这一方法的主要特点是:如果要修改图形,一般要重新运行一遍应用程序,当应用程序输入不同值,便生成不同的图形;尺寸驱动是指在保持零件结构不变的情况下,将零件的尺寸标注视为变量,给予不同的尺寸值,便能获得一系列结构相同而尺寸不同的相似零件,它允许用户在定义一个典型零件时,不必考虑零件中几何元素的准确位置,而只需保证其拓扑结构正确,同时进行必要的尺寸参数标注,通过尺寸参数值的变化来生成结构相同而参数不同的零件族,它在零部件的重新生成与修改方面显示出极大的方便性。
1 }; s I2 ]! `) \$ e2 Z4 F
n0 ?1 }! _" a$ B本系统采用尺寸驱动法,不用重复图形的生成过程,程序代码量少,便于获得系列化零件图形。其基本思想是:采用C/S方式,通过人机交互或自动提取获得标准件必须的主参数,然后从网络数据库中提取相应的图形模板文件、辅助参数,再经过程序调用CATIA V5 API函数进行尺寸驱动,使其几何元素和特征的几何或拓扑信息发生改变,并引起相关图形元素及关系的联动,生成所需要的零件。
1 V3 F2 {0 N7 L" a# l8 N
2 V. j7 x( @, ^2 A) o4 b! V- O* k2.2 冲压模标准件的分类4 K; g7 O4 j5 g$ N
% a! c- U/ w2 r本系统根据哈飞模具厂提供的技术资料,共建立了78个标准件,根据冲压模具的用途和使用习惯把企标件进行了分类,包括:) w4 L( Y2 X; D' {* k
3 N% @/ ?* d; V/ e4 d7 J; b6 @
1)工作元件:冲孔凸模、凹模镶套;
' C; a3 Y$ F& \: p. s- _2)定位元件:定位板、定位销、弹顶销、限位块和回程限位块、键;7 c9 Q. b3 e6 D' b0 `1 v
3)固定元件:固定板、垫板、压板;' Z u* Z* m* G! R8 I+ W
4)导向元件:导柱、导套、导滑板、侧冲滑板;3 G5 E0 n0 x( L+ @0 L5 W4 q# z
5)紧固元件:螺钉、螺栓、垫圈、弹簧;
" r' ^/ r5 k5 h. b3 q0 i( d A8 {6)卸料、推顶元件:卸料螺钉、卸件板、推杆、侧销组件;
9 z$ @- k6 k' q6 d( e ^7 r- Q7)起吊元件:吊耳、起重螺栓、起重棒。
/ Q1 b% l) G9 m. ?8 F0 ]- n* t; x. f {: Y( r
3 C/S模式下的参数化标准件库的建立7 t5 ?2 ?) J0 f1 ]( A
: b$ O1 |9 J" l4 J" {) b( P+ X, }( j
3.1 服务器端数据库的建立! g, ?4 n, ?" s$ C
. z# N2 }7 u' d数据库主要由标准件模型库和模型的参数库。针对规模和设计要求,笔者选用了关系型数据库系统SQL server62000,它具有多用户支持、网络应用、分布式事务处理、数据仓库、网络数据库等功能、还具有对OLE DB,ADO、ODBC等多种接口的支持。
' G( j B0 X. D' R5 D- U& ?6 s# Q/ A
模型库中存储的并不是一个具有不同规格参数的标准件实例族,而是各类中约束定义的可进行参数驱动的标准件参数模型、模型库的建立充分利用了CATIA V5提供的强大基于特征的参数化造型功能,并在造型过程中完成对标准件图形的几何约束和尺寸约束定义、同时,对需要参数驱动的特征尺寸分别建立相应的设计变量。
. E0 E( }- V) |* C9 x4 |* d3 V4 ]% j u' q) A" ~5 I( r5 z
模型的参数库存储标准件的各种参数。数据库的数据结构一旦建立,就不允许修改,但数据库中的记录是可以随意添加的,因此具有可扩充性,方便用户使用,对于一个企业来讲,将随着时间的推移更易于此企业的使用。
- w P' k! @5 X1 w0 D: u q" U
8 d2 M7 K" e) j u! U3.2 客户端应用程序的开发6 r4 b/ f+ m; Q5 ?; X: x6 s" P
8 g* D8 o% m$ m- {3.2.1 开发环境的设置
. N1 F2 }3 `% W. H, ^7 L! a3 v6 c# N( A
在访问CATIA V5对象之前,必须添加相关的CATIA类型库。这些库包括:装配类型库、二维图档类型库、工作框架类型库、几何类型库和零件类型库等。在与CATIA相关的类型定义中,必须添加类型库的引用,否则开发环境将不承认这些变量。这些类型库实质上是一个COM接口,通过该接口协调不同的应用程序,使它们相互沟通,并且可以决定将哪些信息暴露出来,允许外部程序的访问。; ^" c$ P6 d1 F' Y$ r7 O
4 W: c, V- Z+ g4 Q [- i0 k) Q3.2.2 编制应用程序. k% J/ }. m$ }) t, ]+ W a
$ |7 d/ w% I+ s) i) ?: j3 j
CATIA V5开发功能是针对VB程序设计语言的,它为VB提供了很多与CATIA接口的对象、集合,如PartDocument对象、Product对象、Part对象、Body对象、Constraints对象、Parameters对象等,VB通过这些对象可以访问CATIA V5环境中所建实体的各种参数,包括各种尺寸,各实体表面、实体边界、实体特征等,甚至可以创建、复制、修改实体特征,在的CATIA环境中能够执行的操作,都可通过CATIA V5提供的API中的功能来实现。下面一段代码是根据用户所选规格的导套的尺寸参数对实体模型的驱动尺寸进行修改,然后重新生成定位销零件的过程:1 w- E8 z0 ^0 F2 L1 g1 M
: X' B7 V: L' n# Y- ], q9 b( ~- mPrivate Sub Command1_Click()
- l/ [ S9 E9 X2 I. X% k( o判断是否启动了CATIA
3 Z/ {2 h z, y0 n* }/ R& cDim catia As Object
1 m) ^ P! t# EOn Error Resume Next
* E: w+ K: ?1 p* CSet catia = GetObject(, "CATIA.Application"): h# A$ I$ {; N: A, k( `& Q/ W
If Err.Number <> 0 Then
; M% |( t$ Z* pMsgBox "CATIA 系统还未启动,请稍等", vbInformation, "提示"
; \# `+ y) m1 y% h! Z( ^" G1 jSet catia = CreateObject("CATIA.Application")
- \) t: l2 W' dEnd If( w, |$ f; b4 G4 w9 Y- i0 ^
打开模型库中的模型文件$ Q" H q5 n+ N
Dim partDocument1 As PartDocument/ H5 V- j" a9 Z3 S8 ^0 R' z! e
Set partDocument1 = catia.Documents.Open("filenam")/ N+ D6 r+ \! d# O& l
获取模型,并对模型的尺寸参数进行修改3 G! L0 x4 \5 I8 H
Dim partDocument2 As PartDocument
, V7 t. C y: M u# {, N6 {: p获取当前文档
/ {! F8 _% M: X& J3 |. q" HSet partDocument2 = CATIA.ActiveDocument - ? d! A: f. \& a, ^ x R- h
获取尺寸参数
# a: b' ]* X5 WDim parameters1 As Parameters, j: o( h9 o/ j% w3 b5 X( j$ N
Set parameters1 = partDocument2.part.Parameters
: H% ?3 ~9 \. u! X4 `0 @Dim dH7 As Length
$ Q! p7 w: I) ~2 V" \" z$ ?Set dH7 = parameters1.Item("Part1\PartBody \Sketch.1\Offset.22\Offset"); o; { T* f/ _ {) m2 \ N* a
给变量赋值,也就是从数据库中获得的值+ b! ?8 ~: _, ?% r" n8 Q- r S1 W3 q8 U
dH7.Value = DataGrid1.Fields(1)+ P/ L6 i; O( ?
……
* D2 C5 E3 `7 X) y修改模型的名称1 A+ J$ n# F1 `8 X
Dim product1 As Product
* f3 N# ?. d/ u Z8 s: ^Set product1 = partDocument2.GetItem("Part1")1 R) K$ o' R; J' c/ D y0 R
product1.PartNumber = "导套" & DataGrid1.Fields(0)7 b# ]* a4 j( H* S$ _( T. r) y; v" O
根据修改的尺寸重新生成实体模型) H' M' j( w/ u9 c
part1.Update
$ ^) @3 Y" e6 L/ a) B文件另存为# G- m) O# S- h _( }
part1.SaveAs ("newname")
/ f" X7 t. I; q5 CEnd Sub
* D8 M( n% F, _3 B2 ? q8 L' s
9 g/ p# Z8 E. Q/ h在程序中,GetObject函数获取CATIA的应用,CATIA对象建立VB与CATIA环境的接口,它是最高级别的对象,其它对象都需通过它与CATIA连接发生联系。由Part对象指向CATIA中当前的实体模型,Parameters对象则指向当前实体模型中的某个尺寸参数,对其Value属性进行修改,就可改变尺寸大小,从而改变模型中相应特征的大小。改变后的新实体零件需要存储到另外的文件中,以方便装配时调入。同时为了使生成装配体的明细表中避免同类零件冲突,所以新生成的模型编号将由PartNumber对象自动修改成该模型所对应的类型名。所以,上述算法的整个过程可归纳为:打开实体模型文件一激活文件一修改驱动尺寸一根据新尺寸重建模型一存储新文件一装配。其他类型的标准件生成和装配也按上述方法和步骤进行。
0 B7 X9 H4 [! ^: t) U
( {& k, V% v' X3.2.3应用程序的调入+ p9 Y& x) V; J6 U" Y: v/ L! b
' n$ [- \: W: L* @! T在CATIA V5环境中直接调用通过VB编译的可执行程序,可以使用CATIA V5 的“宏”操作来实现。利用“宏”在CATIA V5界面中添加指定的应用程序后,就好像CATIA V5调用了自身的功能一样。通过Customize—Command—Macro来选择要加载的宏文件,文件中的程序如下:, @* K1 c- L, H6 P, y* D
* [% a# x; ~" f# e7 R
Sub CATMain()" I8 R/ B6 X5 H: U0 }8 _, u
CATIA.SystemService.ExecuteBackgroundProcessus("pathname")2 E7 m3 e' @8 I. Z. ?
‘pathname为VB编译的可执行程序的保存路径
4 Y, q$ [/ Z" O3 K4 MEnd Sub
9 w1 c# W# @% l) }/ |8 g
, J' E8 d% g) a$ G8 s- I然后再选定一个图标拖到工具栏上,我们这里选的是一个“小锤子”作为该系统的图标。只要点击“小锤子”图标就可以进入标准件库 |
|