|
|
发表于 2007-7-7 06:20:22
|
显示全部楼层
来自: 中国山东聊城
SolidWorks平台下的挤压模具CAD系统
SolidWorks平台下的挤压模具CAD系统
5 Z ~1 L% s+ o2 _: c) u8 F0 g& }: J* m, {8 A! [& a; u6 ]' \5 `
SolidWorks软件采用了特征建模技术和设计过程的全相关技术,是目前领先的、主流的三维CAD软件。它具有配置管理、协同工作、零件建模、装配设计、全相关工程图、钣金设计、有限元分析和动态仿真等多项功能,在机械制造业的应用非常广泛。该软件为用户提供了功能强大的API接口,而且具有宏录制功能,所以可以很方便地进行二次开发。本文所述的就是以SolidWorks软件为平台开发的一套挤压模具CAD系统。
X D- e! f( C, j4 \ 8 i* L. }; D6 F V& r, P
基于SolidWorks平台的挤压模具CAD系统将大量的专家知识和设计经验存储于模具结构和零件模型中,通过选用不同模具组件的结构形状,来达到挤压模具的优化设计。此外,它还能利用模具零件间的装配形式和装配关系实现挤压模具的自动装配,生成模具零件工程图和装配体工程图,从而提高了挤压模具设计的智能度,减少了设计人员的工作量,并保证了设计质量,加快了设计速度。2 M# {! {1 L( V7 Y8 J8 j
$ @9 v1 L9 J1 [1 ~ 该系统以VisualBasic为开发工具,利用VB的面向对象编程语言、模块化和组件共享等技术,建立挤压模具CAD系统的用户界面及程序代码;利用SolidWorks建立模具各部分组件的模型;还可以通过对SolidWorks提供的API接口函数进行二次开发来实现对模型库的调用;并利用ADO数据库访问技术实现对零件模型的参数化驱动,最终生成模具零件工程图和模具总装配图。 - C2 K; S2 K1 i3 C5 }
一、系统设计进程; i' }% g- d8 Z+ f; @
% c9 w# i0 Q+ K) ~+ t' t5 X6 D 1.系统的功能和应用! Z" c4 J0 ]9 O& C `
5 n2 { P; P1 t4 B% d- O
首先选择合适的模架,然后选择挤压类型,包括正挤压、反挤压、复合挤压和镦挤压等。在不同的挤压类型里提供模具的凸模、凹模、顶出、预应力及料等不同部分组件的结构形状,用户选择后可以组成一套完整的挤压模具装配体结构,然后进行单个模具零件的设计。用户可以在模具设计对话框中更改模具零件的参数尺寸以满足实际需求,还可以对模具零件的工程图进行适当的修改以达到最满意的效果。最后系统将所有设计好的模具零件按照预定的装配关系自动装配起来,生成总装配图。, n1 ?0 Y1 ^+ U( Y" w
" W2 U; a9 S' V* B: N
2.功能模块和设计流程5 V0 ?# S2 D6 B# J4 Q- | v8 S- A
0 H9 A! s7 z* D
挤压模具的CAD系统结构由四个模块组成,如图1所示。
+ J6 M7 s: J2 s {( ~
5 Y" Y) b9 J9 I9 q# y (1)模架选择模块
9 p1 G U! u( g4 u* E4 {
+ i- u) i0 T7 g. C, Q 系统模架库里存储了许多不同类型的模架结构,通过选择不同的模架名称,在架构选择对话框的右边将出现该模架的模型图片。选择模架的主要零件名称,可以调出该零件的模型图片和参数信息,选取三维图按钮和工程图按钮则可以分别打开对应的SolidWorks模型文件和工程图文件,如图2所示。
8 |; W! G( x! T9 G图2模架选择界面 (2)挤压类型选择模块
& c; z3 F; n" p3 T7 U: N . [0 ?& c e' P2 T" h( Q
挤压类型包括正挤压、反挤压和复合挤压等,通过选取左边的按钮确定挤压类型,在右边就会出现该种类型的示意图和挤压件类型示意图,如图3所示。
6 Y* P" a+ J* |: { v" t1 F图3挤压类型选择界面 (3)模具组件结构选择模块
: W% H- F- u. E+ m ! f6 P0 v- k' f
模具组件可分为凸模组件、凹模组件、顶出组件、预应力组件和料组件等,系统建立了模具组件库供用户选择选择使用。在该模块中用户可以选择不同组件结构的任意一种形状,点选放大组件按钮可以查看对结构的详细介绍和使用场合,点击其他组件按钮可以选择其他组件,如图4所示。
h* f5 {( ~/ Y) o (4)装配体结构确认模块
5 }/ n% a/ V$ H
4 t6 v( o3 H; `2 n- }& N 通过上一步选择模具各部分的组件结构,系统将会按照组装关系将组合起来的装配结构图输出并让用户加以确认,如果用户觉得不够满意,可以点返回上层按钮重新选择各部分组件结构。如果选择的模具各部分组件不能组成一套装配图,系统将弹出一个提示框提示用户返回重选。确认后右边会出现该装配结构的零件清单,通过点选不同的零件名称按钮将出现模具零件设计模块,如图5所示。
) W2 e) n$ W6 G; [- @) Q2 Y图5装配体确认界面 (5)模具零件设计模块
/ c: A( @( U n, [' C # ^* {2 _1 D8 m
系统建立了不同模具零件的尺寸数据库,可以在尺寸属性对话框中对零件的尺寸和公差进行修改,选取修改按钮后该零件的SolidWorks模型的尺寸和公差就会实时更新。在注解属性对话框中可以输入零件的其他属性信息,这样这些信息将在零件工程图的标题栏中显示出来。当用户满意后就可以选取保存按钮对该模型文件进行保存,如图6所示。
# ~% ~7 l, O' g8 S: g! f
' M) h, ], c& Z0 W0 E- ?, P图6模具零件设计界面 (6)工程图编辑模块# U% s# W0 c" z8 b) W/ S8 w/ a% ^
& }% o( q1 K, Q6 j1 r 如果工程图上的信息不够准确、完整和规范,用户可以通过本模块对工程图加以编辑修改,选择保存按钮可以实现工程图的自动保存,如图7所示。
4 N% e# K7 ]% q1 @( _图7工程图编辑界面 (7)自动装配模块) o- {& k8 B, _. D3 ` N8 r; A
; {# p8 _1 O" B9 G: K' W+ c. c
系统按照预定的装配结构和装配关系对设计好的各种模具零件进行自动装配。系统输出的模具装配体和装配体工程图,如图8和图9所示。
6 Q& Y$ @9 L* j3 y / R7 W6 J. U G( A8 |
此时已完成该系统的主要功能,使用该系统可以促进挤压模具的高效和快速设计,并且已经在生产实践中得到充分的检验。事实证明,这套系统的工作效率很高,并且工作状况。 - h. c$ o# P( J' r- }
图8系统输出的装配体模型 二、系统模具零件设计模块部分源程序
. i3 L R( W+ N1 w7 k ' D1 T% N a' @3 d3 B
鉴于本系统的源程序比较庞大,所以本文只给出系统模具零件设计模块部分的源程序。! Q) q) C: r' Y
$ J) x7 V- L9 {3 S h: A
DimssAsString# U o4 W+ m: _. `1 o
DimboolstatusAsBoolean, S9 w7 c5 J: C
ss=App.Path&“\图形库\三维\”- o. ?/ H0 z" @' F5 q
SetswApp=CreateObject("SldWorks.Application"), Y4 C# F. ?5 U, j
swApp.Visible=True! o7 \0 L# s1 T* w
‘调用SolidWorks程序
0 A5 p' L5 c/ O( S SetPart=swApp.OpenDoc6(ss&“\反挤压\6\凸模.SLDPRT”,1,0,“”,longstatus,longwarnings)
0 h& ~" H0 A6 ` ?; O2 d- O: _; S图9系统输出的工程图 SetPart=swApp.ActiveDoc
, b, Y4 {7 `9 C" U* X/ G boolstatus=Part.Extension.SelectByID(“注解”,“DCABINET”,0,0,0,False,0,Nothing)
$ w+ v+ J5 Y7 a( b ‘打开对应的模型文件
5 B! F2 H. v/ h+ }+ z DimrsAsADODB.Recordset
4 g, L/ r1 ~/ y& v0 I DimconnAsADODB.Connection$ F5 [+ e7 I u1 ^! K& ]
‘定义ADO对象变量3 z% B2 L' E% F# u
ss=App.Path&"\database\"
4 d$ g! Q* r4 T4 V) W# B( n: _, g; ? Setconn=NewADODB.Connection
8 R0 g& d7 s+ p conn.C&“PersistSecurityInfo=False;”&“Mode=read;”&“DataSource=”&ss&“模具零件库.mdb;”
1 S* K: v6 } y; p! { c
5 q9 ^, l0 b: V1 y' H8 k! g onn.Open6 n" `5 |5 B) M7 l, h! \; p3 ?7 m
‘建立ADO连接,打开数据库; z8 B7 w U0 Y( e/ H+ m+ {
newTableName=Str(2011)5 Y5 {, x9 n% e5 c
Adodc1.RecordSource=newTableName
* C3 Y. R X2 w Adodc1.Refresh
+ j7 r8 Q$ f. [6 O# t SetDataGrid1.DataSource=Adodc1
9 _$ [4 I' a2 n* m' H) P7 C' m4 l ‘打开记录集,读取模具零件型号
$ f9 n- i, ?3 i DataGrid1.Row=0
, W! m. R! o, O: T! @$ Z8 l3 h Fori=1ToDataGrid1.Columns.Count1
1 C- N1 _( T. o. v5 Q4 E D(i)=DataGrid1.Columns(i).Value! ~' S+ ~' V4 C6 e
Next L2 Z7 T4 M; L9 A. l1 q D2 G
DataGrid1.Row=1* Q5 E$ u2 n$ {. S3 O
Fori=1ToDataGrid1.Columns.Count12 l# p% [5 j7 x) @
tolMax(i)=DataGrid1.Columns(i).Value; c5 s* Y5 O) J+ x6 |
Next' I- u5 [1 M2 ~+ o" I
DataGrid1.Row=2: t0 M0 M) N: _/ ~2 t- t5 L! }6 _
Fori=1ToDataGrid1.Columns.Count1% A# N+ H6 ]- z' Y
tolMin(i)=DataGrid1.Columns(i).Value
$ X+ d4 Y/ L" Q: _; |/ R6 e Next
$ `' K% h; O: w ‘存入模具零件尺寸值和公差值
9 O# ?) I: H0 y9 h Boolstatus=Part.Extension.SelectByID(“D1@草图1@凸模.SLDPRT”,
2 w( j& F0 C: V$ C “DIMENSION”,0,0,0,False,0,Nothing). A$ q) L! o |
Part.Parameter(“D1@草图1”).SystemValue=D(1)/10002 F! _% x, R) c/ Y' G- B
retval=Part.Parameter(“D1@草图1”).SetToleranceValues(tolMin(1)/1000,tolMax(1)/1000)3 V2 }. p" L4 K/ ?5 F0 }! }
‘驱动模具零件尺寸和公差
$ s1 D. O* x6 m4 C* ?
4 b1 q9 } E1 }; m- p. c 三、结论
% l- E- m& B9 ]4 D9 e
) N/ [( O- x8 s! _ 基于SolidWorks平台的挤压模具CAD系统通过集成大量挤压模设计资料和专家经验,形成了模具设计知识库,为典型挤压零件的模具设计提供了完整的计算机辅助设计手段,甚至连一些缺乏经验的技术人员也能够利用本系统完成挤压模具的设计,从而有利于挤压技术的推广和应用。同时该系统也是对SolidWorks专业化应用的开拓与实践,对其余专业从事SolidWorks本地化专业化的二次开发具有重要借鉴意义。为了使本系统更加完整,目前正在补充模具强度校核部分。 |
|