青华模具培训学校

 找回密码
 注册

QQ登录

只需一步,快速开始

青华模具培训学院
查看: 24520|回复: 0

[分享] 基于Solidworks二次开发的活塞压缩机零件参数化设计

[复制链接]
发表于 2012-8-3 18:44 | 显示全部楼层 |阅读模式
- d( L/ h* P; w& p
  g9 C* @; E5 O6 N9 t: }7 U
基于Solidworks二次开发的活塞压缩机零件参数化设计
7 R# p$ B% V2 |, `# y7 J发表时间: 2008-4-28 作者: 白亮亮*唐良宝 来源: 万方数据
: A& \9 [: ^. R关键字: Solidworks 二次开发 活塞压缩机 参数化设计  7 o1 d8 N; s2 N  u" D
利用visual basic6. 4来开发Solidworks,建立一个活塞压缩机零件的参数化建模体系,并通过实例说明具体设计的方法,达到缩短活塞压缩机设计周期的目的,比较基于Pro/E二次开发的参数化设计方法,利用visual basic6. 4来开发Solidworks更容易操作。9 Q8 Y" k+ A) k5 A4 q5 j
    0引言" b8 P% y& B/ K4 G! j+ Y
   
  N# d7 ]! h' o    活塞压缩机是通用机械,在化工、制冷等领域有着广泛的应用。在对活塞压缩机进行系列设计过程中,经常会重复用到结构相同或相似而尺寸不同的一些零件,如活塞、连杆、连杆螺栓等。传统的设计方法是将每个零件都单独设计,占用了设计人员大部分的时间和精力,严重影响了新产品的开发周期,从而制约了企业的技术进步和持续发展。随着CAD技术在企业中应用的不断深人,各种CAD设计软件得到了广泛的应用。Solidworks软件是Solidworks公司推出的世界上第一个专门在windows环境下进行机械设计的三维CAD软件,Solidworks软件提供完整的、免费的开发工具(API ),用户可以用微软的Visual Basic, Visual C++或其它支持OLE的编程语言建立自己的应用方案,从而实现参数化设计的目的,有效缩短产品的设计周期。本文通过Solidworks的二次开发技术,研究分析了活塞压缩机主要零件的参数化设计。- }, `5 i6 E* [- X6 F2 ~5 m
    ) a5 x# g% T) B  N
    1  Solidworks二次开发技术# Y1 ?  d! O  h0 c# f
    3 k. s/ F! y) m% t4 J# R
    SolidWorks软件支持OLE标准,可以通过软件中提供的完整的、免费的二次开发工具一SolidWorksAPI应用程序编程接口)完全实现OLE自动化。- Z' G( b& a# [# E$ s
   
3 T" n) N- ^) R6 I' X. I" n* e    SolidWorks API是SolidWorks的OLE编程接口,为程序员提供了大量的OLE对象以及对其所拥有的方法、属性和事件(如图1)。程序员可以在通用的开发平台,如Visual Basic,VBA,Visual C ++和Delphi中对这些OLE对象及其方法和属性进行操作,从而在自己开发的应用软件中实现诸如生成直线、构造实体、检查曲面表面参数等几乎所有SolidWorks软件的现有功能。
7 P: C' b% {: w/ d# F    + m3 Z8 N" i. g1 M6 W% `3 k! S
( W, r  R; }" L( f
7 t. Q  ]8 r) Z- W2 j
2 J& n/ R3 ~; n9 g" W# c
    其中最为常用的是ModelDoc2对象,此对象属于模型层,是SolidWorks的子对象,用ModelDoc2对象可以实现视图设置、轮廓线修改、参数控制、对象选择/打开和保存文档、生成编辑特征参量、生成框架等与实体模型相关的各种操作。; x4 z( }; }" o4 t1 d* m9 v
   
