用VB开发AutoCAD进行参数化孔型优化设计.doc

用VB开发AutoCAD进行参数化孔型优化设计.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
用VB开发AutoCAD进行参数化孔型优化设计

用VB开发AutoCAD进行参数化孔型优化设计 作者:张弛光 张雪莲 中国教育技术装备 年20期 字数:3695 字体: 【大 中 小】   摘要 介绍用VB开发AutoCAD进行参数化绘图的途径和方法。优化孔型设计是轧钢工艺设计的主要问题之一,通过轧制角钢孔型的优化设计,介绍这种方法在轧钢孔型优化设计中的具体应用。   关键词 VB;AutoCAD;参数化绘图   中图分类号:TP391.72 文献标识码:A 文章编号:1671-489X(2008)20-0108-03      轧钢孔型的优化设计是轧制工艺的主要问题之一。如果利用参数化绘图,可以将图形尺寸与设计条件相关联,即将图形尺寸看作是“设计条件”的函数,当设计条件发生变化时,图形尺寸也随之发生变化,从而完成图形的绘制。这样不仅可以缩短设计周期,而且提高了设计质量。其实,AutoCAD自问世之初,就为人们提供了参数化绘图的功能,它不但提供了与其他程序设计语言的接口,而且其自身拥有的AUTOLISP、ADS、ARS、VBA等开发工具功能强大。   笔者通过VB高级语言把AUTOCAD中的VBA代码转变为VB代码,以VB作为编译器,AutoCAD作为图形支撑软件,使VB直接调用AutoCAD来实现参数化绘图。      1 设计思路      对于高级语言Visual Basic 6.0来说,其计算能力较强而绘图能力却相对较差;而绘图软件AutoCAD2002恰好相反,计算能力差而绘图能力强。设计者可以用前者计算,用后者绘图。这就要求高级语言和绘图软件之间要有接口,设计者给出参数,经高级语言处理后能够调用AutoCAD绘出所需的图形。      2 Visual Basic 6.0与 AutoCAD2002的连接      2.1 连接方式VBA是AutoCAD2002的内嵌式语言,它的全称是Visual Basic for Application。它是基于Visual Basic 6.0版本,完全面向对象体系结构的一种编程语言,所以它有着与VB几乎相同的开发环境和语法;它的功能强大,可以说是一个万能开发工具。由于VBA是依附于AutoCAD的,所以其与AutoCAD共享内存空间、数据环境。VBA语言结构简单,即可利用AutoCAD主界面操作环境,也可创造自己所需的主界面操作环境[1]。但是它也存在一定的缺点,为了克服这些缺点,使用Visual Basic 6.0开发AutoCAD。   转化VBA代码为VB代码,首先要引用AutoCAD type library。在VB6.0中,选择工程—“引用”,然后在“引用”对话框选择AutoCAD2000 type library,接下来将VBA代码中所有的Thisdrawing替换成一个用户定义的代表当前活动文档的变量,为AutoCAD应用程序acadApp和当前文档acadDoc定义一个变量,然后设置应用程序变量为当前AutoCAD应用程序。   如果AutoCAD正在运行,则用GetObject方法取得AutoCAD应用程序对象。如果AutoCAD没有运行,则返回一个错误。捕捉这个错误并清除它,然后用CreateObject方法尝试建立一个AutoCAD应用程序对象。如果成功,则AutoCAD启动;如果失败,则显示一个消息框说明错误原因[2]。   2.2 连接程序代码[3]   Public acadapp As Object    AutoCAD应用程序对象变量   Public preference As Object    AutoCAD优先设置对象变量   Public acaddoc As Object    AutoCAD文档对象变量   Public paspace As Object    AutoCAD图纸空间对象变量   Public mospace As Object    AutoCAD模型空间对象变量      绘图初始化   Sub init()   与CAD建立连接   On Error Resume Next   如果CAD正在运行,则GetObject函数返回对应用程序对象的引用   变量AcadApp已经定义成全局变量   Set acadapp = GetObject(, AutoCAD.Application)   If Err Then   Err.Clear清除错误   Set acadapp = CreateObject(AutoCAD.Application)启动AutoCAD   如果GetObject函数不能创建AutoCAD应用程序对象   则提示不能运行AutoCAD!!!   If

文档评论(0)

liudao + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档