青华模具培训学校

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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

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

6 j! i/ p2 t4 n/ s# L
4 e* L3 H7 j3 x: X, c+ x基于Solidworks二次开发的活塞压缩机零件参数化设计 , K0 X: l3 B/ O6 e( i' h) f
发表时间: 2008-4-28 作者: 白亮亮*唐良宝 来源: 万方数据 1 r; s& G/ T% {0 X& B
关键字: Solidworks 二次开发 活塞压缩机 参数化设计  % x$ Q, Q' _( [; M! L/ B0 ^5 b' L$ Y
利用visual basic6. 4来开发Solidworks,建立一个活塞压缩机零件的参数化建模体系,并通过实例说明具体设计的方法,达到缩短活塞压缩机设计周期的目的,比较基于Pro/E二次开发的参数化设计方法,利用visual basic6. 4来开发Solidworks更容易操作。  V/ B. e- X3 U1 ~, Y- }+ W9 z
    0引言
/ Y4 {* m! i* U* A- ?   
: O4 a6 l. {6 u+ F, j    活塞压缩机是通用机械,在化工、制冷等领域有着广泛的应用。在对活塞压缩机进行系列设计过程中,经常会重复用到结构相同或相似而尺寸不同的一些零件,如活塞、连杆、连杆螺栓等。传统的设计方法是将每个零件都单独设计,占用了设计人员大部分的时间和精力,严重影响了新产品的开发周期,从而制约了企业的技术进步和持续发展。随着CAD技术在企业中应用的不断深人,各种CAD设计软件得到了广泛的应用。Solidworks软件是Solidworks公司推出的世界上第一个专门在windows环境下进行机械设计的三维CAD软件,Solidworks软件提供完整的、免费的开发工具(API ),用户可以用微软的Visual Basic, Visual C++或其它支持OLE的编程语言建立自己的应用方案,从而实现参数化设计的目的,有效缩短产品的设计周期。本文通过Solidworks的二次开发技术,研究分析了活塞压缩机主要零件的参数化设计。
: L* t! H! X5 J0 S: |    4 I) v5 z( l, a, k) V
    1  Solidworks二次开发技术
2 k* T7 o+ E- s+ d  w4 A6 h4 }    ' I4 F' J$ F3 [
    SolidWorks软件支持OLE标准,可以通过软件中提供的完整的、免费的二次开发工具一SolidWorksAPI应用程序编程接口)完全实现OLE自动化。/ D$ k2 x: m/ p: ], _8 F9 w6 q
    " M( u# q# Q, Q9 c+ ^% c1 l
    SolidWorks API是SolidWorks的OLE编程接口,为程序员提供了大量的OLE对象以及对其所拥有的方法、属性和事件(如图1)。程序员可以在通用的开发平台,如Visual Basic,VBA,Visual C ++和Delphi中对这些OLE对象及其方法和属性进行操作,从而在自己开发的应用软件中实现诸如生成直线、构造实体、检查曲面表面参数等几乎所有SolidWorks软件的现有功能。
) I6 S8 ~5 L$ T% \- v    . O% M1 |' H1 y6 d4 a3 Q
  W' ^* P9 u9 C; x/ a
: g6 ^  N) H5 F' i" l

" S+ [4 U" b5 a    其中最为常用的是ModelDoc2对象,此对象属于模型层,是SolidWorks的子对象,用ModelDoc2对象可以实现视图设置、轮廓线修改、参数控制、对象选择/打开和保存文档、生成编辑特征参量、生成框架等与实体模型相关的各种操作。
& ?& @  h7 }* C1 B7 J    5 j0 J/ Q/ \$ A5 w% q" R) y
    任何支持OLE和COM的编程语言都可以作为SolidWorks的开发工具。最简单的二次开发工具是VBA,在涉及Excel时用VBA最为方便,VBA常用于录制宏,得到基本程序框架。易学易用的高级开发语言是VB,但功能有限。功能强大的语言是Visual C ++,但是人门较难。Delphi集中了VB和Visual C++两者的优点,学习过程中很容易上手,而且功能也非常强大,尤其在界面设计、数据库编程和网络编程方面更具有独到之处,但遗憾的是SolidWorks常常不支持Delphi + OLE。总之,各种软件都有各自的特点与不足,设计人员根据需要和要求选择合适的开发工具。
3 j7 Y& q2 h% o0 l$ E' ~$ Q- o+ l+ c    5 D4 H, @! e1 Y$ L9 m2 W
    2利用VB开发的过程
