用户名密码 太空模具网  | 宇宙五金网 | 星星电子网 | 银河汽车网 | 人才频道 | 技术休闲
 
首    页
价格行情
供求商机 产 品 库
求职信息 招聘信息
企 业 库 机床百科 行业资讯
招标信息 展会信息   
人力资讯 图书频道 网上课堂
软件下载 视频教育 网上助手
数控系统 变频器 稳压器 伺服系统
机床附件 机床仪表 机床刀夹具

车床

铣床

刨床

磨床

镗床

钻床

冲床

拉床

锯床

雕刻机

加工中心

电火花机

剪板机

折弯机
市场行情:广东 浙江 江苏 北京 上海 山东 安徽 天津 河北 重庆 台湾 湖北 辽宁 四川 陕西 福建 吉林 黑龙江 山西 云南 贵州
意大利木工机械市场第三季度基本保持稳定状态    销势一路看好 工具五金到年末旺销期    数控机床选型点滴    天水星火机床获得多项奖励    金刚石制品行业的切肤之痛值得企业反思    焊接机器人的选购应用    专业抛光电子线路板的研磨抛光材料    齐二机床年终报捷    梯形花键滚刀及其齿顶圆弧的设计    刀具硬度的影响因素     网络化制造与系统集成的标准研究    瓦格斯:成为最大的螺纹加工刀具的供应商    金刚石厚膜端铣刀的试验研究    合锻四种新产品通过省级鉴定    工序尺寸及公差的确定(1)    高效率加工技术的开发    刀具材料的种类    12米大型立柱在合锻淬火成功     系统结盟主机 华中数控彰显旗帜效应    国内外激光精密加工的应用现状    双星机械:由粗放型向精细化的跨越    日立工具推出深孔加工用钻头 利用“切屑阻止器”使L/D达到100     具有闭环控制功能的激光雕刻、切割运动控制器MPC6575即将面世    其它孔加工简介    经济实惠型液压刀具夹头     顺德成立中小企促进会    夹具、刀具的选择及切削用量的确定    德国机床出口主要市场浅析     LMT集团BILZ快换丝锥钻头刀柄     自动换刀装置的结构原理与常见故障    成都精密数控机床技术创新联盟成立     国内首条晶泰纳米长寿钻针武汉投产     激光烧结技术在制造业中的应用    机械行业 把握产业升级和进口替代两主题     超细钨粉挤压硬质合金棒材获福建省“6·18”十大优秀转化项目奖    世界制造业信息化新进展    中国驻德大使马灿荣先生视察凯狮-连环公司     2008第五届中国北京国际金属加工工业展览会    息烽县首家农村焊工维修队成立     山特维克可乐满总部访问印象     
<% if pyg2("img")<>"" then%><%end if%>
 中国数控机床网 > 新闻中心 > 新品与技术    
AutoCAD 2000定制开发技术简介及在工程制图中的应用
NEWS.C-CNC.COM   2008-1-3    来源:    阅读:生意人使用生意宝,生意越来越旺盛!
摘要:本文介绍AutoCAD 2000定制开发的必要性、开发工具、定制开发内容和方法,使AutoCAD用户能够定制开发自己的AutoCAD系统,从而使系统更高效,举例说明其在工程制图中的应用。

