找回密码
 注册会员

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 293|回复: 0

基于AutoCAD2000的螺纹CAD系统开发技术初探

[复制链接]
发表于 2010-9-13 22:00:57 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转磨削论坛

您需要 登录 才可以下载或查看,没有账号?注册会员

×

  随着全球工业化的发展,CAD技术应用日臻成熟,应用领域不断扩大,几乎渗透到各个设计领域,使传统的设计理论及设计方法发生了根本的改变。在机械行业,随着现代化生产的不断发展,机械设计中标准件的数量日渐增多。虽然借助计算机设计人员可初步甩掉图板,使工作量有所减轻,但是大量的查表、计算及作图仍然使设计工作十分繁重。此外,用计算机辅助绘图必须要求设计者具备一定的应用绘图软件的水平,这对那些稍老一些的设计工作者而言就有点勉为其难。而建立操作简单的机械零件的标准件库,能很好的解决这一问题,从而起到简化产品设计过程,缩短产品设计周期,降低产品设计成本,提高产品设计质量的重要作用。

2 e; }, s4 A2 h$ D, j7 c, e" w1 R7 E7 [% [( u

  本文以螺纹联接设计为例,探讨如何利用AutoCAD和基于AutoCAD平台的高级编程语言研制一套能在微机上运行的集零件的设计、校核及绘图一体化的软件系统的方法。而其他零件则可仿照这种方法建造其标准件库。这样一来,工程设计人员仅需通过输入一些必要的参数即可通过计算机自动生成并打印设计说明书和零件图。

) o0 C' W7 E3 {+ M: B& g + q- b, J- M; [2 x; t9 S- }8 l% v5 e

  一、螺纹联接CAD系统的组成及相关技术螺纹联接CAD系统的组成根据螺纹联接的种类,结合螺纹联接设计与绘图在工程CAD中的应用情况,将螺纹联接的设计及绘制零件图分为四大模块。

: a ~5 R9 G) J& n8 s7 m4 J% b ' ^+ ]+ c/ R0 m, H, r+ P

  螺纹联接CAD的相关技术

9 F5 f; n9 A" x3 i/ M & s0 d* z3 M- d( M; r5 i

  螺纹联接CAD的技术要点是:软件开发语言:C++语言,AutoLISP,DCL;软件开发平台:AutoCAD2000;软件硬件环境:486或586以上微机一台。

5 }: ~* i5 n7 h& O$ ~+ g : r4 C! w3 m9 i6 l$ `) |7 i

  AutoLISP是一种运行在AutoCAD环境下或称为内嵌在AutoCAD下的LISP编程语言。它具有较强的图形开发功能。该语言与AutoCAD环境融为一体,功能强大,是二次开发的有效工具。利用AutoLISP语言编程可以实现对AutoCAD当前图形数据库进行直接访问和修改,可以随意扩大图形编辑修改功能。可结合国际标准、国家标准、部颁标准或厂标建立标准件及非标准件的图形库,也可结合专业开发各种实用的CAD软件系统,例如本文所研究的螺纹联接CAD系统。利用AutoLISP语言可实现参数化绘图程序设计。因此它是笔者开发本系统所采用的主要语言。不过,由于AutoLISP语言容量有限,且嵌套不能太深,复杂的函数解算宜采用C++语言完成。此外,C++在接口设计、数据读取与转换以及参数化程序设计方面也具有优势。基于此,笔者利用C++语言辅助开发部分参数化绘图程序。

, X R: v. e9 A0 b4 Q( }/ }! D' H7 B- Y! ]9 O; F" W

  根据螺纹联接CAD的组成和功能,利用AutoLISP语言及C++语言编制一个集螺纹联接选型、强度计算、校核计算、绘图为一体的程序模块。最后可根据用户的要求存盘打印设计说明书和零件图。所编制的程序采用模块化思想,尽量显示其可读性、交互性和扩展性。

0 |! a4 y( K0 w9 p" o) c/ B6 ~7 `" A n8 {* u" `6 a7 j

  对话框是目前最为流行的一种人机交互界面。它支持以光栅扫描显示器和鼠标为代表的输入设备,向用户提供图形与文本并存的可视化环境,操作自然、简洁。本系统使用户界面尽量傻瓜化,用户只需在提示处输入参数,即可实现零件的设计、校核计算以及自动绘制零件图。界面设计采用DCL(DIALOG CONTROL LANGAAGE),该语言是一种对话框控制语言,不过仅用DCL语言编制对话框是不够的,还必须编制一个AutoLISP程序来驱动DCL对话框,使对话框中的各个控件具有一定的功能和意义。

4 h) L* n9 \( s& _6 o# z + o+ h; m) F* r2 {. M, w

  螺纹设计与绘图采用一体化编程

, s/ L6 @( ^1 ]2 f& y + R) o6 j5 W3 o& A9 t/ Q8 v

  利用数据库、数据文件或全程变量等数据传递方法将螺纹设计及绘图连接起来,当设计符合要求时,可同时绘制相应的零件图。

+ A; l" c s7 V ( p9 ~+ O- d' T$ T- [% M

  设计结果的处理

4 M% s2 e5 F- X& s B, ]9 {6 U; G4 t E+ u9 K% E

  可以根据用户需要选择存盘或打印。三、螺纹联接CAD关键技术处理对话框技术与处理

0 A* B0 b+ G' M/ u2 J6 J+ X* s - q9 I. V5 D" z1 G4 m, [

  在Windows视窗环境下对AutoCAD进行开发时可采用两种方法使用对话框技术,一种是利用Windows的对话框技术,另一种是使用AutoCAD2000英文版提供的可编程对话框技术。笔者采用后者,其对话框的设计步骤是:

( m8 h7 b b* _. ]% H- H- i! n ) @8 p) t& F/ V0 V0 C6 D- L

  确定应用程序需要输入的数据;分析需要输入的每一项数据,确定每一项数据使用哪一种控制;根据选定的控件按主次关系和美学观点进行布局;编写DCL文件;编写应用程序处理对话框。

2 `9 I* e7 O( G+ ~) p. Y / X% \$ S& x+ {) f! q9 k, M

  在应用程序中使用对话框,首先,用DCL语言定义一个对话框界面:其次,使用AutoLISP程序来驱动该对话框,并完成对话框中各控件对应的操作。