( F2 U8 R0 W: X/ S( K/ f8 N, [6 H3 t    任何支持OLE和COM的编程语言都可以作为SolidWorks的开发工具。最简单的二次开发工具是VBA,在涉及Excel时用VBA最为方便,VBA常用于录制宏,得到基本程序框架。易学易用的高级开发语言是VB,但功能有限。功能强大的语言是Visual C ++,但是人门较难。Delphi集中了VB和Visual C++两者的优点,学习过程中很容易上手,而且功能也非常强大,尤其在界面设计、数据库编程和网络编程方面更具有独到之处,但遗憾的是SolidWorks常常不支持Delphi + OLE。总之,各种软件都有各自的特点与不足,设计人员根据需要和要求选择合适的开发工具。% V/ }9 x/ h/ L! @4 Y
    # y9 F( l) r9 m
    2利用VB开发的过程
: h. }8 f0 ~; f! Z) @   
4 T4 N6 K/ E4 \1 W/ n$ d    本文通过VB编程软件来对Solid`Vorks进行二次开发,所以主要介绍VB的开发过程,具体的过程如下:9 g7 x% r+ S5 p" Q
    : ?1 l* D3 J4 y* T/ E% u
    (1)确定能反映零件特征的尺寸参数作为主要参数,并以此作为设计变量,同时确定尺寸相互关系。% B2 W% e0 _# G, i- |
    ! d. a5 \& S! l+ e* [! f( |. q
    (2)提出设计意图,分析将要建立的模型,打开VB程序设计软件,根据设计意图创建窗体界面,创建程序主界面。
  g" c  a7 @" l& }* B6 ^) O; d3 s   
+ R: S0 }3 ~' ^6 A4 O8 \    (3)基于VB的。olidworks二次开发,最重要的是程序代码的编写。代码可以完全由开发者写人,即完全用程序实现三维模型的参数化设计以及模型的编辑,这种方法编程较为复杂,但可以实现对具有复杂形体的零件造型,这种方法要求开发者对solidworks API函数非常熟悉,但是solidworks API函数有几百个之多,对于初学者往往不容易掌握。一个简单实用的方法是先录制使用solidworks用户界面执行的操作,即录制宏,获得宏操作代码,将其复制添加到程序所需部分,然后编辑修改以达到程序要求,通过程序驱动设计变量实现模型的建立和更新,这种方法编程较简单,通用性好。
! l9 N2 D% u+ y. i0 A' p    ( w8 _- c0 r! T' F
    (4)通过给出不同的系列尺寸来自动生成零件的三维模型,从而任意实现类似零件三维模型的创建。* y, Q& O  {" b! F4 b" w

/ p5 j0 u" j4 I$ I* S    3实例分析
8 h' o. \& C5 f$ V    * W- T2 `; @3 T/ W) Z3 X
    活塞压缩机的零件数量较多,可以将主要零部件和常用的标准零部件分别建立数据库,方便设计人员使用和添加扩充零件模型数量。这里仅对活塞压缩机中的活塞件的设计过程举例分析。
, v% ?" m$ p/ p% m/ J6 M: ^- t基于Solidworks二次开发的活塞压缩机零件参数化设计 " t) B' q/ t! G+ ~; ]

0 Y7 _- v3 k  B发表时间: 2008-4-28 作者: 白亮亮*唐良宝 来源: 万方数据
/ t# t8 T+ A- u9 R关键字: Solidworks 二次开发 活塞压缩机 参数化设计  . X0 A8 f" a4 V, E) N
利用visual basic6. 4来开发Solidworks,建立一个活塞压缩机零件的参数化建模体系,并通过实例说明具体设计的方法,达到缩短活塞压缩机设计周期的目的,比较基于Pro/E二次开发的参数化设计方法,利用visual basic6. 4来开发Solidworks更容易操作。/ T0 o( @7 k* v) g! a  t
- O, E- M, m) K: c% S. f" q; r
    3. 1基本参数确定1 U: w6 F& w, Q" T' e, s, X5 w0 M
   
( n9 U' F' F5 i    活塞压缩机中采用的活塞基本结构型式有:筒形、盘形、级差式、组合式、柱塞式等。本文以全封闭式压缩机无环部筒形活塞为例分析参数化设计过程。6 @% ]0 S4 A# U1 s4 w
   
# V/ f. a" X4 \2 ~, u9 i0 }* {& f1 V9 u# s% y4 h