关键词:AutoCAD 2000 定制 开发 应用

 引言

        在工程CAD领域中,各种商用CAD系统层出不穷,如Autodesk公司的AutoCAD系统、Computervision公司的CADDS系统、Dassault公司的Catia系统、EDS公司的Unigraphics系统、HP公司的PE系统、Intergraph公司的I/EMS系统、Matra Datavision公司的Euclid系统、PTC公司的PRO/Engineer系统和SDRC公司的I桪eas系统等等。

        由Autodesk公司开发的AutoCAD自20世纪80年代以来一直独领风骚。成为各工程领域首选的CAD系统,是市场上最流行的PC桟AD系统。全世界有80个国家的200万人在使用AutoCAD绘制各种各样的图形。1998年AutoCAD在市场上的占有率达79%,成为事实上的世界范围内的计算机制图标准。

        AutoCAD的巨大成功,首先得益于它的开放性,使得第三方很容易开发各种适用的专用软件,给用户带来标准、廉价、方便、高效等益处,从而进一步占领了市场。用户通过对AutoCAD系统的定制开发,可以结合自己的专业特点,开发属于自己的专用型CAD系统。目前,国内开发的工程制图软件大多采用AutoCAD作为其软件支撑平台,进行二次开发而成,为工程设计和制图行业创造了巨大的经济效益和社会效益。

1 定制开发的必要性

        AutoCAD是目前Windows95/98/nt/2000环境下应用最广泛、使用人数最多的CAD软件。但是AutoCAD所提供的只是一般的通用的CAD功能,如造型、编辑、注释等。如果不利用AutoCAD开发系统,要想完成某一具体醒目的设计,就会显得较为复杂。例如,我们要设计一台活塞式发动机,就需要根据发动机功率先手工计算出活塞直径,然后再调用AutoCAD的绘图命令,一笔一笔地绘出发动机的图形。这样,一旦在设计完成后,要更改发动机的功率,则需要重复刚才的全部内容。

        如果使用AutoCAD开发系统,则我们可以将上述计算和绘图通过高级语言编制相应的程序,在需要设计时,只一个命令便可以运行该程序,计算和绘图过程自动完成。显而易见,这不仅大大提高了设计效率,而且通过开发系统可以定制出某些专业化模块,甚至大型设计绘图软件。国内的建筑行业天正CAD系统、机械行业的大恒CAD系统等,均是对AutoCAD开发定制而实现的。

2 定制开发的常用工具

        AutoCAD系统的定制开发工具,又称为AutoCAD开发工具。有时称作AutoCAD API (Application programming Interface 应用编程接口),是将AutoCAD环境客户化的基本手段。在AutoCAD2000中,我们使用的开发工具主要有:ObjectARX、AutoLISP、VisualLISP、Java、VisualBASIC和Delphi等。

        2.1 AutoLISP和VisualLISP

        AutoLISP是AutoCAD最早的解释型API,它不是面向对象的语言,主要用来自动完成重复性任务,进行客户化开发和编制AutoCAD菜单以及通过简单机制为AutoCAD增加命令。它在逻辑上是一个独立的进程,通过IPC(进程间通讯)与AutoCAD交互。AutoLISP学习起来很简单,但是很难用它来开发大型应用程序,而且形成的程序运行速度比较而言是最慢的。

        在AutoCAD R14中,Autodesk公司首次提供了一种新的LISP编程工具梀isualLISP,它是一种面象对象的开发环境,是AutoLISP的扩展和延伸。在AutoCAD 2000中,VisualLISP得到了进一步的加强。作为一种编译型API,与AutoLISP完全兼容,并提供AutoLISP所有功能,同时它能访问AutoCAD2000的多文档设计环境、COM/ActiveX用户界面和事件响应器等。

        2.2 VisualBASIC、Delphi 、Java

        AutoCAD从R14起,采用ActiveX Automation的形式丰富了自身的API,它为AutoCAD的进一步发展开辟了新的途径。

        微软的ActiveX Automation技术是API和一组规范,提供ActiveX Automation服务的软件通过标准用户接口能够开放它的特定功能。AutoCAD 2000中ActiveX Automation提供的编程接口,可以用于在Windows环境下的应用程序操作AutoCAD中的对象。主要操作功能有:用户输入提示、使用优先对象、处理选择集、输出图形、增加视图、增加专业对象等。用户可以使用ActiveX客户编程语言(如VisualBASIC、Delphi 、Java等)来定制AutoCAD。

        2.3 ADS、ARX、ADSRX和ObjectARX

