青华模具培训学校

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
发表于 2012-8-3 18:44 | 显示全部楼层 |阅读模式
! j" x+ H- S, @, \
  ], R& p4 n+ R" Q4 M* R
基于Solidworks二次开发的活塞压缩机零件参数化设计 - Z' V- _1 g! |- @9 ^( x* n. D, f* U
发表时间: 2008-4-28 作者: 白亮亮*唐良宝 来源: 万方数据
) m% m7 \$ p+ X# C关键字: Solidworks 二次开发 活塞压缩机 参数化设计  * |, w, x" ?7 C0 C
利用visual basic6. 4来开发Solidworks,建立一个活塞压缩机零件的参数化建模体系,并通过实例说明具体设计的方法,达到缩短活塞压缩机设计周期的目的,比较基于Pro/E二次开发的参数化设计方法,利用visual basic6. 4来开发Solidworks更容易操作。
: V4 r: C  T  \. H4 T% i    0引言" f0 o/ o8 W% M% `" y; ^7 J
    " a: K% ~" V/ W4 _1 w8 Z
    活塞压缩机是通用机械,在化工、制冷等领域有着广泛的应用。在对活塞压缩机进行系列设计过程中,经常会重复用到结构相同或相似而尺寸不同的一些零件,如活塞、连杆、连杆螺栓等。传统的设计方法是将每个零件都单独设计,占用了设计人员大部分的时间和精力,严重影响了新产品的开发周期,从而制约了企业的技术进步和持续发展。随着CAD技术在企业中应用的不断深人,各种CAD设计软件得到了广泛的应用。Solidworks软件是Solidworks公司推出的世界上第一个专门在windows环境下进行机械设计的三维CAD软件,Solidworks软件提供完整的、免费的开发工具(API ),用户可以用微软的Visual Basic, Visual C++或其它支持OLE的编程语言建立自己的应用方案,从而实现参数化设计的目的,有效缩短产品的设计周期。本文通过Solidworks的二次开发技术,研究分析了活塞压缩机主要零件的参数化设计。) j# W/ }8 |- ]( G# c/ e0 A
    ) E( l+ j1 j, m# }; H# W
    1  Solidworks二次开发技术) R( Q+ H& I0 I7 n  ^% m
   
5 l# ]3 G& h0 W8 u    SolidWorks软件支持OLE标准,可以通过软件中提供的完整的、免费的二次开发工具一SolidWorksAPI应用程序编程接口)完全实现OLE自动化。7 e: }* [$ E) F# l; D2 J
    . U2 V- o3 Z0 f" |5 q0 Y, L
    SolidWorks API是SolidWorks的OLE编程接口,为程序员提供了大量的OLE对象以及对其所拥有的方法、属性和事件(如图1)。程序员可以在通用的开发平台,如Visual Basic,VBA,Visual C ++和Delphi中对这些OLE对象及其方法和属性进行操作,从而在自己开发的应用软件中实现诸如生成直线、构造实体、检查曲面表面参数等几乎所有SolidWorks软件的现有功能。
- Q0 ~, b1 ?. ], z- w+ K/ o    4 e; ^7 l& b7 N3 r( b4 ~4 Z

; k7 {" Q4 S! c: ?5 G7 E! m- k3 y
+ {4 s  x& K/ Q/ m& W$ u
4 c! y" l: r* w: Q4 `9 K    其中最为常用的是ModelDoc2对象,此对象属于模型层,是SolidWorks的子对象,用ModelDoc2对象可以实现视图设置、轮廓线修改、参数控制、对象选择/打开和保存文档、生成编辑特征参量、生成框架等与实体模型相关的各种操作。- b2 H: I( R' Z& t# ~% J$ Z+ h) X; H
   
" D& U3 _" Z6 j. O9 {    任何支持OLE和COM的编程语言都可以作为SolidWorks的开发工具。最简单的二次开发工具是VBA,在涉及Excel时用VBA最为方便,VBA常用于录制宏,得到基本程序框架。易学易用的高级开发语言是VB,但功能有限。功能强大的语言是Visual C ++,但是人门较难。Delphi集中了VB和Visual C++两者的优点,学习过程中很容易上手,而且功能也非常强大,尤其在界面设计、数据库编程和网络编程方面更具有独到之处,但遗憾的是SolidWorks常常不支持Delphi + OLE。总之,各种软件都有各自的特点与不足,设计人员根据需要和要求选择合适的开发工具。
5 S/ N5 Q# P/ {$ R    3 M$ x+ D* c' K8 U7 n
    2利用VB开发的过程
$ `- v" j$ m& M5 t# {% m  D      T# `. o$ d* m8 @' ~+ ^
    本文通过VB编程软件来对Solid`Vorks进行二次开发,所以主要介绍VB的开发过程,具体的过程如下:
; I+ O1 t) ]. r$ h1 k5 |2 l* E   
- S0 ~: r3 ^+ m0 N% l$ X    (1)确定能反映零件特征的尺寸参数作为主要参数,并以此作为设计变量,同时确定尺寸相互关系。/ u3 T: [. c/ H4 Q- A+ p+ [3 x
    % W! n6 a) x" D3 y6 ^% T; S* W
    (2)提出设计意图,分析将要建立的模型,打开VB程序设计软件,根据设计意图创建窗体界面,创建程序主界面。/ q1 a/ x: Q$ _; X
    : X% i' A  G" v( O$ I
    (3)基于VB的。olidworks二次开发,最重要的是程序代码的编写。代码可以完全由开发者写人,即完全用程序实现三维模型的参数化设计以及模型的编辑,这种方法编程较为复杂,但可以实现对具有复杂形体的零件造型,这种方法要求开发者对solidworks API函数非常熟悉,但是solidworks API函数有几百个之多,对于初学者往往不容易掌握。一个简单实用的方法是先录制使用solidworks用户界面执行的操作,即录制宏,获得宏操作代码,将其复制添加到程序所需部分,然后编辑修改以达到程序要求,通过程序驱动设计变量实现模型的建立和更新,这种方法编程较简单,通用性好。6 |- w* p6 i/ Y9 O# n9 J
   
7 i/ y! {( u# |, F+ f    (4)通过给出不同的系列尺寸来自动生成零件的三维模型,从而任意实现类似零件三维模型的创建。
( c' k; \" @7 a( y0 G0 S% l- A0 x. L) T
    3实例分析
* S$ @# \" x! O1 w0 A) N    ; ]3 S. r) D9 z
    活塞压缩机的零件数量较多,可以将主要零部件和常用的标准零部件分别建立数据库,方便设计人员使用和添加扩充零件模型数量。这里仅对活塞压缩机中的活塞件的设计过程举例分析。 ! u5 c& t% n9 P: N  u; o" N
基于Solidworks二次开发的活塞压缩机零件参数化设计 6 Q0 O* |  Z# k7 W8 J+ {7 j& Y) O
( t$ ~5 E; ^+ d; n0 g/ Q
发表时间: 2008-4-28 作者: 白亮亮*唐良宝 来源: 万方数据 : M4 t& I4 R, Y" W& x! }
关键字: Solidworks 二次开发 活塞压缩机 参数化设计  / R/ L# _- [# L) k: J* _7 Z
利用visual basic6. 4来开发Solidworks,建立一个活塞压缩机零件的参数化建模体系,并通过实例说明具体设计的方法,达到缩短活塞压缩机设计周期的目的,比较基于Pro/E二次开发的参数化设计方法,利用visual basic6. 4来开发Solidworks更容易操作。
! X/ O. F) C3 b) O, a' H# B& T: o6 ?; f
    3. 1基本参数确定
4 O$ O) f3 Y- b7 u; q    % y5 a$ f& `' P
    活塞压缩机中采用的活塞基本结构型式有:筒形、盘形、级差式、组合式、柱塞式等。本文以全封闭式压缩机无环部筒形活塞为例分析参数化设计过程。# S2 U$ ?- L5 I
   
; q, J& H$ _) y% R
( X9 ~: O! C* s" {1 V0 s  _$ D2 k
2 O- S( Z0 n* P5 h- }/ t  w' K6 D3 Q$ C% U. r7 [7 j

/ A5 {6 Y1 r6 V8 ?+ d$ B* S& b    零件的实体建模,要求对实体进行系列化的参数化设计。根据实体的外形尺寸来选择适当的参数变量作为主要参数。如图2所示筒形活塞的基本参数为:活塞直径D、活塞销外径d、连杆宽度B等基本参数确定。
+ ?' _* j( l  a5 _    5 {' D% h; d1 x
    其它尺寸要素可以通过关系表达式确定。具体几何关系表达式如下! k$ O! \- Z  i' N
    . s9 i9 S% x3 C2 N; M9 a9 D
    活塞高度:H=CH·D2 J3 m: N; P9 y; y( j" C! h
    活塞销中心线高度:H1=CH1 · H1 k$ c" H. n" N; N. R3 R7 q& d( X
    筒形活塞内径分别为D1 = D-20,D2=D-10
* x, ?7 L% |8 k, B. S! f" P% [    活塞端面厚度;t=0.05xD
" g# L  u$ k+ _  f1 B    ! n/ P/ g; ]3 y- Z5 ?5 O
    其中CH,CH1分别为活塞高度系数和活塞销中心线高度系数,其中CH取值范围0.6~1.3,CH1的取值范围0. 4~0.5。
4 h' V6 Z" [% w7 e' @6 P% h    / E- r5 i" ~2 E$ n

2 D/ P: X0 Z$ }4 ?( e$ i+ x4 F; z7 l
6 ?1 G* J  e5 _1 N) M, ^( D: W
. y5 Z: B( J8 L) H3 W% t
, _' l* ^+ b$ _, n: G" V
    3. 2程序界面# Z3 L" u/ B! I- N0 H% ?1 _
   
; N8 Z8 ]: ]  O5 X* J    运用VB可以方便的建立程序的主界面如图4所示,设计人员只需要在输人参数部分输人相应的参数,默认情况下,零件的参数如表1所示,活塞其它尺寸参数与输人参数之间的关系在输人参数下方有说明,然后点击创建就可以建立所要求的零件模型。
3 ?6 B. ]) A' K4 S6 Y1 ]   
* I+ c6 g, [4 u! k    3. 3程序代码的编写4 x5 o0 C4 o( |5 F
   
4 R* P, R: q) u! ?3 {    对于程序代码的编写,简单实用的方法是先录制使用Solidworks用户界面执行的操作,即录制宏,获得宏操作代码,将其复制添加到程序中"创建"控件的click事件下,然后在代码中找到定义实体模型的尺寸值,用对应的尺寸参数代替这些尺寸值。编辑修改以达到程序要求,通过程序驱动设计变量实现模型的建立和更新,这种方法编程较简单,通用性好。具体代码如下:0 f& ]; K: p% h9 \
    # t; @) q" _& h( \' |& ^9 p
8 o- V+ D" P4 G2 ?' d- k
$ m3 m9 M3 _& D; {4 u# o& t# J. A2 i
. A; ?! }7 U1 T( l# T4 o  l' x

2 l9 X% W* R+ `; V
7 k; }; {2 H. y' ~    以上是模型创建的第一步的程序代码,其余的程序代码与此类似,无论是录制宏,获得宏操作代码,然后将其复制添加到程序所需部分编辑修改以达到程序要求,还是自己编译程序代码都要有以上的格式才能够运行。 基于Solidworks二次开发的活塞压缩机零件参数化设计
5 F/ s) S4 {! J, [* ?0 b1 b. i2 s发表时间: 2008-4-28 作者: 白亮亮*唐良宝 来源: 万方数据 0 R7 F( f6 n( Z8 X" @
关键字: Solidworks 二次开发 活塞压缩机 参数化设计  ) s& ]" d; r& h2 {( E
利用visual basic6. 4来开发Solidworks,建立一个活塞压缩机零件的参数化建模体系,并通过实例说明具体设计的方法,达到缩短活塞压缩机设计周期的目的,比较基于Pro/E二次开发的参数化设计方法,利用visual basic6. 4来开发Solidworks更容易操作。
) r+ \0 Z0 l' O. w5 [2 @$ T$ ~- {$ \- X, u. R
    3. 4程序运行结果
/ r! l2 Q* K# A1 \6 `  P% ]' q   
3 B6 J* s0 E% E5 r- |- @    运行程序,输人相应的参数,点击"尺寸计算",程序根据参数的约束关系表达式计算出其它的尺寸参数,然后点击"创建"建立与用户输入参数相对应的零件模型。创建的零件模型如图4。
4 f  F$ B6 S$ ?" q0 S( I0 F1 x
$ w/ _0 \* ]+ D" Y( o1 B- \4 ]6 U( o6 a- P$ N

6 S% o% y. B* T" F5 T. V6 @5 _! q6 S. q
    4总结
- F3 E* K; N# d* a    . q& L6 |. ~- r0 \7 L7 ]% E4 J
    本文通过VB对中档建模软件solidworks进行二次开发,结合活塞压缩机设计的实际应用,实现了活塞压缩机零件设计过程的参数化、白动化。有效的缩短压缩机的开发和设计周期,大大的提高了工作效率,也使操作更加的简单方便。而且为压缩机进一步的CAE设计提供3D模型。' ^! d8 e, V8 k
    7 e5 V+ I0 E5 G+ U
    运用solidworks二次开发技术有以下特点:3 @0 s; Y" G9 i; V
   
) p2 \4 f+ h9 K- r) T1 ]0 M    (1)同样可以实现零件的参数化设计,对于压缩机设计人员,运用VB开发solidworks的方法更容易上手,能缩短参数化设计时间,提高效率;' g. O3 I7 ~4 Q+ C: W& U8 l, W% B% w
   
; u: i$ z7 s5 B4 T    (2)对于生成的三维零件,在solidworks中可以很方便的生成工程图。
9 k" N+ g8 c- g+ c2 z8 y" g3 |# T3 c
( a, G# H$ }$ n4 ~& h; @; |  N5 T& N& O
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-7-12 11:49 , Processed in 0.350854 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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