' {; m  U6 X, t* w- h: N, u" H8 t  B* O& r4 W5 ]
: W9 ]: y( w3 @' }; A
    零件的实体建模,要求对实体进行系列化的参数化设计。根据实体的外形尺寸来选择适当的参数变量作为主要参数。如图2所示筒形活塞的基本参数为:活塞直径D、活塞销外径d、连杆宽度B等基本参数确定。
; I' M% X# a2 }  P8 E$ A( J" J% H   
5 L0 n( Q- Q% F. q6 C6 e" |9 U    其它尺寸要素可以通过关系表达式确定。具体几何关系表达式如下
; [1 k- t) u# ]4 ~; p8 o+ r  a" `   
; o' C( k8 t( J# s4 T" r4 N    活塞高度:H=CH·D
5 N* M# i6 _; z; A: j+ s    活塞销中心线高度:H1=CH1 · H) y3 a+ X+ u0 ~
    筒形活塞内径分别为D1 = D-20,D2=D-10% M- b) Y8 P3 r% y$ _7 |+ |
    活塞端面厚度;t=0.05xD
( g' E' u9 L: f9 Z  `      {! E9 P3 {/ ]% w
    其中CH,CH1分别为活塞高度系数和活塞销中心线高度系数,其中CH取值范围0.6~1.3,CH1的取值范围0. 4~0.5。
9 h$ X& O6 e2 n8 N2 n) @    1 X1 T) i9 B" u( l! P
1 n) F' }. }! }  ?$ `( X  E8 G
6 Z! U7 p0 J! l; f% v, g
/ }8 w2 B; H3 ?' E  Y* k

7 i. b! j, K# Y- J# ^6 q4 w  e1 q+ q+ E9 ^
    3. 2程序界面
, I- B6 d" z( n0 }% C    , P# s$ K! G1 A3 h5 X& Z9 v! `
    运用VB可以方便的建立程序的主界面如图4所示,设计人员只需要在输人参数部分输人相应的参数,默认情况下,零件的参数如表1所示,活塞其它尺寸参数与输人参数之间的关系在输人参数下方有说明,然后点击创建就可以建立所要求的零件模型。( H* w+ P4 x" c  J+ c* D; D
   
0 O) I* f1 y' _" c    3. 3程序代码的编写& S  a" B# i: I* D
    , ~9 @7 V+ |. H- F* P% ?! h
    对于程序代码的编写,简单实用的方法是先录制使用Solidworks用户界面执行的操作,即录制宏,获得宏操作代码,将其复制添加到程序中"创建"控件的click事件下,然后在代码中找到定义实体模型的尺寸值,用对应的尺寸参数代替这些尺寸值。编辑修改以达到程序要求,通过程序驱动设计变量实现模型的建立和更新,这种方法编程较简单,通用性好。具体代码如下:
& u0 |9 G- N# J; d/ v# h6 Q    # a5 i+ }4 @- T" d( S
" S4 L; Z( ~# K7 `" i7 ~" C

, z  t+ t' E$ n
& ~0 x6 C1 x! C& j! e2 Z( S) i) G9 O2 Q  J9 R; B5 y, T
' W9 v& ^- t3 \5 e5 ^! B
    以上是模型创建的第一步的程序代码,其余的程序代码与此类似,无论是录制宏,获得宏操作代码,然后将其复制添加到程序所需部分编辑修改以达到程序要求,还是自己编译程序代码都要有以上的格式才能够运行。 基于Solidworks二次开发的活塞压缩机零件参数化设计 3 B6 D$ f9 s+ g: j( u- }3 ]
发表时间: 2008-4-28 作者: 白亮亮*唐良宝 来源: 万方数据
) E% R+ r, u; N  e# n1 g关键字: Solidworks 二次开发 活塞压缩机 参数化设计  " V5 O9 m( c$ n
利用visual basic6. 4来开发Solidworks,建立一个活塞压缩机零件的参数化建模体系,并通过实例说明具体设计的方法,达到缩短活塞压缩机设计周期的目的,比较基于Pro/E二次开发的参数化设计方法,利用visual basic6. 4来开发Solidworks更容易操作。* ?# ?0 S# Q5 `4 V$ P

! d" L( `8 }: U0 N2 O' p- T+ H9 }    3. 4程序运行结果1 @+ q, j' J7 J
    7 z; `) J3 m/ j
    运行程序,输人相应的参数,点击"尺寸计算",程序根据参数的约束关系表达式计算出其它的尺寸参数,然后点击"创建"建立与用户输入参数相对应的零件模型。创建的零件模型如图4。: I0 T+ I4 t) h, n- f* _5 I# B1 _

. `# @& e& o. |3 i4 Q. [6 X& v0 P5 h" x6 t& V, m, p1 B5 `

( D4 t. i; q5 F7 [
) q+ F1 A7 I! R. w- ?5 D) r+ [; Q    4总结
0 B: V4 [; w$ `. y   
) y0 D) s2 Z6 g% q' f- V    本文通过VB对中档建模软件solidworks进行二次开发,结合活塞压缩机设计的实际应用,实现了活塞压缩机零件设计过程的参数化、白动化。有效的缩短压缩机的开发和设计周期,大大的提高了工作效率,也使操作更加的简单方便。而且为压缩机进一步的CAE设计提供3D模型。
  {! ?3 F' @- O  n   
* [. q! r# U  b* s) g    运用solidworks二次开发技术有以下特点:  R# X0 I" M7 ~& n( I
    # q" N6 o) V/ M; D- K
    (1)同样可以实现零件的参数化设计,对于压缩机设计人员,运用VB开发solidworks的方法更容易上手,能缩短参数化设计时间,提高效率;
- g2 V8 J. r: |  `    5 K! A  j5 _6 f8 J. @
    (2)对于生成的三维零件,在solidworks中可以很方便的生成工程图。 0 n; d& ^) X% x2 W- H
7 `) h- d( s3 P( a# V8 K5 g% D0 l

9 }2 n1 J7 j8 P: P: d
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|关于我们|sitemap|小黑屋|Archiver|手机版|UG网-UG技术论坛-青华数控模具培训学校 ( 粤ICP备15108561号 )

GMT+8, 2024-11-24 03:09 , Processed in 0.047420 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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