青华模具培训学校

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
发表于 2012-8-3 18:44 | 显示全部楼层 |阅读模式

8 q: P( p4 J# p: Z( H3 j, u
3 E1 N3 G* ^5 [1 j* @基于Solidworks二次开发的活塞压缩机零件参数化设计
: A' v+ F5 B" [" g# z发表时间: 2008-4-28 作者: 白亮亮*唐良宝 来源: 万方数据
0 l9 P% m2 j  |$ @% q& z1 u关键字: Solidworks 二次开发 活塞压缩机 参数化设计  
. n9 g/ V, X0 }' X# @% {/ _利用visual basic6. 4来开发Solidworks,建立一个活塞压缩机零件的参数化建模体系,并通过实例说明具体设计的方法,达到缩短活塞压缩机设计周期的目的,比较基于Pro/E二次开发的参数化设计方法,利用visual basic6. 4来开发Solidworks更容易操作。
8 {+ K  P8 ~3 z" U: E9 B0 K" `    0引言) n: d* M! w! |$ R, K) N# t
    5 J3 W( o; x( Y* ]  t
    活塞压缩机是通用机械,在化工、制冷等领域有着广泛的应用。在对活塞压缩机进行系列设计过程中,经常会重复用到结构相同或相似而尺寸不同的一些零件,如活塞、连杆、连杆螺栓等。传统的设计方法是将每个零件都单独设计,占用了设计人员大部分的时间和精力,严重影响了新产品的开发周期,从而制约了企业的技术进步和持续发展。随着CAD技术在企业中应用的不断深人,各种CAD设计软件得到了广泛的应用。Solidworks软件是Solidworks公司推出的世界上第一个专门在windows环境下进行机械设计的三维CAD软件,Solidworks软件提供完整的、免费的开发工具(API ),用户可以用微软的Visual Basic, Visual C++或其它支持OLE的编程语言建立自己的应用方案,从而实现参数化设计的目的,有效缩短产品的设计周期。本文通过Solidworks的二次开发技术,研究分析了活塞压缩机主要零件的参数化设计。! t: E) `, n9 k
   
. B9 d" ]2 A0 ~    1  Solidworks二次开发技术( I2 c1 v, |" Y9 x: k6 N# |
      v, K% h$ O  g7 P  U
    SolidWorks软件支持OLE标准,可以通过软件中提供的完整的、免费的二次开发工具一SolidWorksAPI应用程序编程接口)完全实现OLE自动化。
3 A3 I; Z0 b1 Z& a) [) }    & x" Q7 W: ~4 @' \/ [- n6 O
    SolidWorks API是SolidWorks的OLE编程接口,为程序员提供了大量的OLE对象以及对其所拥有的方法、属性和事件(如图1)。程序员可以在通用的开发平台,如Visual Basic,VBA,Visual C ++和Delphi中对这些OLE对象及其方法和属性进行操作,从而在自己开发的应用软件中实现诸如生成直线、构造实体、检查曲面表面参数等几乎所有SolidWorks软件的现有功能。8 y+ a, \* _: o. ~  ~
    8 _3 D% b; M( I

& g  p6 D; k$ _2 \4 |
  I4 c/ J  K/ ^! G; n" E7 [$ S7 Y
    其中最为常用的是ModelDoc2对象,此对象属于模型层,是SolidWorks的子对象,用ModelDoc2对象可以实现视图设置、轮廓线修改、参数控制、对象选择/打开和保存文档、生成编辑特征参量、生成框架等与实体模型相关的各种操作。+ {9 H* l2 U# C3 W' w3 O
    ( b5 z9 Q+ o+ L
    任何支持OLE和COM的编程语言都可以作为SolidWorks的开发工具。最简单的二次开发工具是VBA,在涉及Excel时用VBA最为方便,VBA常用于录制宏,得到基本程序框架。易学易用的高级开发语言是VB,但功能有限。功能强大的语言是Visual C ++,但是人门较难。Delphi集中了VB和Visual C++两者的优点,学习过程中很容易上手,而且功能也非常强大,尤其在界面设计、数据库编程和网络编程方面更具有独到之处,但遗憾的是SolidWorks常常不支持Delphi + OLE。总之,各种软件都有各自的特点与不足,设计人员根据需要和要求选择合适的开发工具。
" Y, z8 h9 R# e$ p   
  |3 @  v, J5 @3 j/ M    2利用VB开发的过程
7 _/ C, c; w$ k) |  ?; D    5 k- N3 S1 e/ X, Y% A
    本文通过VB编程软件来对Solid`Vorks进行二次开发,所以主要介绍VB的开发过程,具体的过程如下:" M" e: J  T1 j& K: {0 @0 _
    8 x- H" i0 P; B; x4 M3 I1 P, q) _
    (1)确定能反映零件特征的尺寸参数作为主要参数,并以此作为设计变量,同时确定尺寸相互关系。8 \. p6 A4 h" J
      z3 |' U9 ^; \$ F/ v4 T7 k8 d
    (2)提出设计意图,分析将要建立的模型,打开VB程序设计软件,根据设计意图创建窗体界面,创建程序主界面。" g5 {' p- q4 S, z0 B% {; x
    / f+ b* q; M# \4 c( I' J. G2 R
    (3)基于VB的。olidworks二次开发,最重要的是程序代码的编写。代码可以完全由开发者写人,即完全用程序实现三维模型的参数化设计以及模型的编辑,这种方法编程较为复杂,但可以实现对具有复杂形体的零件造型,这种方法要求开发者对solidworks API函数非常熟悉,但是solidworks API函数有几百个之多,对于初学者往往不容易掌握。一个简单实用的方法是先录制使用solidworks用户界面执行的操作,即录制宏,获得宏操作代码,将其复制添加到程序所需部分,然后编辑修改以达到程序要求,通过程序驱动设计变量实现模型的建立和更新,这种方法编程较简单,通用性好。0 L; D0 M$ h) o* N% U) W! t+ A# ]- Q
   
9 A8 I0 f# _8 ]# R5 [    (4)通过给出不同的系列尺寸来自动生成零件的三维模型,从而任意实现类似零件三维模型的创建。# C( D. `1 b, T

+ `) c# |0 \  [3 p6 g( S    3实例分析
" M5 J: g6 c; e1 l" U% u   
$ m. \! t( @4 y; A+ p  y    活塞压缩机的零件数量较多,可以将主要零部件和常用的标准零部件分别建立数据库,方便设计人员使用和添加扩充零件模型数量。这里仅对活塞压缩机中的活塞件的设计过程举例分析。
) {5 R9 r8 u; Z: N0 E' a! O基于Solidworks二次开发的活塞压缩机零件参数化设计
+ ]* W" c" M7 q) ?7 z4 t( j3 W3 G0 x9 i; S
发表时间: 2008-4-28 作者: 白亮亮*唐良宝 来源: 万方数据 * y, m* E. t+ o# W
关键字: Solidworks 二次开发 活塞压缩机 参数化设计  
  c) s/ {; o: j' u. e' Q. m利用visual basic6. 4来开发Solidworks,建立一个活塞压缩机零件的参数化建模体系,并通过实例说明具体设计的方法,达到缩短活塞压缩机设计周期的目的,比较基于Pro/E二次开发的参数化设计方法,利用visual basic6. 4来开发Solidworks更容易操作。9 D7 k: g- e$ M. ~/ X5 Y
6 m- i0 H: T: I8 X) l
    3. 1基本参数确定
4 C* J+ |% V4 ^1 |' P7 x& e$ E   
+ D7 L' V! D1 A3 D6 A8 v    活塞压缩机中采用的活塞基本结构型式有:筒形、盘形、级差式、组合式、柱塞式等。本文以全封闭式压缩机无环部筒形活塞为例分析参数化设计过程。
1 q' x& q# ?; K% ]8 z9 |1 K5 Z6 i( \6 o   
6 z5 t3 |$ @9 k6 q. s8 z8 g9 U6 X+ S; J$ b

6 \5 R( L1 T) \: C6 U% K* x. m, l% {% H# [6 D8 `1 G, M/ |
% O3 S2 l# ~! O' R) I
    零件的实体建模,要求对实体进行系列化的参数化设计。根据实体的外形尺寸来选择适当的参数变量作为主要参数。如图2所示筒形活塞的基本参数为:活塞直径D、活塞销外径d、连杆宽度B等基本参数确定。% E/ u8 q1 I2 ^9 m
   
+ y2 ~  B) N3 D& B$ h% g    其它尺寸要素可以通过关系表达式确定。具体几何关系表达式如下
' W. d! ^4 h; g, m, m& k: K2 R, r" h    - E9 b7 n+ v6 x/ ?' _# r) E6 ?
    活塞高度:H=CH·D% s+ b" ~2 _$ z  |6 |& S1 S  u
    活塞销中心线高度:H1=CH1 · H
& ]" b0 Z7 O& c    筒形活塞内径分别为D1 = D-20,D2=D-10
% t; |8 V4 h, F6 N    活塞端面厚度;t=0.05xD
1 Z% ?& i; g4 v  W0 S- Y' I( x    0 f. _8 b* p. C1 V
    其中CH,CH1分别为活塞高度系数和活塞销中心线高度系数,其中CH取值范围0.6~1.3,CH1的取值范围0. 4~0.5。
