青华模具培训学校

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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

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

& m1 D, f/ |/ G. T" g
9 \% G* C# g6 ]基于Solidworks二次开发的活塞压缩机零件参数化设计 + U% ~3 ~( n* K; E4 ]* @
发表时间: 2008-4-28 作者: 白亮亮*唐良宝 来源: 万方数据 * i3 `4 m2 K  {7 F7 k
关键字: Solidworks 二次开发 活塞压缩机 参数化设计  
2 O, @. S7 n& D4 w3 T! q8 O, G8 ^利用visual basic6. 4来开发Solidworks,建立一个活塞压缩机零件的参数化建模体系,并通过实例说明具体设计的方法,达到缩短活塞压缩机设计周期的目的,比较基于Pro/E二次开发的参数化设计方法,利用visual basic6. 4来开发Solidworks更容易操作。
6 R) o3 X; r& k; C4 p    0引言
& g$ N# X% a, U0 G    5 o8 ?, i' J! ~$ N! w1 m
    活塞压缩机是通用机械,在化工、制冷等领域有着广泛的应用。在对活塞压缩机进行系列设计过程中,经常会重复用到结构相同或相似而尺寸不同的一些零件,如活塞、连杆、连杆螺栓等。传统的设计方法是将每个零件都单独设计,占用了设计人员大部分的时间和精力,严重影响了新产品的开发周期,从而制约了企业的技术进步和持续发展。随着CAD技术在企业中应用的不断深人,各种CAD设计软件得到了广泛的应用。Solidworks软件是Solidworks公司推出的世界上第一个专门在windows环境下进行机械设计的三维CAD软件,Solidworks软件提供完整的、免费的开发工具(API ),用户可以用微软的Visual Basic, Visual C++或其它支持OLE的编程语言建立自己的应用方案,从而实现参数化设计的目的,有效缩短产品的设计周期。本文通过Solidworks的二次开发技术,研究分析了活塞压缩机主要零件的参数化设计。
: K1 J( {' D" y" A  w* ^# o+ @) q   
" w+ h" c+ W, @- k9 w5 u' P    1  Solidworks二次开发技术4 C& z- j3 d+ _, D6 L. I, O  M
   
2 V* D4 w8 ~+ l- `    SolidWorks软件支持OLE标准,可以通过软件中提供的完整的、免费的二次开发工具一SolidWorksAPI应用程序编程接口)完全实现OLE自动化。: f" t5 t) o$ n. t8 T( {  `2 o! p
   
; Z6 U1 {& _: P    SolidWorks API是SolidWorks的OLE编程接口,为程序员提供了大量的OLE对象以及对其所拥有的方法、属性和事件(如图1)。程序员可以在通用的开发平台,如Visual Basic,VBA,Visual C ++和Delphi中对这些OLE对象及其方法和属性进行操作,从而在自己开发的应用软件中实现诸如生成直线、构造实体、检查曲面表面参数等几乎所有SolidWorks软件的现有功能。
3 ?8 N' |  H1 A6 y7 m    7 q; z4 s; l& T( j
- Y1 W7 e& |1 u# T: s+ [6 c  L

& ]; l$ R( U! w! p/ C' _& A, B# |% Y( [
    其中最为常用的是ModelDoc2对象,此对象属于模型层,是SolidWorks的子对象,用ModelDoc2对象可以实现视图设置、轮廓线修改、参数控制、对象选择/打开和保存文档、生成编辑特征参量、生成框架等与实体模型相关的各种操作。! I: ~' i# v5 A; O& Z8 z9 H% R4 m# |
   
# m  P( B0 c3 c6 e3 O" U    任何支持OLE和COM的编程语言都可以作为SolidWorks的开发工具。最简单的二次开发工具是VBA,在涉及Excel时用VBA最为方便,VBA常用于录制宏,得到基本程序框架。易学易用的高级开发语言是VB,但功能有限。功能强大的语言是Visual C ++,但是人门较难。Delphi集中了VB和Visual C++两者的优点,学习过程中很容易上手,而且功能也非常强大,尤其在界面设计、数据库编程和网络编程方面更具有独到之处,但遗憾的是SolidWorks常常不支持Delphi + OLE。总之,各种软件都有各自的特点与不足,设计人员根据需要和要求选择合适的开发工具。
, Y  C" w1 k. y. K7 P8 n+ d. G   
3 h+ i6 f4 S- ^7 [3 B9 O. S    2利用VB开发的过程
; k9 p7 n$ P5 c0 B' W8 r    2 F6 o4 m! ^; G, y# J! ?
    本文通过VB编程软件来对Solid`Vorks进行二次开发,所以主要介绍VB的开发过程,具体的过程如下:  W; |. x$ u5 ?7 }' i, q0 @0 w
   
2 _8 t6 ^0 @7 K2 D  O4 e    (1)确定能反映零件特征的尺寸参数作为主要参数,并以此作为设计变量,同时确定尺寸相互关系。* W# R! j" y5 Q+ b9 f% O
    5 [5 ~4 @4 \! w5 M
    (2)提出设计意图,分析将要建立的模型,打开VB程序设计软件,根据设计意图创建窗体界面,创建程序主界面。
& Z, o& q( {+ X3 `) g* F   
# `2 P7 H8 J# {7 J! T: U    (3)基于VB的。olidworks二次开发,最重要的是程序代码的编写。代码可以完全由开发者写人,即完全用程序实现三维模型的参数化设计以及模型的编辑,这种方法编程较为复杂,但可以实现对具有复杂形体的零件造型,这种方法要求开发者对solidworks API函数非常熟悉,但是solidworks API函数有几百个之多,对于初学者往往不容易掌握。一个简单实用的方法是先录制使用solidworks用户界面执行的操作,即录制宏,获得宏操作代码,将其复制添加到程序所需部分,然后编辑修改以达到程序要求,通过程序驱动设计变量实现模型的建立和更新,这种方法编程较简单,通用性好。
3 [2 I+ r7 J' g2 O3 I4 H; D   
: u4 N0 F  F, A! C' E& e    (4)通过给出不同的系列尺寸来自动生成零件的三维模型,从而任意实现类似零件三维模型的创建。8 k, r: b& _. N8 L9 [7 n& j5 _0 J, l, |
8 I) Z1 F7 U4 g0 j5 s) A
    3实例分析
