土木工程CAD技术基础AutoCAD应用技术.pptx
《土木工程CAD技术基础AutoCAD应用技术.pptx》由会员分享,可在线阅读,更多相关《土木工程CAD技术基础AutoCAD应用技术.pptx(73页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、会计学1土木工程土木工程CAD技术基础技术基础AutoCAD应用技应用技术术24.1 AutoCAD概述概述4.1.1 AutoCAD的发展2020世纪世纪8080年代美国年代美国AutodeskAutodesk公司开发公司开发专门用于设计工作的计算机绘图软专门用于设计工作的计算机绘图软件件经历了多次升级经历了多次升级目前的最新版本是目前的最新版本是AutoCAD 2009AutoCAD 2009以往主要版本:以往主要版本:1.0 2.0 9.0 12 13 14 1.0 2.0 9.0 12 13 14 2000 2000 2007 2008 2007 2008已经广泛地应用于多行业:已经广
2、泛地应用于多行业:建筑、机械、电子、服装等行业建筑、机械、电子、服装等行业中中第1页/共73页34.1.2 AutoCAD的主要功能1.1.提供交互式绘图环境提供交互式绘图环境A.A.二维图形的建立、编辑功能二维图形的建立、编辑功能 包括:线、圆、弧、矩形等基本图形包括:线、圆、弧、矩形等基本图形 块、外部参照等复合图形块、外部参照等复合图形 文本、尺寸等标注图形文本、尺寸等标注图形B.B.三维图形的建立、编辑及渲染功能三维图形的建立、编辑及渲染功能2.2.提供二次开发环境提供二次开发环境第2页/共73页4中银大厦外墙挂板施工管理信息系统(清华、中建建筑承包)第3页/共73页5第4页/共73页
3、6第5页/共73页7第6页/共73页8第7页/共73页94.1.3 AutoCAD的二次开发环境主要有主要有3 3种种:1.1.Visual LISPVisual LISPAutoLISPAutoLISP是是AutoCADAutoCAD最早的二次开发工具最早的二次开发工具来自来自Common LISPCommon LISP从从AutoCADAutoCAD的内部运行的内部运行Visual LISPVisual LISP是用来加速是用来加速AutoLISPAutoLISP程程序开发的工具软件,嵌于序开发的工具软件,嵌于20002000以以后版本中后版本中是一个集成开发环境(是一个集成开发环境(ID
4、EIDE)第8页/共73页102.2.VBAVBA即:即:Visual Basic for Application programming Visual Basic for Application programming environment environment 利用利用AutoCAD ActiveXAutoCAD ActiveX(AutoCADAutoCAD组件)组件)从从AutoCADAutoCAD内部或外部内部或外部程序化地(程序化地(交互式地)进行绘图操作交互式地)进行绘图操作 20002000以上以上AutoCADAutoCAD本身具有本身具有VBAVBA开发环境开发环境 键入
5、键入VBAIDEVBAIDE即可进入即可进入第9页/共73页113.3.ObjectARXObjectARX来自来自ARXARX:AutoCAD Runtime eXtension AutoCAD Runtime eXtension programming programming environment environment是一个是一个面向对象面向对象的二次开发环境的二次开发环境使用使用C+C+语言进行编程语言进行编程 利用利用AutoCADAutoCAD提供的程序库提供的程序库(包括类库)(包括类库)可以定义新类,或向已有类添可以定义新类,或向已有类添加操作加操作 从从AutoCADAut
6、oCAD的内部运行的内部运行 AutoCADAutoCAD的最强有力的二次开发的最强有力的二次开发工具工具第10页/共73页学习学习ObjectARXObjectARX所需的知识所需的知识1.1.AutoCAD AutoCAD的基本知识和使用经验的基本知识和使用经验 主要是主要是 AutoCADAutoCAD的基本概念、基本命令和操作的基本概念、基本命令和操作 方法,有一些使用经验方法,有一些使用经验2.2.C+C+的知识的知识 面向对象程序设计的概念面向对象程序设计的概念 C+C+语法语法 Microsoft Visual C+Microsoft Visual C+的使用方法的使用方法下节讲
7、述已补课12第11页/共73页134.2 AutoCAD的基本概念的基本概念第12页/共73页14 共介绍共介绍9 9组基本概念组基本概念1.1.模型空间模型空间和和图纸空间图纸空间 (Model Model Space and Paper SpaceSpace and Paper Space)图纸空间为规划打印布局而设置图纸空间为规划打印布局而设置在图纸空间中只能编辑图纸空间在图纸空间中只能编辑图纸空间中的对象中的对象模型空间和图纸空间之间可以切模型空间和图纸空间之间可以切换换2.2.世界坐标系世界坐标系(WCSWCS)和)和用户坐标用户坐标系系(UCSUCS)默认为默认为WCSWCS,可切
8、换为,可切换为UCSUCS点的坐标输入方法:点的坐标输入方法:直角坐标、极坐标、球面坐标、直角坐标、极坐标、球面坐标、柱面坐标柱面坐标第13页/共73页153.3.绘图界限绘图界限表明用户的工作区域和图纸边界表明用户的工作区域和图纸边界4.4.图层(图层(LayerLayer)用来组织不同类型的图形信息用来组织不同类型的图形信息5.5.命令命令使用系统功能的工具使用系统功能的工具可从命令区输入执行,也可通过可从命令区输入执行,也可通过选菜单执行选菜单执行6.6.栅格栅格、捕捉捕捉和和正交模式正交模式绘图的辅助功能绘图的辅助功能第14页/共73页167.7.AutoCADAutoCAD数据库数据
9、库和和对象对象在在AutoCADAutoCAD中,图被存储在中,图被存储在AutoCADAutoCAD数据库中数据库中AutoCADAutoCAD数据库是一系列对象的数据库是一系列对象的集合集合包括两类:包括两类:实体实体 容器对象(可分为:符号表和容器对象(可分为:符号表和字典两类)字典两类)8.8.实体(实体(EntityEntity)实体是一个有图形表示的数据库实体是一个有图形表示的数据库对象对象e.g.line,circle,arc,text,solide.g.line,circle,arc,text,solid第15页/共73页179.9.符号表符号表和和字典(字典(Symbol T
10、able and Symbol Table and DictionaryDictionary)二者本质上具有相同功能:包含二者本质上具有相同功能:包含一些数据库对一些数据库对 象,每个对象用一个键(字符串)象,每个对象用一个键(字符串)来查找来查找 符号表符号表:数目固定,共:数目固定,共9 9个个 每个只包含特定类型的对象每个只包含特定类型的对象 字典字典:默认情况下包含两个字典:默认情况下包含两个字典 组字典和组字典和MLINEMLINE形式字典形式字典 可创建任意数量的对象并将其可创建任意数量的对象并将其添加到字典中添加到字典中第16页/共73页184.3 Windows应用程序设计入门
11、应用程序设计入门见另附的见另附的pptppt文件文件第17页/共73页194.4 AutoCAD的二次开发技术的二次开发技术4.4.1 ObjectARX基础ObjectARXObjectARX提供了可供提供了可供C+C+调用的程序库,用以:调用的程序库,用以:开发基于开发基于AutoCADAutoCAD的应用程序的应用程序扩展扩展AutoCADAutoCAD类及其成员函数类及其成员函数创建与创建与AutoCADAutoCAD中的命令完全类中的命令完全类似的命令似的命令ObjectARXObjectARX应用程序是一个与应用程序是一个与AutoCADAutoCAD共享内存共享内存空间的空间的D
12、LLDLL(动态连接库)(动态连接库)是是在在AutoCADAutoCAD中运行中运行的可执行文的可执行文件(件(*.arx.arx)第18页/共73页20动态连接库的概念动态连接库的概念一般以一般以.dll.dll文件的形式存在文件的形式存在,在应用程序运行时,在应用程序运行时,操作系统才加载和连接该函数库操作系统才加载和连接该函数库多个应用程序可共享一个函数库多个应用程序可共享一个函数库 MS-DOSMS-DOS使用静态连接:把函数库连接并包含在使用静态连接:把函数库连接并包含在执行程序中执行程序中WindowsWindows应用程序既可采用动态连接库,也可采应用程序既可采用动态连接库,也
13、可采用静态连接用静态连接第19页/共73页214.4.2 ObjectARX应用程序开发环境包括以下包括以下4 4项项1.1.WindowsWindows操作系统操作系统 建议使用建议使用Windows XPWindows XP平台平台2.2.AutoCAD 2008AutoCAD 2008;3.3.Microsoft Visual C+8.0Microsoft Visual C+8.0 即即Visual Studio.NET 2005Visual Studio.NET 2005 作为集成开发环境,用于作为集成开发环境,用于ObjectARXObjectARX应用程序的应用程序的 编辑、编译、
14、连接和调试编辑、编译、连接和调试第20页/共73页224.4.ObjectARX SDK for AutoCAD 2008ObjectARX SDK for AutoCAD 2008 (最新为(最新为20092009)包含了包含了ObjectARXObjectARX程序库以及相关文档程序库以及相关文档 程序库程序库 体现为体现为.h.h文件和文件和.lib.lib文件文件 包含了包含了函数库函数库和和类库类库 相关文档相关文档包含了丰富的内容包含了丰富的内容 编程时可以多参考:英文编程时可以多参考:英文 可以到网络学堂本课程的可以到网络学堂本课程的“参考资料参考资料”中下载中下载 或从或从Au
15、todeskAutodesk公司的网站上下载公司的网站上下载第21页/共73页23第22页/共73页24ObjectARXObjectARX类和函数分类类和函数分类1.1.AcRXAcRX用于绑定应用程序及运行时类的注册和识别用于绑定应用程序及运行时类的注册和识别2.2.AcEdAcEd用于注册内部命令和系统事件通知用于注册内部命令和系统事件通知3.3.AcDbAcDb用于表示用于表示AutoCADAutoCAD数据库数据库4.4.AcGiAcGi用于渲染用于渲染AutoCADAutoCAD实体实体5.5.AcGeAcGe用于线性代数和几何对象的处理用于线性代数和几何对象的处理第23页/共73
16、页25前缀所需的程序库AcRxacad.lib,rxapi.lib,acrx17.libAcEdacad.lib,rxapi.lib,acedapi.lib,acrx17.libAcDbacad.lib,rxapi.lib,acdb17.lib,acrx17.libAcGiacad.lib,rxapi.lib,acdb17.lib,acrx17.libAcGeacad.lib,rxapi.lib,acge17.lib,acrs17.lib应用程序所需的ObjectARX程序库第24页/共73页26演示演示1 1:看:看ObjectARX DocumentationObjectARX Docum
17、entation的内容的内容1.1.ObjectARX Developers Guide ObjectARX Developers Guide用于掌握用于掌握ObjectARXObjectARX的概念(教材)的概念(教材)2.2.ObjectARX Reference ObjectARX Reference用于查找有关内容(手册)用于查找有关内容(手册)只有英文资料只有英文资料大家学习专业英语的好机会:大家学习专业英语的好机会:若有困难,请大家指出若有困难,请大家指出第25页/共73页274.4.3 ObjectARX应用程序框架通过一个简单的例程序来说明通过一个简单的例程序来说明firstA
18、RXfirstARX:由:由.cpp.cpp和和.def.def文件组成文件组成用来显示一个对话框用来显示一个对话框第26页/共73页28/firstARX.cpp/firstARX.cpp程序清单程序清单程序清单程序清单#include#include#include#includevoidinitApp();voidinitApp();voidunloadApp();voidunloadApp();voidfirstARX();voidfirstARX();voidinitApp()voidinitApp()acedRegCmds-acedRegCmds-addCommandaddComm
19、and(LfirstARX_Commands,LfirstARX_Commands,/命令组名命令组名命令组名命令组名LfirstARX,LfirstARX,/全局全局全局全局命令名命令名命令名命令名LL第一次第一次第一次第一次,/本地本地本地本地/翻译命令名,翻译命令名,翻译命令名,翻译命令名,ACRX_CMD_TRANSPARENT,ACRX_CMD_TRANSPARENT,/命令模式命令模式命令模式命令模式firstARXfirstARX/被调用的函数被调用的函数被调用的函数被调用的函数););voidunloadApp()voidunloadApp()acedRegCmds-remov
20、eGroup(LfirstARX_Commands);acedRegCmds-removeGroup(LfirstARX_Commands);1/3第27页/共73页29voidvoidfirstARXfirstARX()()ads_alert(Lads_alert(L这是我的第一个这是我的第一个这是我的第一个这是我的第一个ARXARX应用程序应用程序应用程序应用程序!);!);externCexternCAcRx:AppRetCodeAcRx:AppRetCodeacrxEntryPointacrxEntryPoint(AcRx:AppMsgCodemsg,void*pkt)(AcRx:Ap
21、pMsgCodemsg,void*pkt)switchswitch(msg)(msg)/msg/msg是是是是AutoCADAutoCAD传递给应用程序的消息传递给应用程序的消息传递给应用程序的消息传递给应用程序的消息casecaseAcRx:kInitAppMsg:AcRx:kInitAppMsg:/解锁应用程序,才能被卸载解锁应用程序,才能被卸载解锁应用程序,才能被卸载解锁应用程序,才能被卸载acrxDynamicLinker-unlockApplication(pkt);acrxDynamicLinker-unlockApplication(pkt);acrxRegisterAppMDI
22、Aware(pkt);acrxRegisterAppMDIAware(pkt);initAppinitApp();break;();break;casecaseAcRx:kUnloadAppMsg:AcRx:kUnloadAppMsg:unloadAppunloadApp();break;();break;default:default:break;break;returnAcRx:kRetOK;returnAcRx:kRetOK;2/3第28页/共73页30/firstARX.def/firstARX.def程序清单程序清单程序清单程序清单/用于输出用于输出用于输出用于输出acrxEntry
23、Point()acrxEntryPoint()函数,使函数,使函数,使函数,使AutoCADAutoCAD能够访问它能够访问它能够访问它能够访问它LIBRARYfirstARXLIBRARYfirstARX EXPORTSEXPORTSacrxEntryPointacrxEntryPointPRIVATEPRIVATEacrxGetApiVersionacrxGetApiVersionPRIVATEPRIVATE3/3第29页/共73页31程序说明:两个重要的函数程序说明:两个重要的函数1.1.acrxEntryPointacrxEntryPoint程序的入口点,等价于程序的入口点,等价于C
24、C语言程序的语言程序的main()main()函数,用来与函数,用来与AutoCADAutoCAD进行通讯,响应系统发来的各种消息,并装入和执行外部函数。进行通讯,响应系统发来的各种消息,并装入和执行外部函数。当应用程序被加载,系统发出消息当应用程序被加载,系统发出消息kInitAppMsgkInitAppMsg2.2.firstARXfirstARX被装入和执行的外部函数,真正执行显示对话框任务被装入和执行的外部函数,真正执行显示对话框任务第30页/共73页32演示演示2 2:在:在VC+VC+中的实现步骤中的实现步骤分为以下分为以下1010步步 1.1.在在VC+VC+中新建中新建Win3
25、2Win32项目,项目名称为项目,项目名称为testtest 2.2.在应用程序向导中,应用程序类型设为在应用程序向导中,应用程序类型设为DLLDLL 3.3.在项目中,添加新项为在项目中,添加新项为C+C+文件,名为文件,名为firstARXfirstARX 4.4.将相应文件内容拷贝到该文件中将相应文件内容拷贝到该文件中 5.5.在项目中,添加新项为在项目中,添加新项为DEFDEF文件,名为文件,名为firstARXfirstARX 6.6.将相应文件内容拷贝到该文件中将相应文件内容拷贝到该文件中 7.7.进行项目属性设置进行项目属性设置第31页/共73页33 A.A.C/C+C/C+(编
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 土木工程 CAD 技术 基础 AutoCAD 应用技术
限制150内