AutoCAD二次开发工具研究

来源 :城市建设理论研究 | 被引量 : 0次 | 上传用户:leovvex
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:由于AutoCAD软件提供了友好的人机交互模式、良好的二次开发平台、实惠的价格而深受广大企业的青睐。目前所选用的CAD软件首推AutoCAD各版本软件或是在其基础上二次开发的软件,如高华CAD、华中理工大学IntelCAD等。许多用户正是看中AutoCAD提供的二次开发功能,有利于开发出适合厂情的功能模块,但是,AutoCAD的版本升级较快,在近几年推出了AutoCAD R13、AutoCAD R14、AutoCAD、R2000,使得用户在使用特别是在二次开发上变得无所适从。本文正是从这一情况出发,探讨在AutoCAD平台上使用的开发工具。
  关键字:AutoCAD; AutoLISP;ADS; ARX;二次开发
  中图分类号:TP311.5 文献标识码:A 文章编号:
  一、引言
  AutoCAD技术的应用已涉及到航空航天、汽车、机械、建筑、电子电器等各行各业,它从根本上改变了传统手工绘图、依靠图纸组织整个生产过程的技术管理模式。采用CAD技术能快速地进行新产品设计、提高设计质量和缩短新产品设计周期以加强企业的竞争力,对传统产业的改造、新兴技术和产业的兴起与发展、我国产业国际化的增强等方面,均能产生巨大的推动作用。
  AutoCAD的二次开发途径主要有两个,即文件开发和程序开发。文件开发是指根据用户的具体开发需要,按照AutoCAD提供的方法和文件格式,通过编辑AutoCAD系统所支持的文本文件(如菜单文件和线型文件等)或建立同种类型新的文本文件,来开发AutoCAD,使其满足用户特定需要的方法。程序开发是指利用AutoCAD提供的编程环境和开发工具(称为AutoCAD应用程序接口,缩写为API),通过编写程序来实现对AutoCAD开发的方法。借助于程序开发,可为AutoCAD扩充新的命令或定义,以满足用户具体需要。
  从目前各行各业对AutoCAD的应用情况来看,主要表现在直接应用和间接应用两个方面。其中,前者为直接利用提供的强大的绘图功能进行图形的绘制;后者为利用提供的强大的开发工具结合本行业的实际情况对AutoCAD进行的二次开发,这种应用是对AutoCAD的更高层次的应用。
  二、开发常用工具
  1.AutoLISP
  AutousP出现于1985年推出的AutoCADRZ.18中,是一种嵌人在AutoCAD内部的编程语言,完全针对AutocAD进行编程,是UsP原版的一个子集,它一直是低版本AutoCAD的首选编程语言。它可以直接访问和修改AutoCAD当前的图形数据库,为AutoCAD增加新命令或修改AutocAD,实现参数化绘图程序设计。它与主流编程语言如C/C++、BAsIC等相比语法非常简单,也较灵活,但功能也相对简单些。其缺点是继承了USP语言的编程规则而导致繁多的括号。
  2.ADS
  ADS是AutoCAD提供的运用C语言开发应用程序的系统,本质上是一组可以用C语言编写的头文件和目标库,它直接利用用户熟悉的各种流行的C语言编译器,将应用程序编译成可
  执行的文件在AutoCAD环境下运行,这种可以在AutoCAD环境中直接运行的可执行文件叫做ADS應用程序。它要求开发者既懂C语言又熟悉AutocAD,因此,被认为比AutoUsP更高级的开发手段。使用ADS既可以开发独立的应用程序,也可以开发常用函数供Autollsp程序调用。后者的好处是既可提高编程效率,又可对程序进行保护,国内开发商大多采用这种方式。ADS由于其速度快,又采用结构化的编程体系,因而很适合于高强度的数据处理,如二次开发的机械设计CAD、工程分析CAD、建筑结构CAD、土木工程CAD、化学工程CAD、电气工程CAD等。
  3.ARX
  尽管ADS有很多值得称赞之处,但它也有一个先天不足之处,这就是ADS程序必须通过AutousP解释器加载,并非最低层的代码,各方面的条件都会打折扣。正因为如此,在R13版中AutoCAD提供了更为高级的开发工具ARXoARX是Autodesk公司在AutoCAD13版之后推出的一个全新的面向对象的二次开发环境,也是AutocAD第一次提供面向对象的二次开发工具。使用ARx编写的应用程序不需经过USP解释器加载,它可以和AutocAD的进程共享内存空间,即用ARx编写的命令可以和AutoCAD中line、协i二等命令于同一级别,显然要比AutoUSP、ADS形式得到更快的响应11]。ARx有一个更为重要的功能,即允许用户定义自己的对象,构造自己的图形数据,可以像管理内部定义对象一样进行处理。ARx同样使用C++语言,用VB、vc++进行编程,开发环境与ADS相同,目前ARx已经升级为objectARX了。
  三、开发工具之间的关系
  1.AutoLISP、ADS及ARX与AutoCAD的关系
  三者都是AutoCAD的内嵌式编程语言,用户利用这些语言建立新的命令,扩充AutoCAD原有功能。AutoLISP可以很方便地为AutoCAD增加新命令,它通过内部进程通讯与AutoCAD通信;ADS是用C语言应用程序,它作为外部函数加载到AutoCAD,需要由AutoLISP解释器来调用,它也是通过IPC和AutoCAD通讯,它们与AutoCAD是分离进程,如图1所示。ARX是可编译的C++程序,与ADS不同的是,ARX以动态链接库(DLL)的形式与AutoCAD共享地址空间,直接调用AutoCAD的核心函数,并可直接访问AutoCAD数据库。
  
  
  图1 AutoLISP、ADS及ARX与AutoCAD的关系
  2.AutoLISP和ADS的关系
  从图1可以看出,ADS和AutoLISP它们都是通过IPC来和AutoCAD实现通讯的。每个ADS应用程序都必须支持由ADS环境定义的与AutoLISP的接口,这种接口要求每个应用程序要使用特定的数值,并按特定的数值调用ADS库函数。通常,AutoLISP是按一定的顺序调用ADS应用程序,如:在初始化时或在调用(xload)函数时,AutoLISP加载一个ADS应用程序;ADS应用
  程序通过调用ads_init(),初始化与AutoLISP的接口联系; ADS应用程序通过调用ads_link()并传入一个应用程序的结果码RSRSLT,指示接受和处理来自AutoLISP的请求;从ads_link ( )中返回一个请求码RQXLOAD;每调用一次ads_defun(),该应用程序即定义一个外部函数等。由此可知,一个ADS应用程序基本上是AutoLISP的一个“奴隶”,一直在等待着AutoLISP的请求,需要反复调用ads_link(),所以保持请求顺序的最自然的作法就是将该函数放在一个“无限”循环的开始。
  3.ADS与ARX的关系
  从功能上可以描述为包容或包含的关系。实际上,一个完整的ADS库函数是ARX环境的一部分,通常称为ADSRX。ADSRX和标准的C语言版本的ADS库在功能上是完全一致的。不同的是ADSRX作为AutoCAD的一部分,它同样分享着AutoCAD的地址空间,而ADS则需要通过IPC才能实现通讯。也就是说ADS的功能可以通过ADSRX完全替代。一个ADS应用程序包含一个无限循环,一直在等待着AutoLISP的请求;而ARX有一个为使用消息提供的入口。当用户登记命令时,它实现了同AutoCAD的通信,当用户重载在ARX库中C++类的虚构函数上时,这些函数便实现了应用程序的入口功能。
  四、结束语
  随着AutoCAD应用的日益普及,软件开发工具与硬件设备不断地更新,使得人们对应用程序功能的需求与日俱增,对其进行二次开发的工具也不断更新。VisualllSP、objectARX、ActiveXAu-tolnation等工具也显示出它们的优势,使得应用程序在修改上更具弹性,在使用上更加智能。对于用户来说,应根据本身所熟悉的AutoCAD的版本,以及所熟悉的开发环境、需求的特点来选择AutoCAD的开发工具,不必刻意追求新奇的开发工具,但也应逐渐地了解和接受它,以备将来开发出更适合厂情和国情的AutoCAD增值模块和软件。
  
  1.李世国.AutoCAD高级开发技术:ARx编程及应用【M】.北京:机械工业出版社,1999.9.
  2.江思敏,曹狱.AutoCAD开发工具一开发工具与应用实例【M】.北京:人民邮电出版社,1999.11.
  3.苏鸿根,刘海滨,杨飞编著.怎样开发AutoCAD R12[M].北京:清华大学出版社,1995.3
  4.梁雪春.宋德明.AutoCAD2002二次开发技术指南【M].北京:清华大学出版社,2001.11.
