第八章 AutoCAD2004二次开发技术(2)

合集下载

AutoCAD官方二次开发教程

AutoCAD官方二次开发教程

第 1章 Hello World: 工程的创建在这一章中,我们将不使用ObjectARX向导来创建一个新的工程。

我们将使用Visual Studio .NET来创建一个新的类库工程。

通过这个工程,你可以创建一个能被AutoCAD装载的.NET dll文件。

这个dll文件会向AutoCAD加入一个名为“HelloWorld”的新命令。

当用户运行这个命令后,在AutoCAD 命令行上将显示“Hello World”文本。

1) 启动Visual ,选择”文件>新建>工程”(File> New> Project)。

在新建工程对话框中选择工程类型为”Visual Basic 工程”,然后选择”类库”模板,在工程名字框中输入”Lab1”,然后选择工程存放的位置。

点击确定按钮来创建工程。

2) 在工程的Class1.vb文件中,一个公有类“Class1”已经被系统自动创建了。

接下来向这个类加入命令。

要加入命令,你必须使用AutoCAD .NET托管封装类。

这些托管封装类包含在两个托管模块中。

要加入对这两个托管模块的引用,请用鼠标右键单击”引用”然后选择”添加引用”。

在弹出的”添加引用”对话框中选择”浏览”。

在”选择组件”对话框中,选择AutoCAD 2006的安装目录(这里假定为C:\Program Files\AutoCAD 2006\),在这个目录下找到“acdbmgd.dll”然后选择并打开它。

再一次选择”浏览”,在AutoCAD 2006的安装目录下找到“acmgd.dll”并打开它。

当这两个组件被加入后,请单击”添加引用” 对话框中的”确定”按钮。

正如它们的名字所表示的,acdbmgd.dll包含ObjectDBX 托管类,而acmgd.dll包含AutoCAD托管类。

3) 使用对象浏览器(Visual 的”查看>其它窗口>对象浏览器”菜单项)来浏览加入的两个托管模块所提供的类。

AUTOCAD二次开发技术

AUTOCAD二次开发技术

AutoCAD二次开发技术AutoCAD作为一种通用计算机辅助设计软件,其二维图形设计功能非常强大,目前已广泛应用于机械、电子、电气、建筑、土木、服装等领域,深受国内外众多工程设计人员的喜爱,成为目前世界上应用最广的计算机辅助设计工具。

尽管如此,人们在使用过程中还是发现其存在较多的不足之处,如对于一些特殊曲线的绘制往往较为困难,而对于一些标准件、常用件,虽然从结构上看它们较为相似,但却难以采用AutoCAD提供的复制、镜像、旋转等命令来实现,而必须一笔划一笔划的绘制,显得费时费力。

AutoCAD是一种定位与全球各大领域和各类专业的通用微机CAD平台软件。