ADS(AutoCAD Development System)是Autodesk公司最早在AutoCAD R11中提供的C语言编程环境。除了可以使用标准的C函数外,又增加了专用于对AutoCAD进行操作的函数,形成的可执行文件(EXE文件),装入AutoCAD后即可运行。但是,ADS与AutoLISP一样,内在结构不是面向对象的,使用AutoLISP解释器加载和调用,也是通过IPC与AutoCAD通讯。

        ARX(AutoCAD Runtime Extention)是在ADS基础上发展起来的一种面向对象的C语言编程环境。由ADS向ARX的变迁就如同C向C++的转变。ARX应用程序为动态链接库(DLL),共享AutoCAD地址空间,对AutoCAD进行直接调用,避免了IPC的系统开销和由此引起的性能下降。它最早在AutoCAD R13中提供,但是在AutoCAD R14中,ARX很快被第二代面向对象C++编程环境棗ObjectARX所代替,原来的ADS全部库函数被包含在ObjectARX中。ADS全部库函数归并为单一的库,形成了ADSRX。

        在AutoCAD 2000中,传统意义上的“ADS开发环境”的概念不复存在,而且ADSRX作为ObjectARX的一个子集。ObjectARX是包含了ADS、ARX和ADSRX的综合的C/C++开发环境。它引入了面向对象的编程机制,在与AutoCAD 2000配套的ObjectARX 3.0中,提供大量类库,而且提供了兼容原来的ADS、ADSRX函数的新函数。ObjectARX 3.0成为了AutoCAD 2000定制开发的高效开发工具。

        2.4 几种开发工具的比较

        在以上的开发工具中,直接与AutoCAD通讯的API比利用IPC通讯的API在速度上要快。因此,ObjectARX的速度最快,AutoLISP速度最慢。

        但是在程序稳定性上,采用AutoLISP开发的应用程序一旦失败,并不危害AutoCAD自身进程。而由于ObjectARX应用程序共享的AutoCAD地址空间,一旦失败,AutoCAD进程也随之崩溃。

        ObjectARX应用程序在运行期间实时扩展AutoCAD,共享AutoCAD地址空间,性能无比强大,甚至为所欲为,以至于AutoCAD自身的许多模块均是用ObjectARX制作。

        在技术难度上,AutoLISP和VisualBASIC均为解释型语言,方便易学,开发周期短。许多程序员在使用它们。相比之下,ObjectARX依赖于C++语言,它必须经过严格控制的编译、链接才能生成程序,开发人员必须有足够的编程经验才能处理开发中的各种问题。但是,在开发速度和性能要求都很高的应用程序或者大型CAD应用软件,应使用ObjectARX。

3 定制开发的主要内容和方法

        AutoCAD2000定制开发的内容很多,但最主要的是:脚本文件(SCR文件)定制、菜单文件定制、AutoCAD命令的定制。

        3.1脚本文件(SCR文件)定制

        AutoCAD提供了一个叫script file(脚本文件)的工具,它允许不同的AutoCAD命令组合起来,并按照预先确定的顺序执行。这些命令可以用任何一种文字编辑器(如Notepade、记事本等)编写成文本文件,其扩展名为.SCR(如PLOT1.SCR)。脚本文件用AutoCAD中的SCR命令来执行。

        用户在对AutoCAD进行开发时,可以使用任何一种高级语言(如:VC、VB、Delphi、Java等)设计用户交互界面,对绘图所需要参数进行计算生成,然后确定AutoCAD命令、命令选项、命令序列等,最后生成扩展名为SCR的AutoCAD脚本文件。在AutoCAD中用SCR命令来执行脚本文件,完成所需操作。

        脚本文件具有AutoCAD的所有功能,包括图形初试化、编辑、修改、绘图、输出等。但脚本文件有一些限制,它不能使用对话框和菜单,当从脚本文件中发出打开文件、文件存盘、打印等命令时, AutoCAD执行命令行中的命令含义而不打开对话框,无法提供用户交互功能。

        运用脚本文件定制AutoCAD,需要(只需要)熟悉一门高级编程语言和AutoCAD常用命令、命令选项及命令序列即可。此方法,对编程技术要求不高,简单实用。它曾经作为最原始的定制开发手段,一直保留至今。实践证明,它可以取得很好的令人满意的效果。目前,仍有许多应用软件还在使用这项技术。

        下面是利用VC生成的一个脚本文件的片段,从中可以看出CAD命令序列的使用规律。

