青华模具培训学校

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
发表于 2012-8-3 18:44 | 显示全部楼层 |阅读模式
% H2 y- ^/ I7 j( H

: f) ^" y" X$ h0 y2 j基于Solidworks二次开发的活塞压缩机零件参数化设计 - U9 {+ W4 B% {
发表时间: 2008-4-28 作者: 白亮亮*唐良宝 来源: 万方数据
& x5 E% _5 @5 L0 v( M5 k  |3 f关键字: Solidworks 二次开发 活塞压缩机 参数化设计  
# @! y7 G; _7 X* U+ X# q利用visual basic6. 4来开发Solidworks,建立一个活塞压缩机零件的参数化建模体系,并通过实例说明具体设计的方法,达到缩短活塞压缩机设计周期的目的,比较基于Pro/E二次开发的参数化设计方法,利用visual basic6. 4来开发Solidworks更容易操作。
0 g0 v0 x$ ?% e" T8 v    0引言
3 Z2 _9 }* l: J4 X3 R3 k$ r2 x- x   
# s5 y( z+ [  l  ~5 B7 g7 D7 e  l    活塞压缩机是通用机械,在化工、制冷等领域有着广泛的应用。在对活塞压缩机进行系列设计过程中,经常会重复用到结构相同或相似而尺寸不同的一些零件,如活塞、连杆、连杆螺栓等。传统的设计方法是将每个零件都单独设计,占用了设计人员大部分的时间和精力,严重影响了新产品的开发周期,从而制约了企业的技术进步和持续发展。随着CAD技术在企业中应用的不断深人,各种CAD设计软件得到了广泛的应用。Solidworks软件是Solidworks公司推出的世界上第一个专门在windows环境下进行机械设计的三维CAD软件,Solidworks软件提供完整的、免费的开发工具(API ),用户可以用微软的Visual Basic, Visual C++或其它支持OLE的编程语言建立自己的应用方案,从而实现参数化设计的目的,有效缩短产品的设计周期。本文通过Solidworks的二次开发技术,研究分析了活塞压缩机主要零件的参数化设计。" O! A1 }. U+ i2 e/ X2 K
    0 P0 X0 C  Y0 d' x: `7 H
    1  Solidworks二次开发技术( J. H0 o+ Y/ j; P
    ( u7 x2 |) f$ Y) [
    SolidWorks软件支持OLE标准,可以通过软件中提供的完整的、免费的二次开发工具一SolidWorksAPI应用程序编程接口)完全实现OLE自动化。
  |- n) L% s4 n6 ~    4 r: c, n- o; W3 g4 ?$ Z$ T) [
    SolidWorks API是SolidWorks的OLE编程接口,为程序员提供了大量的OLE对象以及对其所拥有的方法、属性和事件(如图1)。程序员可以在通用的开发平台,如Visual Basic,VBA,Visual C ++和Delphi中对这些OLE对象及其方法和属性进行操作,从而在自己开发的应用软件中实现诸如生成直线、构造实体、检查曲面表面参数等几乎所有SolidWorks软件的现有功能。& J. T: Q/ b6 l5 b
    ; ~1 D0 u5 [" [, O! S6 O, x  P6 L6 D
) ?0 m& b7 V! [4 e) M

/ c; Y: Z% a# a! |5 e# t( V( p
( o9 j3 l3 V9 A+ L    其中最为常用的是ModelDoc2对象,此对象属于模型层,是SolidWorks的子对象,用ModelDoc2对象可以实现视图设置、轮廓线修改、参数控制、对象选择/打开和保存文档、生成编辑特征参量、生成框架等与实体模型相关的各种操作。6 p5 R( w9 @& U, \+ z7 U
    ; K8 h9 W( b& H, Z2 y
    任何支持OLE和COM的编程语言都可以作为SolidWorks的开发工具。最简单的二次开发工具是VBA,在涉及Excel时用VBA最为方便,VBA常用于录制宏,得到基本程序框架。易学易用的高级开发语言是VB,但功能有限。功能强大的语言是Visual C ++,但是人门较难。Delphi集中了VB和Visual C++两者的优点,学习过程中很容易上手,而且功能也非常强大,尤其在界面设计、数据库编程和网络编程方面更具有独到之处,但遗憾的是SolidWorks常常不支持Delphi + OLE。总之,各种软件都有各自的特点与不足,设计人员根据需要和要求选择合适的开发工具。
7 ?0 D9 k! \* U  b! x    , W# v# w4 y" f7 s7 ~
    2利用VB开发的过程. ~" N! c! ~4 B, m
    . K1 `, _5 e- I9 V) j7 ^1 g7 f' w
    本文通过VB编程软件来对Solid`Vorks进行二次开发,所以主要介绍VB的开发过程,具体的过程如下:
" w7 n7 x6 O% M  v+ z& D   
! R7 E9 A/ D, Q$ K. A& ^0 D. x    (1)确定能反映零件特征的尺寸参数作为主要参数,并以此作为设计变量,同时确定尺寸相互关系。
) C4 i8 t, E( a3 p: C4 ?; b    " A1 g+ p/ d: z$ f- L: k' G/ `" z
    (2)提出设计意图,分析将要建立的模型,打开VB程序设计软件,根据设计意图创建窗体界面,创建程序主界面。- f" F, Q1 N/ p# K$ l3 f: }/ k" h; T
   
" {5 m) a# X0 d. a7 K1 l* L    (3)基于VB的。olidworks二次开发,最重要的是程序代码的编写。代码可以完全由开发者写人,即完全用程序实现三维模型的参数化设计以及模型的编辑,这种方法编程较为复杂,但可以实现对具有复杂形体的零件造型,这种方法要求开发者对solidworks API函数非常熟悉,但是solidworks API函数有几百个之多,对于初学者往往不容易掌握。一个简单实用的方法是先录制使用solidworks用户界面执行的操作,即录制宏,获得宏操作代码,将其复制添加到程序所需部分,然后编辑修改以达到程序要求,通过程序驱动设计变量实现模型的建立和更新,这种方法编程较简单,通用性好。
0 l8 ^9 d/ z9 Z4 U# v+ G' h    5 G# q0 [7 k* f# t  g3 X
    (4)通过给出不同的系列尺寸来自动生成零件的三维模型,从而任意实现类似零件三维模型的创建。
5 l' u( C. H9 B. M- s0 h4 H7 [! h4 g7 ], Z  P7 l( m/ O& f% a" F1 e
    3实例分析: _, D9 {: ?& F7 r' \1 s
    0 ~# z0 u' W9 a- `& i
    活塞压缩机的零件数量较多,可以将主要零部件和常用的标准零部件分别建立数据库,方便设计人员使用和添加扩充零件模型数量。这里仅对活塞压缩机中的活塞件的设计过程举例分析。
7 H! Q& d" P/ T; a. W基于Solidworks二次开发的活塞压缩机零件参数化设计 ) }1 i- J3 {- r- M3 C/ `- V* @0 h  _
8 i! K3 e; p( [7 j3 _2 e
发表时间: 2008-4-28 作者: 白亮亮*唐良宝 来源: 万方数据 & C# x# |4 S; f3 R9 B) }/ q3 q
关键字: Solidworks 二次开发 活塞压缩机 参数化设计  / f& v9 @4 R3 N& i
利用visual basic6. 4来开发Solidworks,建立一个活塞压缩机零件的参数化建模体系,并通过实例说明具体设计的方法,达到缩短活塞压缩机设计周期的目的,比较基于Pro/E二次开发的参数化设计方法,利用visual basic6. 4来开发Solidworks更容易操作。
% P' h& G; N6 ]# r0 ~% n0 e$ y, K1 |- ~% g0 i+ T+ y1 |
    3. 1基本参数确定
& _2 m" v: X; k. ?    4 q$ c! G0 E0 Z3 U' G0 n4 |
    活塞压缩机中采用的活塞基本结构型式有:筒形、盘形、级差式、组合式、柱塞式等。本文以全封闭式压缩机无环部筒形活塞为例分析参数化设计过程。
$ Q" l6 t  ^& z7 Q' t3 W9 U$ \    1 ~6 }- N% m% E% }

: m# r  P  z7 R3 O% b5 |; D$ X/ e$ p2 ^0 @( F1 Y* d6 @5 }+ C

. P, J- Y0 g- u& M: |. U7 B) C7 [2 C' k1 p" _( J' |- s' A+ l$ F! E0 z
    零件的实体建模,要求对实体进行系列化的参数化设计。根据实体的外形尺寸来选择适当的参数变量作为主要参数。如图2所示筒形活塞的基本参数为:活塞直径D、活塞销外径d、连杆宽度B等基本参数确定。
1 T; j6 `* Y. O9 J9 m( j    2 h: S2 G+ ~& R5 Z' Z8 V0 Y5 u. w
    其它尺寸要素可以通过关系表达式确定。具体几何关系表达式如下7 ]( s; o' y6 `7 e( c
    6 z7 R' O2 |) j; X
    活塞高度:H=CH·D
1 P. F0 K# W4 S' z) q; G    活塞销中心线高度:H1=CH1 · H) v" B! O; ?) E3 g8 ]1 Y
    筒形活塞内径分别为D1 = D-20,D2=D-10
2 Y2 z! r5 j" D    活塞端面厚度;t=0.05xD) U5 l3 _2 C. @- ?2 K! l
   
* \& a% u  o- B4 y- }    其中CH,CH1分别为活塞高度系数和活塞销中心线高度系数,其中CH取值范围0.6~1.3,CH1的取值范围0. 4~0.5。. _8 s0 R. m2 d3 f% V0 I
    ' k; g' r! m& ?- g" I/ \! b/ P! i

# n  k# u" r# K/ L# Z8 Y2 ?* u. K3 w
7 s, D0 m% l2 }) e
% [3 f/ _9 [" R- O: S# r  A
: \. N% R" c. _% X, W& v; G9 M
* h, w3 P: D6 x  h/ _    3. 2程序界面' v7 g! t+ A% ]7 X9 N4 W3 f% C
    0 e6 N1 l& k/ Y- ~6 @7 s5 j2 e
    运用VB可以方便的建立程序的主界面如图4所示,设计人员只需要在输人参数部分输人相应的参数,默认情况下,零件的参数如表1所示,活塞其它尺寸参数与输人参数之间的关系在输人参数下方有说明,然后点击创建就可以建立所要求的零件模型。# F; q2 r6 S  e  |' u9 p
   
2 G" ]) [) u- u( J4 C3 ]    3. 3程序代码的编写8 p- ?& ]+ E4 G
    5 S9 H$ \5 g! O' k" W# `# I8 Z
    对于程序代码的编写,简单实用的方法是先录制使用Solidworks用户界面执行的操作,即录制宏,获得宏操作代码,将其复制添加到程序中"创建"控件的click事件下,然后在代码中找到定义实体模型的尺寸值,用对应的尺寸参数代替这些尺寸值。编辑修改以达到程序要求,通过程序驱动设计变量实现模型的建立和更新,这种方法编程较简单,通用性好。具体代码如下:( f4 W. z' y7 `0 d5 i
    0 i; o9 o& ~  R: `  b9 c

8 T/ u6 [' b: m" i6 S8 M: M
$ R' W" {; r  m5 |
* O; u( p& r/ P4 e4 E* Y5 y
- M- e0 k" K+ H3 e8 R
, \+ n4 o+ c% y8 E    以上是模型创建的第一步的程序代码,其余的程序代码与此类似,无论是录制宏,获得宏操作代码,然后将其复制添加到程序所需部分编辑修改以达到程序要求,还是自己编译程序代码都要有以上的格式才能够运行。 基于Solidworks二次开发的活塞压缩机零件参数化设计 . B+ p  r5 t  O% G# I
发表时间: 2008-4-28 作者: 白亮亮*唐良宝 来源: 万方数据
" @, m$ t/ M2 |: l! f" T( h. U2 n关键字: Solidworks 二次开发 活塞压缩机 参数化设计  5 K3 G% D0 c- \7 p5 t% M: h0 s1 ~
利用visual basic6. 4来开发Solidworks,建立一个活塞压缩机零件的参数化建模体系,并通过实例说明具体设计的方法,达到缩短活塞压缩机设计周期的目的,比较基于Pro/E二次开发的参数化设计方法,利用visual basic6. 4来开发Solidworks更容易操作。/ S  d: U9 b/ z: W& h

: ~" ]& v3 v9 t  Q    3. 4程序运行结果
$ n" w" z8 i2 ~' Q/ j  H- C( i( D    ! t6 }- j1 J" j; X5 T5 @/ W+ ]
    运行程序,输人相应的参数,点击"尺寸计算",程序根据参数的约束关系表达式计算出其它的尺寸参数,然后点击"创建"建立与用户输入参数相对应的零件模型。创建的零件模型如图4。
7 c' H, i' U$ l9 p3 X: h& s+ @. p9 g8 J6 p

& v3 \9 c& P. y2 g8 Z' U
6 P9 o5 Q# L; p& N1 l0 m" _0 Y# k1 @  b" R* w- N3 O% x
    4总结
+ S7 ~) i+ u; G3 b$ T+ g   
0 {/ F7 L5 o; j& s    本文通过VB对中档建模软件solidworks进行二次开发,结合活塞压缩机设计的实际应用,实现了活塞压缩机零件设计过程的参数化、白动化。有效的缩短压缩机的开发和设计周期,大大的提高了工作效率,也使操作更加的简单方便。而且为压缩机进一步的CAE设计提供3D模型。
' l5 X% x) S2 y+ m: }+ M* `   
& k2 Q6 f2 F( t1 z8 O  d1 r    运用solidworks二次开发技术有以下特点:
' t8 W* f, y8 r- G3 f! t6 B    & |9 R6 w  X) K7 @7 ]
    (1)同样可以实现零件的参数化设计,对于压缩机设计人员,运用VB开发solidworks的方法更容易上手,能缩短参数化设计时间,提高效率;
: l) ?# V# |/ C  a4 E1 V   
2 g$ a& F6 g$ c; B$ `    (2)对于生成的三维零件,在solidworks中可以很方便的生成工程图。 , a" ?; Y& r# X9 a5 L' L
! o, l3 c2 J# o5 `+ c9 f2 I
3 Q% y7 G- B- I+ e% m/ s7 A
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-2-24 16:29 , Processed in 0.088842 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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