2 D" H$ V, x9 l! O# x    9 R2 _1 R. I3 {
    本文通过VB编程软件来对Solid`Vorks进行二次开发,所以主要介绍VB的开发过程,具体的过程如下:
& z+ z3 n, m6 x- |+ H   
" L- l- D* [: O3 Q- O    (1)确定能反映零件特征的尺寸参数作为主要参数,并以此作为设计变量,同时确定尺寸相互关系。8 M2 {) h3 v6 L9 J4 L  o
   
( w  S" y: r0 a/ `    (2)提出设计意图,分析将要建立的模型,打开VB程序设计软件,根据设计意图创建窗体界面,创建程序主界面。/ W* T0 n* ?/ @  d- s
    , h- |) o8 t" I% G% r$ n
    (3)基于VB的。olidworks二次开发,最重要的是程序代码的编写。代码可以完全由开发者写人,即完全用程序实现三维模型的参数化设计以及模型的编辑,这种方法编程较为复杂,但可以实现对具有复杂形体的零件造型,这种方法要求开发者对solidworks API函数非常熟悉,但是solidworks API函数有几百个之多,对于初学者往往不容易掌握。一个简单实用的方法是先录制使用solidworks用户界面执行的操作,即录制宏,获得宏操作代码,将其复制添加到程序所需部分,然后编辑修改以达到程序要求,通过程序驱动设计变量实现模型的建立和更新,这种方法编程较简单,通用性好。$ E2 i5 Y" H( z  U* y
    ! g5 N# x9 d! j! ^
    (4)通过给出不同的系列尺寸来自动生成零件的三维模型,从而任意实现类似零件三维模型的创建。/ ~# n& B+ c/ Q5 O' J: n% }/ |

0 \) q' B" p; }6 |' B8 B! {- `    3实例分析' `$ G" k/ S/ b. {7 G
   
  h9 Z; J0 H- E  D    活塞压缩机的零件数量较多,可以将主要零部件和常用的标准零部件分别建立数据库,方便设计人员使用和添加扩充零件模型数量。这里仅对活塞压缩机中的活塞件的设计过程举例分析。 3 d) a, t3 U4 Z7 v4 S& ]