" V# t8 r7 _  {$ e: m: N   
& o7 S, u3 l% f0 }. C# w3 D    活塞压缩机的零件数量较多,可以将主要零部件和常用的标准零部件分别建立数据库,方便设计人员使用和添加扩充零件模型数量。这里仅对活塞压缩机中的活塞件的设计过程举例分析。 - {) s! G/ j2 D6 l3 d& ~# o- n
基于Solidworks二次开发的活塞压缩机零件参数化设计 ' Y) ~- N- U3 ?

  |- P/ y9 W$ r( W发表时间: 2008-4-28 作者: 白亮亮*唐良宝 来源: 万方数据 8 M1 Q7 L  X/ o& v
关键字: Solidworks 二次开发 活塞压缩机 参数化设计  
& a  b# x( F& z5 w* @利用visual basic6. 4来开发Solidworks,建立一个活塞压缩机零件的参数化建模体系,并通过实例说明具体设计的方法,达到缩短活塞压缩机设计周期的目的,比较基于Pro/E二次开发的参数化设计方法,利用visual basic6. 4来开发Solidworks更容易操作。
+ |; C6 V& u' I: p; Z# [
# ?3 _! _# G& ^% d: ^' A; v1 x    3. 1基本参数确定4 T( S  n, i1 _  I1 c* D
    9 V( M0 ^2 p$ F$ x, m. @
    活塞压缩机中采用的活塞基本结构型式有:筒形、盘形、级差式、组合式、柱塞式等。本文以全封闭式压缩机无环部筒形活塞为例分析参数化设计过程。) R' o% c  ^% a+ F, i
   
* G4 N7 |1 V/ y3 ]7 S
' `; O7 G/ r7 M' u4 [; S+ H; ]/ J3 B& t. _; z* m7 D
5 c" ~$ U7 u) g1 x9 H

: m. u) E) U* Q0 T$ Z1 m+ ?    零件的实体建模,要求对实体进行系列化的参数化设计。根据实体的外形尺寸来选择适当的参数变量作为主要参数。如图2所示筒形活塞的基本参数为:活塞直径D、活塞销外径d、连杆宽度B等基本参数确定。8 D/ o0 @* b$ q& A
    6 A: E1 ~- G8 A6 P# ^; E2 I( H
    其它尺寸要素可以通过关系表达式确定。具体几何关系表达式如下