/ g4 ~& h! D0 j0 w% L$ f   
7 j$ b" C5 Z: d. s, L8 J. P! C: ]1 l9 u
& }$ S% @# w( T# C

4 c' }+ C% h/ ~. g! u) S  ]2 y* W5 J6 n
# E* H$ z0 Q7 [5 J) y
    3. 2程序界面8 v" K& ]4 V8 o7 c8 v& x
    . W; ]+ H$ K+ F8 z3 @8 s% K
    运用VB可以方便的建立程序的主界面如图4所示,设计人员只需要在输人参数部分输人相应的参数,默认情况下,零件的参数如表1所示,活塞其它尺寸参数与输人参数之间的关系在输人参数下方有说明,然后点击创建就可以建立所要求的零件模型。
9 D' o+ \# T) K% v3 ?9 u+ T4 A   
8 Q. M/ \0 H# a7 F( Q    3. 3程序代码的编写" ]4 S5 w# m2 D1 z
   
. {: I1 ?0 C; N& b    对于程序代码的编写,简单实用的方法是先录制使用Solidworks用户界面执行的操作,即录制宏,获得宏操作代码,将其复制添加到程序中"创建"控件的click事件下,然后在代码中找到定义实体模型的尺寸值,用对应的尺寸参数代替这些尺寸值。编辑修改以达到程序要求,通过程序驱动设计变量实现模型的建立和更新,这种方法编程较简单,通用性好。具体代码如下:1 I3 Y& f2 r6 r) v
   
