嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 5 元微信扫码支付:5 元
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
AutoCAD 以其通用的格式、完善的图形绘制功能及强大的图形编辑功能在各行业计算机辅助设计方
面发挥着举足轻重的作用,对其进行二次开发能以更高精度、速度的进行计算机辅助设计,提高工作效
率。
如今 AutoCAD 支持的二次开发语言比较丰富,不管在哪种开发语言下对其进行二次开发 AutoCAD 的
运行原理、程序设计的方法及开发思路是不变的。综合各种开发语言的性能、功能、开发周期、开发难
度以及未来的趋势得出结论:在.NET(C#)环境下对其进行二次开发最为合适。
本书力求循序渐进、由浅入深,详细介绍 AutoCAD 二次开发原理与技术。以.NET(C#)环境下二次开
发为主线,并介绍.NET(C#)调用 ObjectARX(C )程序的方法,从而实现在 C#环境中构建程序框架(易于实
现与修改),必要的时候在 C 环境中实现复杂或目前未托管的程序功能。融入 C 程序让.NET(C#)开发即
便捷高效又功能强大。本书在详细的介绍 AutoCAD 基本对象及功能实现的同时结合丰富的开发实例以拓
展开发的思路、指导实践开发的过程。
本书内容安排如下:
第一章“概述” 主要介绍 AutoCAD 软件的功能用途以及开发环境。
第二章“AutoCAD 操作应用” 简单介绍软件的应用操作。
第三章“程序设计基础” 主要介绍程序设计的基础。
第四章“数据库基础” 主要介绍数据库相关的基础知识。
第五章 “AutoCAD.NET 开发” 主要介绍 AutoCAD.NET APIs 及 AutoCAD 开发的基本方法与过程。
第六章“开发实例” 详细介绍 AutoCAD 的开发过程以及开发思路。
本书版权属于数字建筑网(http://www.BimCad.org)站长李冠亿所有。
目录 第一章 概述 ............................................................................................................................................................................................ 1 【一】AUTOCAD功能特点.................................................................................................................................................................... 1 【二】二次开发内容........................................................................................................................................................................... 1 【三】二次开发方式........................................................................................................................................................................... 1 【1】AutoLISP.................................................................................................................................................................................. 3 【2】ADS.......................................................................................................................................................................................... 3 【3】ObjectARX ............................................................................................................................................................................... 4 【4】VisualLISP................................................................................................................................................................................ 5 【5】VBA.......................................................................................................................................................................................... 5 【6】AutoCAD .NET.......................................................................................................................................................................... 6 【四】开发方式对比........................................................................................................................................................................... 7 【1】开发方式能力范围对比......................................................................................................................................................... 7 【2】开发环境的难易程度及学习时间对比................................................................................................................................. 7 【3】开发环境性能对比................................................................................................................................................................. 8 【4】各开发方式能力对比............................................................................................................................................................. 8 第二章 AUTOCAD操作应用................................................................................................................................................................. 9 【一】基本界面................................................................................................................................................................................... 9 【二】基本功能................................................................................................................................................................................. 11 第三章 程序设计基础 .......................................................................................................................................................................... 14 【一】数据类型................................................................................................................................................................................. 14 【1】值类型 .................................................................................................................................................................................. 14 (1)简单类型.................................................................................................................................................................................................................14 (1.1)整数类型.........................................................................................................................................................................................................14 (1.2)布尔类型........................................................................................................................................................................................................14 (1.3)实数类型........................................................................................................................................................................................................14 (1.4)字符类型........................................................................................................................................................................................................14 (2)结构类型................................................................................................................................................................................................................15 (3)枚举类型................................................................................................................................................................................................................15 【2】引用类型.............................................................................................................................................................................. 15 (1)类.............................................................................................................................................................................................................................15 (2)代表.........................................................................................................................................................................................................................16 (3)数组.........................................................................................................................................................................................................................16 (4)接口.........................................................................................................................................................................................................................17 【二】运算符、表达式..................................................................................................................................................................... 17 【三】程序流程................................................................................................................................................................................. 24 【1】顺序程序 .............................................................................................................................................................................. 24 【2】分支程序 .............................................................................................................................................................................. 24 (1)if语句.......................................................................................................................................................................................................................24 (2)switch语句...............................................................................................................................................................................................................26 (3)try、catch、finally表达式.....................................................................................................................................................................................27 【3】循环程序 .............................................................................................................................................................................. 28 (1)while语句 ................................................................................................................................................................................................................28 (2)do-while语句...........................................................................................................................................................................................................29 (3)for语句.....................................................................................................................................................................................................................29 (4)foreach语句.............................................................................................................................................................................................................30 【四】数据结构................................................................................................................................................................................. 31 【1】线性结构 .............................................................................................................................................................................. 31 (1)线性表.....................................................................................................................................................................................................................31 (2)栈..............................................................................................................................................................................................................................32 (3)列队..........................................................................................................................................................................................................................32 【2】非线性结构........................................................................................................................................................................... 33 (1)树..............................................................................................................................................................................................................................33 (2)二叉树.....................................................................................................................................................................................................................33 (3)图..............................................................................................................................................................................................................................34 【3】数据排序、查找................................................................................................................................................................... 35 (1)排序.........................................................................................................................................................................................................................35 (1)冒泡排序............................................................................................................................................................................................................35 (2)选择排序............................................................................................................................................................................................................36 (3)插入排序............................................................................................................................................................................................................36 (4)希尔排序............................................................................................................................................................................................................37 (2)查找.........................................................................................................................................................................................................................37 (1)线性查找............................................................................................................................................................................................................37 (2)折半查找............................................................................................................................................................................................................38 【五】算法 ........................................................................................................................................................................................ 38 【1】穷举法.................................................................................................................................................................................. 38 【2】贪心法.................................................................................................................................................................................. 38 【3】分治法.................................................................................................................................................................................. 39 【4】回溯法.................................................................................................................................................................................. 39 【5】动态规划法.......................................................................................................................................................................... 39 【6】分枝界限法.......................................................................................................................................................................... 39 【7】递归算法.............................................................................................................................................................................. 39 【六】函数 ........................................................................................................................................................................................ 40 【七】事件 ........................................................................................................................................................................................ 41 【八】.NET简介................................................................................................................................................................................ 42 【九】C#简介................................................................................................................................................................................... 47 【十】编码规范................................................................................................................................................................................. 48 第四章 数据库基础 .............................................................................................................................................................................. 48 【一】数据模型................................................................................................................................................................................. 48 【二】关系型数据库......................................................................................................................................................................... 49 【三】SQL语言 ................................................................................................................................................................................. 49 【四】数据库设计范式..................................................................................................................................................................... 51 【五】DWG数据库............................................................................................................................................................................ 51 第五章 AUTOCAD.NET开发.............................................................................................................................................................. 53 【一】AUTOCAD.NET开发环境及实现方法 ...................................................................................................................................... 53 【1】创建项目.............................................................................................................................................................................. 53 【2】编译、调试.......................................................................................................................................................................... 56 【3】加载程序.............................................................................................................................................................................. 60 【4】程序部署.............................................................................................................................................................................. 62 【5】托管C 程序...................................................................................................................................................................... 68 【二】AUTOCAD对象 ........................................................................................................................................................................ 76 【1】Application(应用程序).......................................................................................................................................................... 78 【2】Document(文档) ................................................................................................................................................................... 86 【3】Editor(命令行) ...................................................................................................................................................................... 92 【4】Database(数据库)............................................................................................................................................................... 101 【5】Transaction (事务) .............................................................................................................................................................. 115 【6】DBObject(数据库对象)....................................................................................................................................................... 118 (1) SymbolTable(符号表)、SymbolTableRecord(符号表记录).............................................................................................................................126 (1.1) BlockTabLe (块表)、BlockTableRecord(块表记录)...................................................................................................................................128 [www.BimCad.org]深居浅出 AutoCAD 二次开发 III (1.2) DimStyleTable(尺寸标注样式表) 、DimStyleTableRecord(标注样式表记录)......................................................................................132 (1.3) LayerTable (层表)、LayerTableRecord(层表记录)...................................................................................................................................135 (1.4) LinetypeTable (线型表)、LinetypeTableRecord(线型表记录) ................................................................................................................138 (1.5) RegAppTable (应用程序注册表)、RegAppTableRecord(应用程序注册表记录)..................................................................................139 (1.6) TextStyleTable (文字样式表)、TextStyleTableRecord(文字样式表记录)..............................................................................................140 (1.7) UCSTable (用户坐标系表) 、UcsTableRecord(用户坐标系表记录) ......................................................................................................141 (1.8) ViewportTable (视口表)、ViewportTableRecord(视口表记录)..............................................................................................................142 (1.9) ViewTable (视图表)、ViewTableRecord(视图表记录).............................................................................................................................144 (2) DBDictionary (词典).............................................................................................................................................................................................145 (3) DataTable(数据表)...............................................................................................................................................................................................148 (4) Xrecord(扩展记录)...............................................................................................................................................................................................151 (5) Field (字段)...........................................................................................................................................................................................................152 (6) Entity(实体对象)..................................................................................................................................................................................................155 (6.1) DBPoint (点)..................................................................................................................................................................................................164 (6.2)Curve(曲线) ...................................................................................................................................................................................................165 (6.2.1)Line(直线) ..............................................................................................................................................................................................170 (6.2.2) Polyline3d (三维多段线) .....................................................................................................................................................................172 (6.2.3)Arc(圆弧)................................................................................................................................................................................................174 (6.2.4)Circle(圆)................................................................................................................................................................................................176 (6.2.5) Ellipse (椭圆).........................................................................................................................................................................................178 (6.2.6)Leader(引线)..........................................................................................................................................................................................181 (6.2.7) Spline (样条曲线).................................................................................................................................................................................184 (6.2.8) XLine (构造线)......................................................................................................................................................................................187 (6.2.8) Ray (射线) .............................................................................................................................................................................................188 (6.3)DBText(单行文字).........................................................................................................................................................................................189 (6.3.1) AttributeDefinition(属性定义)............................................................................................................................................................190 (6.3.2) AttributeReference (属性参照)...........................................................................................................................................................192 (6.4)MText(多行文字)..........................................................................................................................................................................................195 (6.5) BlockReference(块参照)..............................................................................................................................................................................199 (6.5.1) Table(表格)...........................................................................................................................................................................................201 (6.6) Dimension(标注)..........................................................................................................................................................................................216 (6.6.1) AlignedDimension(对齐标注) .............................................................................................................................................................222 (6.6.2) ArcDimension(弧长标注) ....................................................................................................................................................................224 (6.6.3) RotatedDimension(转角标注).............................................................................................................................................................226 (6.6.4) DiametricDimension (直径标注).........................................................................................................................................................228 (6.6.5) RadialDimension(半径标注)................................................................................................................................................................230 (6.6.6) OrdinateDimension(坐标标注)...........................................................................................................................................................232 (6.6.7) LineAngularDimension2(角度标注)....................................................................................................................................................234 (6.7) Region (面域)................................................................................................................................................................................................236 (6.8) Surface (表面)...............................................................................................................................................................................................239 (6.8.1) ExtrudedSurface(拉伸表面)................................................................................................................................................................241 (6.8.2) LoftedSurface (放样表面)....................................................................................................................................................................243 (6.8.3) PlaneSurface(平面表面)......................................................................................................................................................................244 (6.8.4) RevolvedSurface (旋转表面)...............................................................................................................................................................245 (6.8.5) SweptSurface (扫掠表面)....................................................................................................................................................................247 (6.9) Solid3d (三维实体).......................................................................................................................................................................................249 (6.10) Body (形体).................................................................................................................................................................................................258 (6.11) Hatch (填充)...............................................................................................................................................................................................259 【7】Overrule(规则重定义) ........................................................................................................................................................ 263 (1) ObjectOverrule (数据库对象重定义)................................................................................................................................................................264 (2) DrawableOverrule(可视化对象规则重定义)....................................................................................................................................................265 (3) GripOverrule(夹点重定义)..................................................................................................................................................................................266 (4) OsnapOverrule (对象捕捉重定义).....................................................................................................................................................................268 (5) GeometryOverrule (几何重定义).......................................................................................................................................................................268 (6) HighlightOverrule (高亮重定义).........................................................................................................................................................................269 (7) PropertiesOverrule (属性重定义)......................................................................................................................................................................269 (8) TransformOverrule (变形重定义)......................................................................................................................................................................269 【8】Jig(步骤模仿)...................................................................................................................................................................... 270 (1)EntityJig(单实体步骤模仿)..................................................................................................................................................................................271 (2) DrawJig (拖拽步骤模仿).....................................................................................................................................................................................272 【9】几何类库 ............................................................................................................................................................................ 273 (1)Vector3d(三维向量).............................................................................................................................................................................................273 (2)Matrix3d(三维矩阵).............................................................................................................................................................................................277 (3)Tolerance(容差) ....................................................................................................................................................................................................280 (4) Point3d (三维点)..................................................................................................................................................................................................281 (5) Curve3d(三维曲线)..............................................................................................................................................................................................284 (5.1) LinearEntity3d(三维线性对象)...................................................................................................................................................................286 (5.2)CircularArc3d(三维圆弧)..............................................................................................................................................................................287 (6)Plane(平面)............................................................................................................................................................................................................288 【10】用户界面 .......................................................................................................................................................................... 289 (1)PaletteSet(面板)....................................................................................................................................................................................................289 (2)RibbonTab(面板式菜单) ......................................................................................................................................................................................293 【11】枚举类型 .......................................................................................................................................................................... 293 (1)OpenMode.............................................................................................................................................................................................................293 (2)Intersect.................................................................................................................................................................................................................293 (3)ObjectSnapModes.................................................................................................................................................................................................295 (4)DragStatus .............................................................................................................................................................................................................296 (5)PromptStatus.........................................................................................................................................................................................................297 (6) BooleanOperationType........................................................................................................................................................................................297 (7) SweepOptionsAlignOption ..................................................................................................................................................................................297 (8) SubentityType.......................................................................................................................................................................................................298 (9) HatchPatternType ................................................................................................................................................................................................298 (10) DataType.............................................................................................................................................................................................................298 (11) PaletteSetStyles..................................................................................................................................................................................................299 【三】基本操作............................................................................................................................................................................... 301 【1】实体对象 ............................................................................................................................................................................ 301 (1)创建对象...............................................................................................................................................................................................................301 (1.1)创建直线.......................................................................................................................................................................................................301 (1.2)创建圆............................................................................................................................................................................................................301 (1.3)创建圆弧.......................................................................................................................................................................................................302 (1.4)创建椭圆(椭圆弧) ........................................................................................................................................................................................303 (1.5)创建多段线...................................................................................................................................................................................................303 (1.6)创建引线.......................................................................................................................................................................................................304 (1.7)创建单行文字...............................................................................................................................................................................................304 (1.8)创建多行文字...............................................................................................................................................................................................305 (1.9)创建填充.......................................................................................................................................................................................................305 (1.10)创建标注.....................................................................................................................................................................................................306 (1.11)创建面域.....................................................................................................................................................................................................309 (1.12)创建表面.....................................................................................................................................................................................................309 (1.13)创建三维对象.............................................................................................................................................................................................310 (1.13)创建表格.....................................................................................................................................................................................................313 (1.14)创建属性定义.............................................................................................................................................................................................313 (1.15)创建属性参照.............................................................................................................................................................................................314 (2)编辑对象...............................................................................................................................................................................................................314 (2.1)移动................................................................................................................................................................................................................314 (2.2)复制................................................................................................................................................................................................................314 (2.3)旋转................................................................................................................................................................................................................315 (2.4)缩放................................................................................................................................................................................................................315 (2.5)镜像................................................................................................................................................................................................................315 (2.6)偏移................................................................................................................................................................................................................316 (2.7)阵列................................................................................................................................................................................................................316 (2.8)设置动态块属性...........................................................................................................................................................................................317 (2.9)改变对象绘图次序.......................................................................................................................................................................................318 (2.10)写块克隆对象.............................................................................................................................................................................................318 (3)几何关系...............................................................................................................................................................................................................319 (3.1)角度与弧度转换...........................................................................................................................................................................................319 (3.2)夹角................................................................................................................................................................................................................319 (3.3)距离................................................................................................................................................................................................................320 (3.4)相对点............................................................................................................................................................................................................320 (3.5)中点................................................................................................................................................................................................................321 (3.6)重合................................................................................................................................................................................................................321 (3.7)相交................................................................................................................................................................................................................322 (3.8)平行................................................................................................................................................................................................................323 (3.9)垂直................................................................................................................................................................................................................323 (3.10)布尔运算.....................................................................................................................................................................................................323 【2】数据库 ................................................................................................................................................................................ 324 (1)数据库操作...........................................................................................................................................................................................................324 (1.1)获得数据库...................................................................................................................................................................................................324 (1.2)获得对象.......................................................................................................................................................................................................324 (1.3)删除对象.......................................................................................................................................................................................................325 (1.4)数据库克隆...................................................................................................................................................................................................325 (2)块表操作...............................................................................................................................................................................................................326 (2.1)获取块表.......................................................................................................................................................................................................326 (2.2)获取块表记录...............................................................................................................................................................................................326 (2.3)添加对象到块表记录...................................................................................................................................................................................327 (2.4)添加块表记录(图块)到块表........................................................................................................................................................................327 (2.5)模型空间.......................................................................................................................................................................................................328 (3)层表操作...............................................................................................................................................................................................................329 (3.1)获得层表.......................................................................................................................................................................................................329 (3.2)获得层表记录...............................................................................................................................................................................................330 (3.3)设置当前图层...............................................................................................................................................................................................331 (3.4)新建层表记录(图层)....................................................................................................................................................................................331 (3.5)删除层表记录(图层)....................................................................................................................................................................................332 (3.6)删除与图层关联的对象..............................................................................................................................................................................333 (4)词典操作...............................................................................................................................................................................................................333 (4.1)命名对象词典...............................................................................................................................................................................................333 (4.2)对象扩展词典...............................................................................................................................................................................................334 【3】用户交互 ............................................................................................................................................................................ 335 (1)输入数据...............................................................................................................................................................................................................335 (1.1) 输入关键字.................................................................................................................................................................................................335 (1.2) 输入实数.....................................................................................................................................................................................................335 (1.3) 输入整数.....................................................................................................................................................................................................336 (1.4) 输入角度.....................................................................................................................................................................................................336 (1.5) 输入矩形角点区域.....................................................................................................................................................................................336 (1.6) 输入点..........................................................................................................................................................................................................337 (1.7) 输入距离.....................................................................................................................................................................................................337 (1.8) 输入文件名.................................................................................................................................................................................................338 (1.9) 输入路径.....................................................................................................................................................................................................338 (2)选择对象...............................................................................................................................................................................................................339 (2.1) 选择单个对象.............................................................................................................................................................................................339 (2.2) 选择集合.....................................................................................................................................................................................................340 (2.4) 选择所有对象.............................................................................................................................................................................................341 (2.5) 选择多边形区域内对象............................................................................................................................................................................342 (2.6) 选择视图窗口区域内对象........................................................................................................................................................................344 (2.7) 选择处于夹取状态的对象........................................................................................................................................................................345 (3)输出消息...............................................................................................................................................................................................................345 (3.1) 命令行提示.................................................................................................................................................................................................345 (3.2) 打开帮助网页.............................................................................................................................................................................................346 (3.2)警告框............................................................................................................................................................................................................346 (4)用户界面...............................................................................................................................................................................................................346 (4.1)应用程序界面...............................................................................................................................................................................................346 (4.2)面板................................................................................................................................................................................................................347 (4.3)菜单................................................................................................................................................................................................................347 【4】数据文件 ............................................................................................................................................................................ 350 (1)TXT文件.................................................................................................................................................................................................................350 (2)Excel文件...............................................................................................................................................................................................................350 (3)Access数据库........................................................................................................................................................................................................351 第六章 开发实例 ................................................................................................................................................................................ 354 【一】程序示例............................................................................................................................................................................... 354 【二】数据库 .................................................................................................................................................................................. 361 【1】块表 .................................................................................................................................................................................... 361 (1)创建图块(添加块表记录到块表).......................................................................................................................................................................361 (2)添加对象到模型空间..........................................................................................................................................................................................362 【2】层表 .................................................................................................................................................................................... 363 (1)创建图层(添加层表记录到层表).......................................................................................................................................................................363 (2)删除图层(删除层表记录)....................................................................................................................................................................................365 【3】命名对象词典..................................................................................................................................................................... 367 【三】实体对象............................................................................................................................................................................... 369 【1】添加对象 ............................................................................................................................................................................ 369 (1)添加基本图形对象...............................................................................................................................................................................................369 (2)添加三维对象.......................................................................................................................................................................................................372 (3)添加图块...............................................................................................................................................................................................................374 (4)添加带属性的块...................................................................................................................................................................................................377 【2】编辑对象 ............................................................................................................................................................................ 380 (1)几何变形...............................................................................................................................................................................................................380 (2)扩展数据...............................................................................................................................................................................................................382 (3)注释比例...............................................................................................................................................................................................................384 (4)显示次序...............................................................................................................................................................................................................387 (5)驱动动态块...........................................................................................................................................................................................................390 【四】用户交互............................................................................................................................................................................... 394 【1】输出信息 ............................................................................................................................................................................ 394 (1)命令行消息...........................................................................................................................................................................................................394 (2)消息框提示...........................................................................................................................................................................................................394 (3)帮助网页...............................................................................................................................................................................................................395 【2】输入信息 ............................................................................................................................................................................ 397 (1)选择单个对象.......................................................................................................................................................................................................397 (2)选择集合...............................................................................................................................................................................................................398 (3)输入数据...............................................................................................................................................................................................................399 【3】用户界面 ............................................................................................................................................................................ 401 (1)对话框...................................................................................................................................................................................................................401 (1.1)模态对话框...................................................................................................................................................................................................404 (1.2)非模态对话框...............................................................................................................................................................................................406 (2)面板........................................................................................................................................................................................................................408 (3)菜单........................................................................................................................................................................................................................410 (3.1)带式菜单.......................................................................................................................................................................................................410 (3.2)右键菜单.......................................................................................................................................................................................................412 【五】事件 ...................................................................................................................................................................................... 415 【六】步骤模仿............................................................................................................................................................................... 417 【七】规则重定义........................................................................................................................................................................... 420 【八】数据文件............................................................................................................................................................................... 422 附录 ...................................................................................................................................................................................................... 425 附录一:AUTOCAD版本对应的注册表信息.................................................................................................................................... 425 附录二:AUTOCAD常用操作快捷键................................................................................................................................................ 426 附录三:AUTOCAD系统变量............................................................................................................................................................ 428 附录四:AUTOCAD字符对照表........................................................................................................................................................ 437 附录五:AUTOCAD颜色值表............................................................................................................................................................ 439 附录六:常用ARX函数.................................................................................................................................................................... 447 附录七:ARX类与托管类对应关系................................................................................................................................................ 452 附录八:ARX函数与托管类函数对应关系.................................................................................................................................... 463