其他文献
摘要:本文介绍了国内外航空摄影发展历史,分析了我国航空摄影发展现状,展望了我国航空摄影测量发展前景。  关键词:航空摄影、发展现状与展望  中图分类号:J4 文献标识码:A 文章编号:     一、概述  随着科学技术的进步,计算机、传感器的发展,使得传统的扫描航空摄影方式向现代的数字航空摄影方式转变。同时,由于GPS应用到现代数字航空摄影中,使得数字航空摄影发挥了巨大效能,进而带动了航空摄影数据
期刊
摘要:农村配电网的安全、可靠、经济运行对于整个电网来说至关重要。近几年为了促进农村经济发展、提高农民生活水平,国家加大对农村配电网的投资力度。本文主要讨论10kV农村配电网线路的建设及管理规划,并提出在电网的建设与管理过程中降低农村电力损耗、提高经济效益的建议。  关键词:农村电网规划问题经济效益  中图分类号:U665.12 文献标识码:A 文章编号:     一、引言  在市场经济体制发展的前
期刊
中图分类号:C29 文献标识码:A 文章编号:     经济增长是由劳动投入、资本投入和科技进步等多种要素决定的。以往我国经济快速增长的背后,是物质资源、能源和劳动力的巨大消耗,特别是中小企业,劳动密集度高,科技含量相对较低。随着最近几年出现的招聘难、用工荒现象的不断升级,不少企业受到了不小的冲击,作为社区教育,如何在这场经济转型的战役中发挥自己的力量,尤其是如何助推企业摆脱用工困难,我们作了一些
期刊
中图分类号:K826.16 文献标识码:A 文章编号:     温州市公安科技大楼的建设单位为温州市公安局,代建单位为温州市城市建设投资集团有限公司,设计单位为上海经纬建筑规划设计研究院,建成后将成为温州又一座标志性建筑。本文仅从工程量清单编制角度,谈一些合理化建议。  一、工程基本概况  温州市公安科技大楼位于温州市鹿城区惠民路和鱼鳞夹路的交叉路口,建筑面积55971.76m2,其中地下室面积2
期刊
摘要:本文着重介绍了“4D”产品中的DEM并结合作业区使用数码航摄资料里制作DEM的质量检查谈谈对DEM的认识与体会。  关键词:DEM;数字产品制作;质量检查  中图分类号:O213.1 文献标识码:A 文章编号:     引 言  摄影测量与遥感是从影像和其它传感系统中获取地球及其环境的可靠信息,并对其进行记录、量测、分析与表达的科学和技术。数字高程模型(DEM)是数字化测绘“4D”产品的重要
期刊
摘要:水泥稳定砂砾基层质量涉及的面很广,影响因素很多,关系路面施工全过程,情况复杂,我们只有在充分研究分析产生的原因后,才能对症下药抓好施工中的每一细小环节。本文探讨了高速公路的水泥稳定砂砾基础施工技术的管理。  关键词:高速公路;水泥稳定砂砾;基础;施工技术;管理  Abstract: the quality of cement stabilized sand gravel subgrade i
期刊
摘要:以城万快速路的某隧道为例,针对该近水平岩层隧道开挖过程中出现的超欠挖、拱顶坍塌等现象,从断裂力学的角度对这一破坏过程进行分析,得出岩层断裂的机理,为水平或近水平岩层隧道的开挖和支护方法提供了理论依据。  关键词:隧道;水平岩层;断裂力学;隧道开挖与支护  中图分类号:U45 文献标识码:A 文章编号:     水平状岩层通常层间结合较差,构造裂隙发育,隧道开挖过程中拱顶、拱腰等部位极易产生块
期刊
【摘要】高等职业教育人才培养目标是高级技能型人才,要求毕业生既要有一定的操作能力又要有一定的理論功底,如何将理论与实际紧密结合,从而提高学生职业能力是近年高职课程体系改革的重点。本文主要从“需求性学习”角度分析有共同知识点的课程的设置方法,通过课程的合理设置,使学生学习过程更加贴近企业工作流程,提高学生学习积极性。  【关键词】需求性学习 造价专业共同性 课程 设置  中图分类号:TU723.3
期刊
摘要:本文作者主要从桩基等四个方面简单论述了道路桥梁施工中的几个要点,以提高施工质量。  关键词:市政桥梁;施工技术  中图分类号:TU74 文献标识码:A 文章编号:       市政桥梁质量的好坏直接影响着整个工程的质量,关系人民的生命财产安全,每一个桥梁施工人员都应以高度的责任心投入到桥梁建设中。随着我国基础设施建设的快速发展,工程建设对桥梁工程的质量提出了更高的要求,因为工程质量是企业赖以
期刊
摘要:本文主要对地形图测绘与地籍测量進行了概念性介绍,分析了地形图测绘与地籍测量的区别点,使两者在大比例尺测量的工作中相互之间能够更好的结合在一起。  关键词:地形图测绘 地籍测量  中图分类号:P284 文献标识码:A 文章编号:     1 大比例尺地形图测绘  大比例尺地形图测绘工作是一项以客观而又准确地通过所测地形图的三维空间来描述地物、地貌景观,为城市的合理规划服务为目的,以地表上的地物
期刊