( G7 m: G" @5 D# ]
6 k( p* h0 b! x6 T$ U2 B" x9 N+ n& k" ?5 I

1 l9 N) i: i& \$ E/ n5 [
' q8 P+ Q1 z* c6 ?
0 j) Y: A6 B1 [2 ^% X    以上是模型创建的第一步的程序代码,其余的程序代码与此类似,无论是录制宏,获得宏操作代码,然后将其复制添加到程序所需部分编辑修改以达到程序要求,还是自己编译程序代码都要有以上的格式才能够运行。 基于Solidworks二次开发的活塞压缩机零件参数化设计
! G7 V2 W# ?9 _6 `, K3 [7 v发表时间: 2008-4-28 作者: 白亮亮*唐良宝 来源: 万方数据
* S) L0 v1 I3 O3 B$ ?' n关键字: Solidworks 二次开发 活塞压缩机 参数化设计  
% \& I" q/ K# ^, M6 I* g  W6 b利用visual basic6. 4来开发Solidworks,建立一个活塞压缩机零件的参数化建模体系,并通过实例说明具体设计的方法,达到缩短活塞压缩机设计周期的目的,比较基于Pro/E二次开发的参数化设计方法,利用visual basic6. 4来开发Solidworks更容易操作。
) C$ e: P8 @" k8 p& b+ c- n: r/ E; E0 t! D
    3. 4程序运行结果
. f  Z, ?# m% x   
2 s$ c) f- P8 ]# _/ o    运行程序,输人相应的参数,点击"尺寸计算",程序根据参数的约束关系表达式计算出其它的尺寸参数,然后点击"创建"建立与用户输入参数相对应的零件模型。创建的零件模型如图4。- j) p. |  h* Y+ j3 f5 n

9 \# G5 r) n2 r! o/ B3 q# t
* x1 m% ]; C3 z# X2 R2 V* H: g
& Y( p; [* |4 R/ a6 n- j. M7 g1 J  z
    4总结
& O. s, ?& n5 K& j5 w! s5 H    , d3 Z8 R: e; N) Y/ R
    本文通过VB对中档建模软件solidworks进行二次开发,结合活塞压缩机设计的实际应用,实现了活塞压缩机零件设计过程的参数化、白动化。有效的缩短压缩机的开发和设计周期,大大的提高了工作效率,也使操作更加的简单方便。而且为压缩机进一步的CAE设计提供3D模型。6 r8 f/ E1 \( l0 A. F3 N; r
   
; N* x: ~$ L" k; p+ c! I+ D9 Y    运用solidworks二次开发技术有以下特点:. w- i# V0 w; z* C
   
5 }/ u; U5 Y5 C1 C" ?    (1)同样可以实现零件的参数化设计,对于压缩机设计人员,运用VB开发solidworks的方法更容易上手,能缩短参数化设计时间,提高效率;
1 v2 s2 a- @, x- ^2 i9 e' {   
5 b4 O$ m, R7 Z    (2)对于生成的三维零件,在solidworks中可以很方便的生成工程图。 ) C$ n! C: _( V7 G0 @. b" U4 R
5 f! l' @; y& \- f, q* U

  t! n) y2 Z1 [0 M7 j5 N
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-6-18 20:24 , Processed in 0.048513 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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