5 d; r% f( V+ c% _* S    4 O+ N/ P# r+ r$ O
    活塞高度:H=CH·D
  w2 c% r# ]6 ]& e5 {    活塞销中心线高度:H1=CH1 · H
) {/ _2 x5 H1 w3 s3 g: M    筒形活塞内径分别为D1 = D-20,D2=D-10( J* e( i) V) v- z+ Q& r, ~2 E
    活塞端面厚度;t=0.05xD
5 C" ^- Y' T5 ?* X9 T   
# F+ U' B  ?! v, v7 g3 z6 D    其中CH,CH1分别为活塞高度系数和活塞销中心线高度系数,其中CH取值范围0.6~1.3,CH1的取值范围0. 4~0.5。
( Q8 G3 U, i+ |9 ~    # Z6 @5 w; f% u9 T

5 J) t; K0 {$ ]8 v. n  `7 ]0 m) K; L3 X. H

5 p, G' F8 @5 g6 m  B4 F# ^2 q/ p5 M) j: P1 u# u; [

$ Q; J* ~& s, |% q* t    3. 2程序界面5 a' z9 z6 {1 R; }9 [
   
+ z: I* y4 B4 S- P    运用VB可以方便的建立程序的主界面如图4所示,设计人员只需要在输人参数部分输人相应的参数,默认情况下,零件的参数如表1所示,活塞其它尺寸参数与输人参数之间的关系在输人参数下方有说明,然后点击创建就可以建立所要求的零件模型。
6 A& {3 }- d! T0 {$ A, I" O   
+ ?9 M/ N' L7 ?& K$ C9 m    3. 3程序代码的编写
" b. l( T  {. j' \  M( j0 i   
. R* Y/ t# L) l8 g" C    对于程序代码的编写,简单实用的方法是先录制使用Solidworks用户界面执行的操作,即录制宏,获得宏操作代码,将其复制添加到程序中"创建"控件的click事件下,然后在代码中找到定义实体模型的尺寸值,用对应的尺寸参数代替这些尺寸值。编辑修改以达到程序要求,通过程序驱动设计变量实现模型的建立和更新,这种方法编程较简单,通用性好。具体代码如下:/ H! s: r$ ]0 l6 P$ n4 e
    ) {& P! d! Q+ |1 ]9 T9 U2 u5 Q( y

) y$ Z: y8 e4 C1 O$ N% C1 }9 Q9 x: M6 a; K( j  n

' y6 H( t; X# x0 W& R* L: g; J
3 R0 m: T* j: w3 z! i* p4 S7 {1 L; E6 C7 \
    以上是模型创建的第一步的程序代码,其余的程序代码与此类似,无论是录制宏,获得宏操作代码,然后将其复制添加到程序所需部分编辑修改以达到程序要求,还是自己编译程序代码都要有以上的格式才能够运行。 基于Solidworks二次开发的活塞压缩机零件参数化设计 ) _, [' l5 {$ x# b! [; G6 W
发表时间: 2008-4-28 作者: 白亮亮*唐良宝 来源: 万方数据 3 J' C7 ?4 `( q! m
关键字: Solidworks 二次开发 活塞压缩机 参数化设计  
/ A! l! y# P$ M* {利用visual basic6. 4来开发Solidworks,建立一个活塞压缩机零件的参数化建模体系,并通过实例说明具体设计的方法,达到缩短活塞压缩机设计周期的目的,比较基于Pro/E二次开发的参数化设计方法,利用visual basic6. 4来开发Solidworks更容易操作。0 e9 V# i- L/ r4 s$ q& n

7 r. e3 n3 a' `    3. 4程序运行结果
. R! G' A+ _# p# c   
6 ^  T9 I- x8 u* l" d2 x    运行程序,输人相应的参数,点击"尺寸计算",程序根据参数的约束关系表达式计算出其它的尺寸参数,然后点击"创建"建立与用户输入参数相对应的零件模型。创建的零件模型如图4。+ V' a* f# k1 N! z! A/ A
, X' \+ r& v2 ?. V) r* u
$ p# L6 j. n* X5 v
8 z- i9 |; ~: Y; q' p" y  j

- p. u+ Y  I& Z# h    4总结7 j3 }0 }+ p! K8 q/ v4 g
    : ]3 I0 J/ g6 B' }8 ~( n. z( B
    本文通过VB对中档建模软件solidworks进行二次开发,结合活塞压缩机设计的实际应用,实现了活塞压缩机零件设计过程的参数化、白动化。有效的缩短压缩机的开发和设计周期,大大的提高了工作效率,也使操作更加的简单方便。而且为压缩机进一步的CAE设计提供3D模型。: }  j  z" ^9 [, M* Z! X9 I
    % N7 h% N6 G1 z; H
    运用solidworks二次开发技术有以下特点:# w) K3 v1 V. p' P' l1 q
    0 Y5 y% d: c4 {
    (1)同样可以实现零件的参数化设计,对于压缩机设计人员,运用VB开发solidworks的方法更容易上手,能缩短参数化设计时间,提高效率;
/ W1 g$ c) `) \    4 _! a$ k( ^1 H6 I1 L( [7 S. X5 @5 W
    (2)对于生成的三维零件,在solidworks中可以很方便的生成工程图。
+ Z# O2 T5 {7 N1 R6 X" y; c. a+ v+ Z& e

+ i$ E! ?5 l3 z) X& |# Y. c) {, o
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-1-11 09:10 , Processed in 0.051120 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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