到目前为止,Autodesk公司已经相继推出了四代二次开发工具.AutoCAD的二次开发主要涉及以下内容:(1编写各种用户自定义函数并形成若干LISP、ARX、VLX或ADS文件,以及一些DCL文件。

(2建立符合自己要求的菜单文件,一般可在AutoCAD原菜单文件内添加自己的内容,对于AutoCAD2000版本还可增加部分菜单文件,然后经交互方式加入到系统中去。

(3在系统的ACAD.LSP 或类似文件中加入某些内容以便进行各种初始化操作,如在启动时立即装入一些文件等。

(4通过系统对话框设置某些路径。

这些操作在程序开发成功后向其它AutoCAD系统上安装应用,特别是需要大批安装时,需要进行很多文件检索、内容增删、子目录创建、文件拷贝、系统设置等繁琐工作,如能令上述工作全部自动进行,使整个二次开发程序在无人干预的情况下嵌入系统,将大大提高工作效率。

AutoCAD荣登全球绘图软件的龙头宝座,主要是因为它具有开放的体系结构。

它允许用户和开发者采用高级编程语言对其进行扩充和修改,即二次开发,能最大限度地满足用户的特殊要求。

AutoCAD第一版于1982年11月由AutoDESK公司推出,目前大家广泛使用的是AutoCAD2000或2002,最新版本是AutoCAD2004,其二次开发语言及工具也在不断地涌现语言本身不难,难点在对AutoCAD二次开发框架的掌握,其实AutoCAD文件可以当成一个数据库来理解,因此难点就是理解这个数据库的结构和编程方法。

CAD软件二次开发技术基础_CAD软件二次开发技术基础1_1002全解

CAD软件二次开发技术基础_CAD软件二次开发技术基础1_1002全解


CAD的二次开发适有哪些类型?
根据CAD软件应用开发接口的开放程度,一般可将其二次开发分 为非程序以及程序的二次开发两个方面。 UG是全球主流的CAD系统,是计算机辅助设计、辅助制造、辅 助工程和产品数据管理一体化的软件之一,应用广泛。本课程将以 UG NX为平台,介绍其相关的二次开发技术。

此外,CAD的通用性使其难以很好地应对不同用户 在技术标准方面的差异,在使用这些软件进行标准化设计 时并不方便,需要进行二次开发。
较之于与普通的CAD技术,二次开发对工程师的综 合能力要求更高,一般要求具有大专或本科以上学历的资 深CAD工程师。

关于CAD的二次开发:
什么是CAD的二次开发? CAD二次开发的特点?

(1)标准件库开发
UG的Mold Wizard模块是面向注塑模具行业的专业设计模块,是 个非常开放的功能体系,具有知识化、智能化的特点,能够大幅提高 模具设计效率。 UG模具设计模块的标准件库功能也是个开放的功能体系,利用 这个平台可以将企业的知识、标准嵌入到UG系统。对其进行适当扩 充,它的功能应用广度能无限扩大到整个机械行业及产品开发领域。
把用户的设计思想转化为特定的新功能需要以下基本要素,这些 基本要素构成了CAD软件二次开发平台的基本结构: (1)通用CAD软件-管理层; (2)编程开发环境-开发层; (3)应用程序编程接口(API)-支持层; (4)开发者的设计思想-知识层。

CAD的二次开发适具有哪些基本要素?
(1)通用CAD软件-管理层 作为二次开发应用程序的宿主,必须具有比较完备的基本功能。 即使没有二次开发应用程序,它也能满足基本的使用需求。 在二次开发平台中,通用CAD软件属于管理层,其所负责的主要 工作包括用户界面定制、图形显示、文档数据管理、交互流程控制、 消息分发和应用程序的管理等。

AutoCAD的二次开发

AutoCAD的二次开发

浅谈AutoCAD的二次开发林学与园林学院 06园林傅欣蕾摘要:通过对AutoCAD软件发展史的概述,从中归纳出CAD的总体发展趋势。

从当今各行业所需的CAD专业化功能,提出对其进行二次开发的意义及具体实施步骤。

关键词:AutoCAD 发展史二次开发专业化功能1.AutoCAD的发展简史:1.1、第一次CAD技术革命—曲面造型系统60年代出现的三维CAD系统只是极为简单的线框式系统。

这种初期的线框造型系统不能有效表达几体数据间的拓扑关系。

进入70年代,随着贝赛尔算法促使人们用计算机处理由线及曲面问题变得可行。

1.2、第二次CAD技术革命—实体造型技术1979年世界上第一个完全基于实体造型技术的大型CAD软件发布。

由于实体造型技术能够精确表达零件的全部属性,在理论上有助于统一CAD、CAE、CAM的模型表达,给设计带来了惊人的方便性。

1.3、第三次CAD技术革命—参数化技术1.4、第四次CAD技术革命—变量化技术成功运用参数化技术之后,开发人员发现了参数化技术尚有许多不足之外。

首先,“全尺寸约束”这一硬性规定就干忧和制约着设计者创造力及想象力的发挥。

再者,如在设计中关键形体的拓扑关系发生改变,失去了某些约束特征也会造成系统数据混乱。

1993年全新体系结构的I-DEAS Master Series软件问世,它第一次将变量化付诸实践。

变量化技术既保持了参数化技术的原有优点,同时又克服了它的不足之处。

无疑,变量化技术成就了SDRC,也驱动了CAD发展的第四次技术革命。

1.5、CAD的发展方向任何一种软件都是有缺陷而非完美无瑕的。

AutoCAD这一软件也是一样,只有在不断的发展中,找到自己的不足力求弥补,才能趋向臻化,达到一种完美。

纵观CAD的发展史,我们可以大略地看出该软件是朝着“人工智能化”、“专业应用化”等方向发展的。

而实现这样的发展方向的最佳手段就是通过对CAD的二次开发。

将各类专业设计技术研制成CAD系统的各类设计工具和知识,从而使使用者能按照专业设计的方向进行,可以大大提高CAD的设计效率。

AutoCAD二次开发

AutoCAD二次开发

第4章AutoCAD二次开发技术4.1 AutoCAD开发系统概述AutoCAD的二次开发途径主要有两个,即文件开发和程序开发。

文件开发是指根据用户的具体开发需要,按照AutoCAD提供的方法和文件格式,通过编辑AutoCAD系统所支持的文本文件(如ACAD.MNU和ACAD.LIN等)或建立同种类型新的文本文件,来开发AutoCAD,使其满足用户特定需要的方法。

程序开发是指利用AutoCAD提供的编程环境和开发工具(称为AutoCAD应用程序接口,缩写为API),通过编写程序来实现对AutoCAD开发的方法。

借助于程序开发,可为AutoCAD扩充新的命令或定义,以满足用户具体需要。

表4-1 文件开发可实现的开发内容和文件类型文件类型开发内容ACAD.PGP AutoCAD命令的用户化(定义外部命令和命令别名等)ACAD.LIN, *.LIN 修改标准线型,建立用户自定义线型及线型库ACAD.PAT, *.PAT 修改标准填充图案,建立用户自定义图案及图案库*.SCR 建立用户的命令脚本文件,自动执行一系列AutoCAD命令*.SLD, *.SLB 建立用户的幻灯片及幻灯片库ACAD.SHP, *.SHP 建立用户的自定义符号库和自定义字体文件*.MNU, *.MNS 开发用户的自定义菜单(包括下拉菜单、工具栏菜单、图像菜单、屏幕菜单、定点设备菜单和数字化仪菜单等)*.DXF 实现AutoCAD与其它CAD系统之间数据交换的中间文件,也是AutoCAD与其它用户应用程序之间图形数据的中间文件*.DCL 建立用户的自定义对话框表4-2 程序开发可实现的开发内容和文件类型程序文件类型AutoCAD简称语言环境可执行文件类型*.LSPAutoCAD*.LSP AutoLISP*.CPP, *.C ARX Visual C++ *.EXEBasic*.EXEVisualX*.BAS ActiveAutomation下图反映了AutoCAD 二次开发工具的演变:1986198719881989199019911992199319941995199619971998199920002001AutoLISPADS DCL ADS-RX Object ARX Active XAutomationVBA Visual LISP 图4-1 AutoCAD 二次开发工具的演变4.2 命令的用户化4.2.1 程序参数文件(ACAD.PGP)的结构与功能AutoCAD 程序参数文件(ACAD.PGP)是一个文本文件,用于存放AutoCAD 定义的命令。

AutoCAD软件的二次开发

AutoCAD软件的二次开发
(4)预定义符号 Nil:如果变量没有被赋值,则其值为Nil,注意:Nil不是空串也不是0值。 T:逻辑常量True。 PAUSE:与command函数配合使用,用于暂停,等待用户输入。 PI:圆周率。 注意:
2 AutoLISP程序设计语言
常用控制字符的表示方法
控制字符 反斜杠
用“\”为前导的转义字符表示 用“\”为前导的ASCII码数值表 示
\\
\014
双引号“ ’ ”
双引号“ ’ ”
\042
Esc键
\e
\033
回车键
\r
\015
换行
\n
\012
Tab键
\t\011注意:其中的符e、n、r、t 都必须是小写。
#<file “c:\\1.txt”>
9. 符号与变量:
(1)符号:标识,用来作为变量、函数的名称。 规定:不能只包含数字,不能包含:( ) . ‘ “ ;, 大小写等价。 例:合法符号:A1 1A B1 -d +e 非法符号:(a )b ’4 “5 注意:如果不是十分必要,符号的长度最好不要超过6个字符。
例:_$(ssget “X”) 说明:返回一个包含图形文件中所有对象的选择集。
6. 实体名:为图形对象指定的16进制的数字标识。通过该标识,可找到实体在 图形数据库中的位置,并可进一步对其进行编辑。
例:_$(entlast) 说明:返回最后一个加入图形文件的对象的实体名
2 AutoLISP程序设计语言
1 VisualLISP简介
五、VisualLISP: Autodesk公司为增强AutoLISP程序开发能力而设 计的软件工具。
Visual LISP集成开发环境的组成部分:

AUTOCAD二次开发

AUTOCAD二次开发

AutoCAD二次开发技术在工程图纸绘制中的应用1 前言随着计算机知识的普及和应用,计算机在社会各个领域显示出其巨大的生命力和发展潜力,作为计算机应用的一个重要领域--计算机辅助设计(CAD),在工程绘图设计中发挥了巨大的作用,而作为CAD绘图设计的代表软件,AutoCAD又显示出了它不同凡响的一面,由于其友好的用户界面,以及允许用户进行二次开发的特点,使之愈来愈为广大工程设计人员所熟悉、掌握并开发应用于专业方面的绘图设计软件。

掌握了AutoCAD的二次开发技术,可以充分发掘AutoCAD的潜力,简化了绘图程序,在工作中能够事半功倍,大大提高工作效率。

本文通过作者在最近几年的计算机辅助设计和绘图工作中应用AutoCAD进行二次开发的一些经验,分别利用几个实例程序来说明AutoCAD二次开发技术在工程图纸绘制中的应用,内容包括以下几个部分:(1) 以多种图象文件格式实现对CAD图象屏幕的"高保真"的保存,并以此为基础建立图纸目录库,以便于今后对专业图纸的查询。

(2) 利用对话框编程语言(DCL)来建立特殊字符编辑器,扩充AutoCAD的字符集。

(3) 利用AutoCAD语言实现Excel与Auto-CAD间的通讯。

作者衷心希望以此抛砖引玉,同广大的工程设计人员及CAD技术人员进行交流,互相取长补短,为CAD技术在我国的进一步推广及应用尽自己的菲薄之力。

2 用BMP位图文件来实现CAD图像屏幕"高保真"的保存目前对CAD图像屏幕进行保存的方法很多,时下流行的一些抓图软件如Grabber等均能用热键激活来捕捉CAD图像屏幕的画面,生成COM 文件,通过在DOS下运行该文件来达到显示的目的,这在工程图纸的查询,浏览与管理中确实为用户提供了不少方便。

我们在这里谨向读者提供一种新的方法,利用AutoCAD的一项鲜为人知的功能,通过配置打印机及光栅文件的输出,来实现CAD图像屏幕"高保真"的保存,通过此方法可生成256色的GIF,TGA,PCX,TIFF,BMP等各种图像格式的图形文件,可在DOS状态或WINDOWS下直接显示,也可在EXCEL,WORD, POWERPOINT,CORELDRAW等文字处理和图形图像处理软件中应用,兼容性极好,且图像清晰,背景色可随用户需要调整,也可运用于工程图纸的查询,浏览和管理,以及多媒体的图纸文档管理。

AutoCAD二次开发技术

AutoCAD二次开发技术

AutoCAD二次开发技术明经通道/index.html一、AutoCAD VBA简介•VBA(Visual Basic for Application)VBA是AutoCAD的一种开发工具,具有强大的功能。

Microsoft VBA是一种面向对象的编程环境,它与VB一样具有很强的开发功能。

VBA与VB之间的区别就是VBA AutoCAD在同一处理空间运行,为AutoCAD提供智能和快速的编程环境。

AutoCAD VBA开发的程序VBA功能:•创建对话框和其它界面;•创建工具栏;•建立模块级宏指令;•提供建立类模块的功能;•具有完善的数据访问和管理能力;(ADO、DAO、RDO,C/S)•能够使用Win32API提供的功能,建立应用程序与操作系统之间的通信;在AutoCAD中使用VBA的好处•Visual Basic编程环境易学易用;•VBA作为AutoCAD的一个过程运行,这使程序执行速度变得非常快;•对话框结构快速有效,允许开发者在设计时启动应用程序并能得到快速反馈;(易于代码纠错和维护)•对象可以独立出来,也可以嵌入AutoCAD 图形。

灵活性很强。

1.在工具菜单中选择宏-VBA 管理器。

2.或者,在AutoCAD 中调用VBAMAN 命令。

你可以使用VBA 管理器查看装载在当前AutoCAD 进程的所有VBA 工程。

VBA 管理器一个AutoCAD 工具,它允许你装载、卸载、保存、创建、嵌入和分离VBA 工程。

VBA 管理器VBA管理器二、理解类和对象在AutoCAD VBA界面中有许多不同类型的对象。

例如:图形对象,如线、弧、文本和标注都是对象;样式设置,如线型和标注样式均为对象;组织结构,如图层、组合和图块也是对象;图形显示,如视图和视口都是对象;甚至图形和AutoCAD应用程序本身也是对象。

对象是通过分层方式来组织的,应用程序对象为根对象。

这种分层结构的视图被归结为对象模型。

对象模型提供了你访问下一层对象的途径。

2012年职称计算机AutoCAD2004制图软件考试大纲

2012年职称计算机AutoCAD2004制图软件考试大纲

2012年职称计算机AutoCAD2004制图软件考试大纲第一章 AutoCAD 2004的基本操作一、内容提示AutoCAD 2004是目前应用最广的绘图软件之一,具有功能强大、使用灵活、接口方便等特点。

要熟练运用该软件,就必须掌握它的基础知识和基本操作方法。

本章主要介绍AutoCAD 2004的入门知识,包括其有效运行所必需的最低系统要求,系统的启动和退出方法、窗口操作方法、文件操作方法、绘图环境设置以及帮助功能的使用方法等。

二、考试基本要求(一)掌握的内容掌握AutoCAD 2004的启动和退出方法;掌握菜单、工具栏、鼠标、对话框、命令窗口、状态栏等的基本操作方法;掌握图形文件的创建、保存、打开和关闭方法。

(二)熟悉的内容熟悉AutoCAD 2004中的打印输出操作;熟悉工具栏的布局操作;熟悉系统绘图环境的设置方法和系统帮助功能的使用方法。

(三)了解的内容了解工具选项板的基本操作方法;了解图形文件的密码保护方法。

第二章二维图形绘制命令一、内容提示AutoCAD 2004提供了丰富的二维图形绘制命令,利用这些命令可以绘制出点、线、圆、圆弧、正多边形、椭圆等各种基本图形,还可以绘制多段线、样条曲线等较复杂图形。

本章主要介绍这些绘图命令的使用方法。

二、考试基本要求(一)掌握的内容掌握点、直线、多线、圆、圆弧、正多边形、矩形等基本图形的绘制方法;掌握:ji 维图形的图案填充方法。

(二)熟悉的内容熟悉构造线、椭圆、多段线等图形的绘制方法。

(三)了解的内容了解射线、圆环、样条曲线的绘制方法。

第三章辅助定位操作一、内容提示AutoCAD 2004提供了有效的图形辅助定位功能,利用这些功能可以提高绘图的效率和准确性。

本章主要介绍笛卡尔坐标系与世界坐标系的概念,并讲解栅格、捕捉、正交以及对象捕捉、对象自动追踪等图形辅助定位功能。

二、考试基本要求(一)掌握的内容掌握栅格和捕捉的设置、使用方法;掌握利用正交模式绘图的方法;掌握对象捕捉功能的设置和使用方法。

AutoCAD2004基本讲义绘图命令2

AutoCAD2004基本讲义绘图命令2
注意:先预览
15
五、复合图形
矩形:相继给定一对对角点,绘出一矩形。与直线绘制不同的 是,四个边是一个整体。
多边形:正多边形。 复合线(多段线):一个命令循环内,绘出多段线段,包括直
线、弧线。可定义线的宽度,可绘出首尾宽度不同的线段。 特点:一次循环内所有线段为一个整体。 圆环 多线:一次绘出多条平行线。“格式” “多线样式”中可定
文字样式的设置方法:下拉菜单—格式—文字样式-------激活对话框
新建—新建一个样式名,退出设置后,文字的格式,按白框中的名称样式定义的格
式书写。
每个样式有自己的:字体,高度和其它设置。一般不建议设置文字高度,保持为0。
注意:
①文字的字体不可选用前面带@的字体(如:@宋体),否则,汉字呈左旋90度
状态;
②输入汉字时,必须使用汉字体的文字样式,否则,汉字显示为“?”;
14
四、图案填充
1、命令:bhatch ,简命令h或bh 2、菜单:
下拉菜单 —— 绘图 —— 图案填充 —— “边界图案填充”对话框
①指定填充区域 ②选定图案名称 ③设置填充比例 可点取,也可在编 辑框内输入放大比例
按显示范围的1/100~1/1000 计算 ④ 设置图案旋转角度 在“角度”栏点 取,或输入旋转角度值。 ⑤ 在“高级”选项中,可以调整填充 的样式(“标准”、“外壳”、“忽略” )
主要用于放大观看某局部
范围(E) 已绘制图形区域(绘图区域)----观看全部已绘制的 图形。
全部(A) 图形极限 与 图形区域的并集-----一般与上相同。
上一个(P) 上次观看的范围(回看)
3
二、精确绘图的措施
㈠改变显示范围:
2、改变显示范围的命令 ⑵设置绘图界限(limits)命令 三个操作:一是定义图形极限范围;

CAD二次开发技术(一、二)课件

CAD二次开发技术(一、二)课件

AutoLISP是1986年随AutoCADv2.18提供的二次开发 工具。它是嵌入AutoCAD内部的一种人工智能语言。使 用 AutoLISP 可调用几乎所有的 AutoCAD 命令。 AutoLISP 语言最典型的应用之一是实现参数化绘图程序设计, 包括尺寸驱动程序和鼠标拖动程序等。另一个典型应 用就是驱动AutoCAD提供PDB模块构成DCL文件,创建自 己的对话框。 AutoLISP 适合于有能力的终端用户完成一些自己 的开发任务。
§1.3 AutoCAD二次开发工具简介
ActiveX Automation 是 微 软 公 司 VBA 推出的一个技术标准,其作用是在 Windows 系统的统一管理下协调不同的 VBA 是 2000 版本后具备 应用程序,允许应用程序之间相互控制、 相互调用。 的 功 能 。 它 通 过 AutoCAD AutoCAD ActiveX 技术提供了一种 ActiveX Automation 接 口 机制,可使编程者通过编程手段从 对 AutoCAD 进 行 编 程 控 制 , AutoCAD 的内部或外部来操纵 AutoCAD 。 ActiveX 是由一系列的对象组成,每一 是一个引入了对象的设计 个对象代表了 AutoCAD 中一个明确的功 环境,为用户提供类似 能,如绘制图形对象、定义块和属性等 Visual Basic语言所拥有的 等 。 ActiveX 所 具 备 的 绝 大 多 数 AutoCAD 功能,均以方法和属性的方式 功能,可以执行并存取 AutoCAD 环 境 的 所 有 资 源 , 被封装在 ActiveX 对象中,只要使用某 种方式,使 ActiveX 对象得以“暴露”, 适合编写中型的数据库类 那么就可以使用各种面向对象编程的语 言对其中的方法、属性进行引用,从而 的CAD软件。 达到对AutoCAD实现编程的目的。

autocad二次开发

autocad二次开发

AutoCAD二次开发简介AutoCAD是一款功能强大的计算机辅助设计(CAD)软件,广泛应用于建筑、机械、电气等行业。

除了AutoCAD本身提供的功能外,用户还可以通过二次开发来扩展和定制AutoCAD的功能,以满足特定的需求。

AutoCAD二次开发的优势AutoCAD二次开发的优势在于可以根据用户的具体需求进行定制化开发,如自动化绘图、数据分析、工作流程优化等,提高工作效率和准确性。

与使用传统方法进行手动操作相比,二次开发可以大大简化工作流程,减少重复性劳动,节省了时间和人力资源。

AutoCAD二次开发的方法AutoCAD二次开发的主要方法包括使用AutoLISP、Visual Basic for Applications(VBA)、.NET等编程语言进行开发。

AutoLISPAutoLISP是AutoCAD内建的一种简单的解释性编程语言,用户可以通过AutoLISP开发自定义命令、函数和程序。

使用AutoLISP可以实现自动绘图、自动标注、数据提取等功能。

开发过程相对简单,但扩展性和性能有限。

VBAVBA是一种基于Microsoft Visual Basic的编程语言,用户可以通过VBA进行二次开发,进行更复杂的任务,如自动化CAD操作、数据处理等。

VBA具有良好的可扩展性和性能,并且易于学习和使用。

.NET使用.NET开发AutoCAD插件是一种相对较新和强大的二次开发方法,可以使用多种编程语言,如C#、等。

通过.NET开发,用户可以实现更高级的功能和交互,如集成数据库、Web服务等。

.NET开发需要一定的编程基础,但其灵活性和功能强大,使得更多复杂的任务可以得以实现。

AutoCAD二次开发的应用实例AutoCAD二次开发在各个领域都得到了广泛应用,以下是一些常见的应用实例:1.自动化绘图:通过二次开发,可以实现自动生成平面图、剖面图、立面图等,提高绘图效率和准确性。

2.数据提取与分析:通过二次开发,可以从大量的图纸中提取所需的数据和信息,并进行进一步的分析和统计。

简述AutoCAD 2004二次开发工具

简述AutoCAD 2004二次开发工具

在 Auo AD 20 tC 0 4中 实 现 A t e 接 口有 以下 几 个 优 点 : ci X v 速 度 。 V A 在 进 程 内 运 行 , t e 应 用 程 序 比 A tLS 用 B Ac vX i uo IP应 用
程序快。 易 用 。 程 语 言 和 开 发 环 境 易 于 使 用 并 且 随 A tC D 一 起 安 装 。 编 uo A
【 ywo d ] uo A ; eod r e e p e tT l Ke r sA tC D Scn aydvl m n; o s o
如 果 vsa LS i l IP把 控 制 传 给 A tC D 时 A t AD 已被 最 小 化 , u uo A uo C uo A Vi l IP不 会 自动 u C AD( o ue ie ei 的 含 义 是 指 计 算 机 辅 助 设 计 , 计 用 户 必 须 手 动 恢 复 并 激 活 A tC D才 可 继 续 , sa LS C mp tr ddD s n) A g 是 uo A Vsl LS u 算 机 技 术 的 一 个 重 要 的 应 用 领 域 。A tC D 则 是 美 国 A td s uo A uoek企 业 恢 复 A tC D 窗 口 。 相 反 , i a IP窗 口 中 会 出 现 并 保 持 一 个 i l LS n uo A uo AD命 令 提 示 开 发 的一 个 交 互 式 绘 图 软 件 , 用 于二 维 及 三 维 设 计 、 图 的 系 统 工 Vsa IP符 号 ,直 到 激 活 A tC D并 响 应 了在 A tC 是 绘
改 . 还 包 含 了完 整 的 图 形 信 息 数 据 库 , 以利 用 其 他 程 序 工 具 对 这 它 可

AutoCAD使用及二次开发

AutoCAD使用及二次开发

第三章AutoCAD使用及二次开发第一节计算机图形学概要计算机图形学是关于计算机图形技术的学科。

它主要研究构造模型并利用计算机及其图形设备生成、处理、存储、输入与输出图形的有关原理、算法和技术,在工程领域有广泛的应用,因此学习和掌握计算机图形技术对于工程技术人员来讲,具有十分重要的现实意义。

计算机图形学是CAD领域的理论基础,涉及的内容广泛,这里我们主要介绍基本概念及有关的一些算法,它们包括曲线、曲面的设计以及几何造型技术等。

一、坐标变换坐标变换是图形处理的一种手段。

对于不同类型的形体、图形和图纸,在不同的处理阶段需要采用不同的坐标系,以提高图形处理的效率和便于用户的理解。

下面介绍一些与坐标变换有关的概念。

1.坐标系在图形处理过程中涉及到多种不同的坐标系,但概括起来可以把坐标系分成两大类:一类是面向系统的,例如绘图机和图形显示器等图形设备坐标系以及语言环境设置的窗口等,它主要用于实现绘图定位;另一类是面向用户的,例如图形坐标系、自然坐标系等,它用于分析图形自身的关系、建立数学模型以及采集数据。

2.齐次坐标在数学上,齐次坐标是空间位置矢量的一种表示方法。

一个n维位置矢量,在普通坐标下表示为[x1,x2,…,x n],它的齐次坐标表示在齐次坐标下将矢量表示成n+1维空间位置矢量[hx1,hx2,hx3,…,hx n,h],h为比例因子。

当h=1时,空间位置矢量为[x1,x2,…,x n,1],并称为其次坐标的规格化形式,在图形变换中一般采用这种规格化形式,此时在数值上齐次坐标与普通坐标相等。

这种n+1维向量表示一个n维向量的坐标表示方法称为齐次坐标表示法。

二、曲线、曲面的设计公路设计中处理的图形,按其形状可分为两大类。

第一类是规则形状的图形,通常由平面、二次曲面等组成,例如桥涵的蹲台、基础等结构图。

这类图形一般采用常规的三面视图的方法来表示。

第二类是自由形状的图形,通常由自由型曲线和曲面构成,例如地面就属于这类图形。

AutoCAD的二次开发

AutoCAD的二次开发

AutoCAD的二次开发浅谈AutoCAD的二次开发林学与园林学院 06园林傅欣蕾摘要:通过对AutoCAD软件发展史的概述,从中归纳出CAD的总体发展趋势。

从当今各行业所需的CAD专业化功能,提出对其进行二次开发的意义及具体实施步骤。

关键词:AutoCAD 发展史二次开发专业化功能1.AutoCAD的发展简史:1.1、第一次CAD技术革命—曲面造型系统60年代出现的三维CAD系统只是极为简单的线框式系统。

这种初期的线框造型系统不能有效表达几体数据间的拓扑关系。

进入70年代,随着贝赛尔算法促使人们用计算机处理由线及曲面问题变得可行。

1.2、第二次CAD技术革命—实体造型技术1979年世界上第一个完全基于实体造型技术的大型CAD软件发布。

由于实体造型技术能够精确表达零件的全部属性,在理论上有助于统一CAD、CAE、CAM的模型表达,给设计带来了惊人的方便性。

1.3、第三次CAD技术革命—参数化技术1.4、第四次CAD技术革命—变量化技术成功运用参数化技术之后,开发人员发现了参数化技术尚有许多不足之外。

首先,“全尺寸约束”这一硬性规定就干忧和制约着设计者创造力及想象力的发挥。

再者,如在设计中关键形体的拓扑关系发生改变,失去了某些约束特征也会造成系统数据混乱。

1993年全新体系结构的I-DEAS Master Series软件问世,它第一次将变量化付诸实践。

变量化技术既保持了参数化技术的原有优点,同时又克服了它的不足之处。

无疑,变量化技术成就了SDRC,也驱动了CAD发展的第四次技术革命。

1.5、CAD的发展方向任何一种软件都是有缺陷而非完美无瑕的。

AutoCAD这一软件也是一样,只有在不断的发展中,找到自己的不足力求弥补,才能趋向臻化,达到一种完美。

纵观CAD的发展史,我们可以大略地看出该软件是朝着“人工智能化”、“专业应用化”等方向发展的。

而实现这样的发展方向的最佳手段就是通过对CAD的二次开发。

Autolisp(2)

Autolisp(2)

;逆时针方向为正
AutoLisp
9
二、设置图层、颜色、线型和线宽
10 11 9
1
12
2 4 8
2d
3 7
0.8d 0 d
2d
0
5 6
0.7d
ld
AutoLisp
10
二、设置图层、颜色、线型和线宽
1 创建一个当前图层 1. 创建 个当前图层
假定图层的名字是“zhongxin”、颜色为红色、线型为center、线宽为 0 2,通过 0.2 通过command函数创建一个当前图层表达式如下: ( (command "layer" y "Make" "zhongxin" g "Color" 1 "zhongxin" g "Ltype" "Center" "zhongxin" "LWeight" 0.2 "zhongxin" "") 因为 Make 、 Color 、 Ltype 、 LWeight 等选项可以简写为 等 简 M 、 C 、 L 、 LW ,所以上式可改为: (command "layer" "M" "zhongxin" "C" 1 "zhongxin" "L" "Center" "zhongxin" "LW" 0.2 "zhongxin" "")
(setvar "lunits" 2) (setvar "luprec" luprec 3) (setvar "aunits" 1) (setvar "auprec" 2) ;长度单位为十进制 ;长度单位3位小数 ;角度单位为十进制的度 ;角度单位为长2位小数 ;X轴正方向为0
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

DXF文件的图形数据交换
• 工程设计的计算部分由高级语言完成; • 并形成相关结构数据图形信息; • 绘图部分用AutoCAD完成AutoCAD处理。
DXF文件的图形数据交换
• 通过DXF文件可以把图形转换成数据传送给 高级语言程序; • 反过来,也能把数据传入AUTOCAD中变换成 图形。 • 即DXF文件是双向交换,既可用AutoCAD系 统读入,同时又可以从AutoCAD系统中写出。
/*关闭scr文件*/ void end() { fprintf(fp," 0\nENDSEC\n 0\nEOF\n\n"); fclose(fp); }
/*主函数*/ void main() { float x1=0,y1=0,x2=200.0,y2=200.0,r1=3.0,r2=2.0,h=4.0; float x0=6.0,y0=6.0; float xc,yc,r,ax,ay,ar,as,ae; float xs,ys,xe,ye; xc=x0;yc=y0;r=r2; begin(); circle(xc,yc,r); ax=x0; ay=y0; ar=r1; as=0.0; ae=180.0; arc(ax,ay,ar,as,ae); xs=x0-r1;ys=y0;xe=xs; ye=y0-h; line(xs,ys,xe,ye); ys=ye;xe=x0+r1; line(xs,ys,xe,ye); xs=xe;ye=y0; line(xs,ys,xe,ye); end(); }
• • • • • • • • • • • • •
例如:画直线 0 LINE 画线。 8 图层。 2 第二图层。 10 起点x坐标。 20.0 20 起点y坐标。 20.0 11 终点x坐标。 100.0 21 终点y坐标 100.0
DXF文件的图形数据交换
DXF文件的图形数据交换
• 2、生成图形交换条件的接口软件介绍
•生成SCR文件的方法有两种: ①利用各种文本编辑软件来生成SCR文件。 因为SCR文件是ASCII码的文本文件,因此 就可用PE、TC编辑器、记事本等编辑软件 来直接编辑形成SCR文件。 ②利用高级语言编写绘图程序,运行程序 后自动生成SCR文件。这种方法由于可实现 设计和绘图成为一体,因此使用比上一种 方法广泛。
SCR 文件执行方式 Command: SCRIPT↓ SCRIPT FILE NAME: (输入命令组文件名)↓ 采用SCR文件形式编写绘图程序 优点:直观,便于修改检查; 缺点:由于是逐行执行,逐行显示,因而绘 图速度较慢。
/*用圆心'半径'起始角画圆弧的程序模块*/ void arc(float ax,float ay,float ar,float as,float ae) { fprintf(fp," 0\nARC\n 8\n0\n"); fprintf(fp," 10\n%f\n",ax); fprintf(fp," 20\n%f\n",ay); fprintf(fp," 40\n%f\n",ar); fprintf(fp," 50\n%f\n",as); fprintf(fp," 51\n%f\n",ae); }
/*用圆心半径画圆的程序模块*/ void circle(float xc,float yc,float r) { fprintf(fp," 0\nCIRCLE\n 8\n0\n"); fprintf(fp," 10\n%f\n",xc); fprintf(fp," 20\n%f\n",yc); fprintf(fp," 40\n%f\n",r); }
DXF文件的图形数据交换
• 在AUTOCAD中,图形数据都采用压缩的数据 格式来存储,并且AUTODESK公司没有公布 图形文件的格式,因此,普通人员用高级 语言编写的程序难于直接从中取得有关的 图形数据。 • 同样,高级语言绘图计算程序产生的绘图 信息,不经处理AUTOCAD软件也不接受。为 此,在高级语言程序和AUTOCAD之间,就需 要有一个绘图交换中间文件,DXF文件就是 其中之一。
/*两点之间画直线的模块*/ void line(float xs,float ys,float xe,float ye) { fprintf(fp,"line %f,%f %f,%f \n",xs,ys,xe,ye); }
/*用圆心半径画圆的程序模块*/ void circle(float xc,float yc,float r) { fprintf(fp,"circle %f,%f %f\n",xc,yc,r); }
arc(ax1,ay1,ax2,ay2,ax3,ay3); xs=x0-r1; ys=y0; xe=xs; ye=y0-h; line(xs,ys,xe,ye); ys=ye; xe=x0+r1; line(xs,ys,xe,ye); xs=xe; ye=y0; line(xs,ys,xe,ye); end(); }
/*关闭scr文件*/ void end() { fclose(fp); }
/*主函数*/ void main() { float x1=0,y1=0,x2=200.0,y2=200.0,r1=3.0,r2=2.0,h=4.0; float x0=6.0,y0=6.0; float xc,yc,r,ax1,ay1,ax2,ay2,ax3,ay3; float xs,ys,xe,ye; xc=x0;yc=y0;r=r2; begin(); circle(xc,yc,r); ax1=x0+r1; ay1=y0; ax2=x0; ay2=y0+r1; ax3=x0-r1; ay3=y0;
8.10 SCR文件的图形数据交换
• SCR文件也就是命令组文件法 • 这种方法就是把一系列人机交互操作的命令、选择 项和数据,集中编写成一个扩展名为SCR的文件,然 后在AutoCAD环境下,以批处理的方式逐条进行,并 生成相应的图形。 • 在SCR文件中,命令、选择项和数据的排列顺序和人 机交互作业方式下,用Command:命令输入状态时完 全一致。在文件中,用空格表示回车(return), 用逗号作为坐标x,y,z值间的分隔符。
/*画直线的模块*/ void line(float xs,float ys,float xe,float ye) { fprintf(fp," 0\nLINE\n 8\n0\n"); fprintf(fp," 10\n%f\n",xs); fprintf(fp," 20\n%f\n",ys); fprintf(fp," 11\n%f\n",xe); fprintf(fp," 21\n%f\n",ye); }
/*设置绘图界限子程序*/ void limits(float x1,float y1,float x2,float y2) { fprintf(fp,"limits %f,%f %f,%f\n",x1,y1,x2,y2); }
/*显示整个绘图范围*/ void zoomall() { fprintf(fp,"zoom a\n"); }
DXF文件的图形数据交换
• 例如,有的子程序可以生成DXF文件的标题 段,有的生成结束行,有的完成某一图形 实体数据文件的生成等,下面我们举例。
例:使用C语言生成DXF文件。 #include<stdio.h> #include<string.h> /*函数声明*/ FILE *fp; char fname[12]; /*建立一个DXF文件*/ void begin() { printf("enter DXF file name:"); scanf("%s",fname); strcat(fname,".dxf"); fp=fopen(fname,"w"); fprintf(fp," 0\nSECTION\n 2\nENTITIES\n"); }
• 从上例看出,对于生成像直线这样简单图形的DXF 交换文件,如果我们采用人工逐条编辑生成的方 法,就已经很复杂,更不用说复杂的图形,因此, 这项工作也应该让计算机去完成。 • 如何使计算机自动生成图形交换文件呢?这必须 由软件工作者进行二次开发的工作。 • 主要内容是提供给用户一个功能完善的生成DXF文 件的子程序库(函数库),库内有若干个子程序(函 数) ,每个子程序(函数)都有设定的各自功能。
/*三点画圆弧的模块*/ void arc(float ax1,float ay1,float ax2,float ay2,float ax3,float ay3) { fprintf(fp,"arc %f,%f %f,%f %f,%f\n",ax1,ay1,ax2,ay2,ax3,ay3); }
例2:使用C语言建立SCR文件。 #include<stdio.h> #include<string.h> /*函数声明*/ FILE *fp; char fname[12]; /*建立一个scr文件*/ void begin() { printf("enter scr file name:"); scanf("%s",fname); strcat(fname,".scr;); }
8.9 DXF文件的图形数据交换
• AutoCAD是以绘图为主的交互式绘图软件包,它
主要是以图形处理为主,科学计算能力有限。 • 而在工程计算中工程技术人员往往是使用 fortran、basic、pascal和c语言等来进行计算。 • AutoCAD 优点:绘图能力强。缺点:计算能力 弱。 • 高级语言 优点:计算能力强。缺点:绘图能力 弱。
相关文档
最新文档