" M: X4 A1 R5 b0 W" ] / l! N+ ^/ m2 t8 \

  AutoLISP语言提供了处理对话框的函数,这些函数可以从DCL文件中加载对话框并可以给对话框中的各控件赋初值,获取用户在对话框的输入,还可以定义与用户有关的操作。

3 C9 Y# p$ R2 {- @# I $ l( W$ f" l' u: F

  文件存盘技术

; D9 V6 w1 ]: f & r9 p% j: @" C' v6 D# x

  用AutoLISP语言编写该程序,最后要求输出一张设计说明书及零件图。要使该说明书以文本形式存盘,AutoLISP语言专门提供一个函数:

( O" d. y3 y% v2 M9 v! t4 I . [1 L! _' ?: F# f2 r

  getfiled("select a txt file" "" "" 1)

2 T) i9 e& J& ~- _ * i: J3 M, ~ x* b* c4 ]4 g

  调用该函数将出现一个对话框,从对话框中选择相应文件夹,在文本框中输入文件名后关闭对话框。于是此函数便返回一个文件名,此文件名就是所输入的文件名。然后用open()函数打开该文件,这样就可以用写入函数write-line()写入数据。

6 e4 o( w p. w3 N+ X% x5 b 8 U. B4 b7 q( _8 S: j- I

  文件打印技术

: `6 c4 z" t7 l; v6 O ' D: f3 Y& O) F' n

  可根据用户要求打印设计说明书、零件图及简单的装配图。

7 V( Q9 }8 e8 Q$ c% W# `, U" L5 t+ W+ Y

  四、结束语

$ A: Z1 t& z4 N& E; D$ L6 x5 X/ f + ]# V. A2 i+ r* E: K

  AutoCAD是深受用户欢迎的功能强大的微机绘图软件,但在我国不加开发直接使用无法充分发挥其功能。AutoCAD有可以和高级语言交换数据的特点,即:高级语言可读取由AutoCAD生成的图形数据,反之,AutoCAD也可接受由高级语言产生的数据并生成图形。只有充分利用这一特点,对其进行二次开发,才能使其由单纯的通用绘图软件成为有各行业特色的具有设计功能的CAD应用软件,从而达到充分发挥其强大功能的目的。

5 s' D% o5 |0 Q! y: e4 X ( W& s6 D: N, P2 G * y6 s2 g0 E% h " e5 l+ ]' |2 h: |4 s! N" z
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

中国磨床技术论坛
论 坛 声 明 郑重声明:本论坛属技术交流,非盈利性论坛。本论坛言论纯属发表者个人意见,与“中国磨削技术论坛”立场无关。 涉及政治言论一律删除,请所有会员注意.论坛资源由会员从网上收集整理所得,版权属于原作者. 论坛所有资源是进行学习和科研测试之用,请在下载后24小时删除, 本站出于学习和科研的目的进行交流和讨论,如有侵犯原作者的版权, 请来信告知,我们将立即做出整改,并给予相应的答复,谢谢合作!

中国磨削网

QQ|Archiver|手机版|小黑屋|磨削技术网 ( 苏ICP备12056899号-1 )

GMT+8, 2025-4-10 04:48 , Processed in 0.178011 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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