……………

LIMITS 0,0 3775.8,3110

ZOOM A

UNITS 2 0 1 0 0 Y

BLIPMODE OFF

LAYER N 1,2,3,4,5,6,7,8,9,10

UNITS 2 0 1 0 0 Y

STYLE HZ complex,HZDX 0 1 0 N N N

TRACE 6 250,50 3425.8,50

3425.8,2760 250,2760 250,50

TEXT 300,70 40 0 荣军岩土软件工作室

LINE

1637.9,2450 @400,0

TEXT 390,2500 40 0 工程名称:

……………

3.2 ACAD.PGP文件定制

        AutoCAD软件带有程序参数文件ACAD.PGP,该文件分为三个部分:注释、外部命令、命令别名。

        文件中的注释可以包含任何数目的注释行,并且可以出现在文件任何地方。每一个注释行用(;)开头。任何用分号开头的句子在执行时都被忽略。

        ACAD.PGP允许用户从图形编辑器中直接使用操作系统命令。例如:想要删除一个文件,只需要在命令行输入DEL (COMMAND:DEL),然后根据提示输入需要删除的文件名。

        ACAD.PGP定义了一些AutoCAD命令的别名。例如,LINE命令的别名是L。如果在命令行输入L (COMMAND:L),AutoCAD将把它当作LINE命令。

        用户根据自己使用需要,定制ACAD.PGP文件,扩充操作系统命令和AutoCAD命令别名。

        3.3 ACAD菜单文件定制

        AutoCAD软件提供了一个定制AutoCAD的强大工具。AutoCAD软件带有一个名为ACDA.MNU的标准菜单文件。在启动AutoCAD时,ACDA.MNU菜单文件自动装载。菜单文件中包含AutoCAD命令,用户可以修改、排列这些常用命令。它允许用户删除不常用的命令,并定义新的命令,通过编辑ACDA.MNU菜单文件或者编写新的菜单文件来实现。可以为每一个应用程序编写一个单独的菜单文件。使用AutoCAD的MENU命令,可以随时装载这些菜单。

        菜单文件的扩展名为MNU,可以用任何文本编辑器进行编辑。菜单文件中可以定制屏幕菜单、下拉菜单、工具条、快捷菜单、上下文菜单、图像菜单等内容。

        用户开发过程中,可以参照标准菜单文件ACAD.MNU编写自己的专用菜单文件。

        3.4 定制AutoCAD命令

        根据用户特定专业领域的问题,采用上述开发工具通过编程,定制自己的AutoCAD专用功能模块。

        3.4.1 AutoLISP、VisualLISP开发工具

        使用AutoLISP或者VisualLISP开发工具开发出的应用程序,其扩展名为LSP。在一个LISP程序文件中可以有一个或者多个函数定义。要运行其中一个函数,定义该函数的LISP程序文件必须被装载。用下面命令装载一个LISP程序文件:

Command:(load “[path]file name”)

其中:Command…………AutoCAD命令提示符。

load ……………… 调入一个LISP程序文件。

file name………… LISP程序文件的路径和文件名。

装载LISP程序文件后,可以在命令行状态下输入函数名,完成所需特定操作。

3.4.2 ObjectARX开发工具

        使用ObjectARX开发工具开发出的应用程序,其扩展名为ARX。在一个ObjectARX程序文件中可以注册一个或者多个AutoCAD命令。要运行其中的AutoCAD命令,定义该命令的ObjectARX程序文件必须被装载。用下面命令装载一个ObjectARX程序文件:

Command:(arxload “[path]file name”)

其中:Command…………AutoCAD命令提示符。

arxload ……………调入一个ObjectARX程序文件。

file name………… ObjectARX程序文件的路径和文件名。

其他几种开发工具定制AutoCAD命令的方法基本上与上述方法类似,详细内容,可以参见有关书籍,本文不再赘述。

4、应用举例

        笔者通过绘制一个简单排水沟剖面图的例子,介绍在VisualC++6.0环境下,创建基于MFC(Microsoft Foundation Class)的用户界面,生成一个ObjectARX应用程序的过程。此程序注册了一个AutoCAD命令        4.1 ObjectARX软件获得与安装

        ObjectARX软件不随AutoCAD 2000发行盘一起发行,而由Autodesk的产品供应商来提供,用户可以在Autodesk的网址自由下载(http://www.autodesk.com)。下载后得到一个ObjectARX.exe文件,该文件约19MB,是一个自解压的压缩文件。

              在Windows环境中双击下载所得到的ObjectARX.exe文件,此文件会自动解压缩到用户指定的目录(缺省为C:\)。解压后,运行它提供的安装程序Setup.exe,将它安装到指定的目录(缺省为C:\ObjectARX 2000)。安装后,ObjectARX 3.0约占52MB硬盘空间。

4.2 运行ObjectARX软件的软硬件环境

·Windows 9X/NT4/2000

·AutoCAD 2000

·Microsoft Visual C++6.0或更高版本

        因为开发出的应用程序要在AutoCAD 2000环境下运行,因此运行ObjectARX应用程序所需要硬件环境同AutoCAD 2000,最低配置为:

·Pentium 90 CPU

·32MB内存

·150MB硬盘自由空间

·60MB虚拟内存

4.3 建立ObjectARX应用程序的基本过程

·按照ObjectARX的要求设置Visual C++工作环境

·在Visual C++中编辑应用程序(包括CPP、DEF、RC等文件)

·编译链接生成以ARX为扩展名的DLL文件

·进入AutoCAD 2000,装载ObjectARX应用程序到内存

·运行在源程序中定义的AutoCAD 2000外部命令

下面给出源程序中的片段:

…………

// This is command 'PSG'

void zrjzrjpsg()//画排水沟

{

// TODO: Implement the command

CPsg dlg;

ads_point pt,pt1,pt2,pt3,pt4,pt5,pt6;

char s[40];

if(dlg.DoModal()==IDOK)

{

acedGetPoint(NULL,"选择绘制排水沟位置:",pt);

pt1[X]=pt[X]+dlg.m_fH*dlg.m_iScale/dlg.m_fScale;

pt1[Y]=pt[Y];

pt1[Z]=pt[Z]=0;

pt2[X]=pt1[X]+(dlg.m_fL1-dlg.m_fL2)*dlg.m_iScale/(2*dlg.m_fScale);

pt2[Y]=pt1[Y]-dlg.m_fH*dlg.m_iScale/dlg.m_fScale;

pt2[Z]=pt1[Z]=0;

pt3[X]=pt2[X]+dlg.m_fL2*dlg.m_iScale/dlg.m_fScale;

pt3[Y]=pt2[Y];

pt3[Z]=pt2[Z]=0;

pt4[X]=pt1[X]+dlg.m_fL1*dlg.m_iScale/dlg.m_fScale;

pt4[Y]=pt1[Y];

pt4[Z]=pt1[Z]=0;

pt5[X]=pt4[X]+dlg.m_fH*dlg.m_iScale/dlg.m_fScale;

pt5[Y]=pt4[Y];

pt5[Z]=pt4[Z]=0;

pt6[X]=(pt2[X]+pt3[X])/2;

pt6[Y]=pt2[Y]-20*dlg.m_iScale;

pt6[Z]=pt2[Z]=0;

sprintf(s,"%2.0f",dlg.m_fHeight);

acedCommand(RTSTR,"LINE",RTPOINT,pt,RTPOINT,pt1,RTPOINT,pt2,RTPOINT,pt3,RTPOINT,pt4,RTPOINT,pt5,RTSTR,"",0);

acedCommand(RTSTR,"LINE",RTPOINT,pt4,RTPOINT,pt5,RTSTR,"",0);

acedCommand(RTSTR,"TEXT",RTSTR,"J",RTSTR,"C",RTPOINT,pt6,RTSTR,s,RTSTR,"0",RTSTR,dlg.m_sText,0);

        }

        else ads_printf("取消绘制排水沟");

        }

        …………

        编译链接生成以ARX为扩展名的DLL文件,进入AutoCAD 2000,装载ObjectARX应用程序到内存,运行在源程序中定义的AutoCAD 2000外部命令“psg”,运行正常,结果令人满意。

5 结论

        从上可以看出AutoCAD 2000定制开发的必要性和优越性,用户可以根据自己的情况,选择适合的开发工具,通过对AutoCAD的定制开发,开发出属于自己的AutoCAD系统,从而使系统更高效运转,发挥更大的经济效益。随着计算机技术的不断发展,技术人员素质的不断提高,AutoCAD定制开发技术在工程制图中的应用将会得到更快更好的发展。

 ■ 相关链接
 · AutoCAD 2000定制开发技术简
 · 基于AutoCAD的三维变截面造型系统
 · 在AUTO CAD中利用二维图形实现实
 · 日本SRD上市支持AutoCAD的设计
 · AutoCAD齿轮开发
 · AutoCAD中圆的绘制方法和编辑技巧
 · AutoCAD中圆的绘制方法和编辑技巧
 · 基于AutoCAD平台的换热设备零部件
 · AutoCAD线条加粗秘诀
热点新闻
机电一体化毕业论文
手机MP4怎样下载的?
国内机床企业名录
divx编码解码器下载站
五菱集团CAD正版选择CAXA
2003年度全国工业重点行业效益十佳企业名单
什么是数控机床?
CAD正版化浪潮正猛CAXA助力轻松实现
正版CAD成为制造业企业新宠
上市企业CAD正版选择CAXA
MasterCAM下载清单
Ug教程下载网址大全
计算机基础知识试题
2004年9月机械零部件厂商企业推荐
数控车床编程实例
机电一体化专业毕业生就业率连创新高
无刷直流电机原理
华中数控车床系统图片
安利传销内幕揭秘
蓝牙适配器下载

最新新闻
意大利木工机械市场第三季度基本保持稳定状态
销势一路看好 工具五金到年末旺销期
数控机床选型点滴
天水星火机床获得多项奖励
金刚石制品行业的切肤之痛值得企业反思
焊接机器人的选购应用
专业抛光电子线路板的研磨抛光材料
齐二机床年终报捷
梯形花键滚刀及其齿顶圆弧的设计
刀具硬度的影响因素
网络化制造与系统集成的标准研究
瓦格斯:成为最大的螺纹加工刀具的供应商
金刚石厚膜端铣刀的试验研究
合锻四种新产品通过省级鉴定
工序尺寸及公差的确定(1)
高效率加工技术的开发
刀具材料的种类
12米大型立柱在合锻淬火成功
系统结盟主机 华中数控彰显旗帜效应
国内外激光精密加工的应用现状
中国数控机床网关于本网 - 广告刊登-服务中心-网页设计- 域名空间-投稿信箱- 联系我们-投诉举报-友情链接
版权所有:泰州市德基软件公司   网络实名:中国数控机床网www.c-cnc.com
      腾讯QQ:498808488      客户服务热线:0523-86228810  86229597
传真:0523-86229597   E-mail:
jc@c-cnc.com
经营许可证编号:苏B2-20050154 苏ICP备05030923号