实例介绍
【实例简介】
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
相关软件
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论