基于Solidworks二次开发的活塞压缩机零件参数化设计 / g7 l, g: L+ T: q+ A, I: {
9 W/ y( C5 I. h; a9 H' S6 }
发表时间: 2008-4-28 作者: 白亮亮*唐良宝 来源: 万方数据 ( o- C7 s/ K8 H/ h9 v- q
关键字: Solidworks 二次开发 活塞压缩机 参数化设计  
3 H+ T0 H$ s) @! x1 @利用visual basic6. 4来开发Solidworks,建立一个活塞压缩机零件的参数化建模体系,并通过实例说明具体设计的方法,达到缩短活塞压缩机设计周期的目的,比较基于Pro/E二次开发的参数化设计方法,利用visual basic6. 4来开发Solidworks更容易操作。; n. v: \  n' `/ H
6 H7 [. S' q) U7 z6 I
    3. 1基本参数确定$ @8 m8 L) R7 {
    6 F* t9 @" u! N
    活塞压缩机中采用的活塞基本结构型式有:筒形、盘形、级差式、组合式、柱塞式等。本文以全封闭式压缩机无环部筒形活塞为例分析参数化设计过程。% L: [; z& y: Z4 X' i
    4 ^+ x4 ^* V- p
; h5 F% e0 Q5 j
, {. b8 m( ^3 ]' ~. h
% A* L4 l: M* k/ ^' y' h) B

; Y/ Z: K8 v" v* y# Z    零件的实体建模,要求对实体进行系列化的参数化设计。根据实体的外形尺寸来选择适当的参数变量作为主要参数。如图2所示筒形活塞的基本参数为:活塞直径D、活塞销外径d、连杆宽度B等基本参数确定。
4 W" A. S7 Q# q5 Z2 t& m      m* U5 x( T; {$ J0 s/ p, e
    其它尺寸要素可以通过关系表达式确定。具体几何关系表达式如下
8 V. @1 I- ]! {" ^( ]   
' D/ O* M  U6 q9 v' M3 B" g4 C    活塞高度:H=CH·D
8 F; ?6 \- V5 b' A    活塞销中心线高度:H1=CH1 · H, o' X' c; h- W) |. m" I
    筒形活塞内径分别为D1 = D-20,D2=D-106 V2 M( A$ L$ P' k7 @
    活塞端面厚度;t=0.05xD
, u( r5 X( S& ?$ G# p* R    4 i% F8 o( ?) J" Y8 o4 R
    其中CH,CH1分别为活塞高度系数和活塞销中心线高度系数,其中CH取值范围0.6~1.3,CH1的取值范围0. 4~0.5。
3 Z* W8 F+ {4 w/ y& \    + J+ u4 t6 z+ m) h6 U2 y5 j- ?$ i
  X; u9 v" `# k: j, Q# O4 y& S
6 x' h- K2 I6 H* x
2 E$ U5 w, P: N4 M% B+ X
" B% t  u" {: X7 R# O' S
; @$ n6 h2 ?% G) I6 Q; E1 p
    3. 2程序界面: A8 D) f; C: M4 \0 R3 Q! Z) Z
   
1 j! k) ~1 g( F& x" m3 n    运用VB可以方便的建立程序的主界面如图4所示,设计人员只需要在输人参数部分输人相应的参数,默认情况下,零件的参数如表1所示,活塞其它尺寸参数与输人参数之间的关系在输人参数下方有说明,然后点击创建就可以建立所要求的零件模型。7 O6 L2 Y' U+ ]+ J- E" }  ^; ^
    ' k5 r$ I( g2 K; R5 A
    3. 3程序代码的编写
* q4 q) ^0 s$ B' L4 I    " B' f% \- R: f% G/ S  ^
    对于程序代码的编写,简单实用的方法是先录制使用Solidworks用户界面执行的操作,即录制宏,获得宏操作代码,将其复制添加到程序中"创建"控件的click事件下,然后在代码中找到定义实体模型的尺寸值,用对应的尺寸参数代替这些尺寸值。编辑修改以达到程序要求,通过程序驱动设计变量实现模型的建立和更新,这种方法编程较简单,通用性好。具体代码如下:' t. P' c0 t4 w/ Z* P! B+ c5 n8 j
    0 r" G' I! c9 D1 G  [; W& X! b- m

! N0 W' I: `! D) x+ q! F" x, o0 [2 [! t

6 f4 T0 j( i( C" `9 O/ f3 ]! P) B3 @) }+ |7 \

- Y# ~1 a; x0 O. y( V. O* ^    以上是模型创建的第一步的程序代码,其余的程序代码与此类似,无论是录制宏,获得宏操作代码,然后将其复制添加到程序所需部分编辑修改以达到程序要求,还是自己编译程序代码都要有以上的格式才能够运行。 基于Solidworks二次开发的活塞压缩机零件参数化设计
* v- m9 O& E2 i; Y7 M+ Q发表时间: 2008-4-28 作者: 白亮亮*唐良宝 来源: 万方数据 ; j9 A/ h! p" L$ m9 \
关键字: Solidworks 二次开发 活塞压缩机 参数化设计  % I$ V( D$ K8 o) \) r
利用visual basic6. 4来开发Solidworks,建立一个活塞压缩机零件的参数化建模体系,并通过实例说明具体设计的方法,达到缩短活塞压缩机设计周期的目的,比较基于Pro/E二次开发的参数化设计方法,利用visual basic6. 4来开发Solidworks更容易操作。$ r; q% }( v/ d% o$ P
6 N' t, Z7 e* f2 R3 F0 L
    3. 4程序运行结果
) e5 \/ V* `0 H" h  a! x: z4 ?    ! q1 N2 Q$ I% N1 y7 t3 l
    运行程序,输人相应的参数,点击"尺寸计算",程序根据参数的约束关系表达式计算出其它的尺寸参数,然后点击"创建"建立与用户输入参数相对应的零件模型。创建的零件模型如图4。
5 I* L  ~: o' ^* t* }# v( P8 W9 y" L) v' d

9 A3 Q$ Z# L1 L* E0 g7 {: w/ n1 r  ?* a

& A) c9 m$ e, d2 N" q, u    4总结+ @  i) N5 Q/ N
   
5 K' o" e/ M$ c4 r: l! |    本文通过VB对中档建模软件solidworks进行二次开发,结合活塞压缩机设计的实际应用,实现了活塞压缩机零件设计过程的参数化、白动化。有效的缩短压缩机的开发和设计周期,大大的提高了工作效率,也使操作更加的简单方便。而且为压缩机进一步的CAE设计提供3D模型。: A4 d9 R! B. j
    ! W1 x% I8 Q: S8 t$ K% l
    运用solidworks二次开发技术有以下特点:4 B' K; k  L! k5 m, ^
   
* N9 B! [% M& W2 r' H    (1)同样可以实现零件的参数化设计,对于压缩机设计人员,运用VB开发solidworks的方法更容易上手,能缩短参数化设计时间,提高效率;
- N. B0 x4 R% S/ l% p: }/ n    ' p* ?) Z3 P  @9 Y0 }' l& _
    (2)对于生成的三维零件,在solidworks中可以很方便的生成工程图。
0 _" c" t+ L$ Z* I2 J4 B1 g; W; A
# j' s% J. ]# n
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-4-4 10:24 , Processed in 0.058561 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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