内容简介
随着BIM技术应用的逐步普及,AutoCAD Civil 3D软件应用于越来越多的行业,诸如交通运输、土地开发、水利项目、市政工程、公路工程、测绘、地质等,正是因为该软件面向的行业众多,用户遍布全球各个国家和地区,所以软件本身不可能完全满足每个行业的需求,也不可能符合每个国家及地区的标准要求,若要利用其完成本行业的应用,顺利实现模型到施工图的转化并满足国家、行业或企业标准,对该软件进行二次开发是必不可少的。
王磊编著的《AutoCAD Civil3D.NET二次开发》从一个程序设计爱好者的角度出发,针对如何学习AutoCAD Civil 3D.NET二次开发,通过一系列的实例,向读者展示了需要学习的基本知识点,为工程设计人员、程序设计人员学习AutoCAD及Civil 3D二次开发指明道路。《AutoCAD Civil 3D.NET二次开发》由浅入深,向读者逐步展示了AutoCAD及Civil 3D.NET二次开发所需的基本计算机语言知识与各项基本操作、进阶应用与相关知识。《AutoCAD Civil 3D.NET二次开发》面向的读者对象为熟练掌握Civil3D软件应用并希望学习二次开发的工程设计人员、专职软件设计人员以及从事BIM应用研究的在职硕士研究生。
内页插图
目录
前言
第1部分 基础知识
第1章 Civil 3D二次开发简介
1.1 了解AutoCAD Civ订3D及其APIs
1.2 Civil 3D二次开发的意义
1.3 Civil 3D二次开发所需的条件
1.4 从哪儿开始
第2章 开发环境的配置
2.1 编译环境
2.2 NET项目设置
2.2.1 手动创建解决方案及项目
2.2.2 利用向导创建解决方案和项目
2.3 混合项目设置
2.4 定义命令
2.5 编译
2.6 加载及运行
2.6.1 手动加载程序及运行命令
2.6.2 通过工具空间加载并运行
2.6.3 通过注册表按需加载
2.7 帮助文档
2.7.1 帮助文档
2.7.2 如何查看帮助文档
第3章 程序设计基础
3.1 数据类型和操作符
3.1.1 常量与变量
3.1.2 简单数据类型
3.1.3 算数运算符
3.1.4 关系与逻辑运算符
3.1.5 值类型与引用类型
3.2 方法
3.2.1 方法签名
3.2.2 方法访问
3.2.3 方法参数
3.2.4 返回值
3.2.5 通过引用传递参数
3.2.6 方法的递归调用
3.3 选择语句
3.3.1 if语句
3.3.2 switch语句
3.4 循环语句
3.4.1 for循环
3.4.2 foreach循环
3.4.3 while和do while循环
3.5 字符串的操作
3.5.1 字符串的比较
3.5.2 字符串的拆分
3.5.3 获取指定字符串的位置
3.5.4 字符串的提取
3.5.5 字符替换
3.5.6 大小写转换
3.5.7 判断是否存在指定字符
3.5.8 插入
3.5.9 删除
3.5.10 清空空格及指定字符
3.6 集合
3.6.1 集合中元素数量
3.6.2 遍历集合
3.7 类型转换
3.7.1 隐式转换
3.7.2 显式转换
3.7.3 字符串与数字
3.8 命名空间
3.8.1 命名空间的用途
3.8.2 导入命名空间
3.8.3 AutoCAD及Civil 3D命名空间简介
第2部分 基本操作
第4章 访问数据库中的对象
4.1 了解AutoCAD对象层次结构
4.1.1 应用程序
4.1.2 文档
4.1.3 数据库
4.1.4 符号表
4.1.5 块表
4.1.6 块表记录
4.1.7 字典
4.2 了解Civil 3D对象层次结构
4.2.1 应用程序
4.2.2 文档
4.2.3 集合
4.3 由ObjectId获取object
4.4 事务(Transaction)
4.5 捕捉异常
4.6 人机交互
4.6.1 命令行输出
4.6.2 输入整数
4.6.3 输入实数及关键字
4.6.4 拾取点
4.6.5 拾取角度
4.6.6 拾取单个实体
4.6.7 拾取选择集
第5章 创建对象
5.1 创建AutoCAD对象
5.1.1 创建直线
5.1.2 创建图层
5.1.3 创建布局及视口
5.2 创建Civil 3D对象
5.2.1 创建几何空间点
5.2.2 创建曲面
5.2.3 创建采样线
5.2.4 小结
5.3 创建Civil 3D样式
5.3.1 创建点样式
5.3.2 创建曲面样式
5.3.3 创建标签样式
5.3.4 小结
第6章 编辑对象
6.1 编辑AutoCAD对象
6.1.1 修改对象的属性
6.1.2 复制、删除、分解对象
6.1.3 平移、旋转、缩放对象
6.1.4 多段线修改
6.2 编辑Civil 3D对象
6.2.1 修改曲面顶点
6.2.2 修改纵断面
6.2.3 拆分道路区域
6.3 编辑Civil 3D设定
6.3.1 访问各种设定
6.3.2 编辑要素设定
6.3.3 编辑命令设定
6.3.4 使用属性字段
第3部分 进阶应用
第7章 对象信息的提取
7.1 创建标签
7.2 数据插入表格
7.2.1 获取表格样式
7.2.2 创建表头
7.2.3 填充数据
7.2.4 插入表格
7.2.5 获取桩号文本
7.3 输出数据到外部文件
第8章 用户界面的应用
8.1 自定义对话框
8.1.1 界面设计
8.1.2 代码实现
8.1.3 调用对话框
8.2 功能区I
8.2.1 了解功能区-
8.2.2 将功能区面板添加至已有选项卡
8.2.3 将功能区面板添加至上下文选项卡
8.3 面板
8.3.1 了解Palette
8.3.2 创建简单的WPF用户控件
8.3.3 创建面板
8.4 上下文菜单
第9章 程序部署
9.1 自动加载简介
9.2 BUNDLE软件包
9.2.1 文件夹结构
9.2.2 XML文件基础知识
9.3 MSI安装程序
9.3.1 组织安装程序
9.3.2 指定应用程序数据
9.3.3 配置目标系统
9.3.4 定制安装程序界面
9.3.5 定义安装需求及行为
9.3.6 准备发布
第4部分 相关主题.
第10章 COM互操作的应用
10.1 了解COM API
10.2 实现.NET与COM互操作
10.2.1 根对象及COM中的基本概念
10.2.2 访问Civil 3D对象
10.3 COM对象与.NET对象的转换
10.3.1 .NET对象转换为COM对象
10.3.2 COM对象转换为.NET对象
第11章 C++API的应用
11.1 了解ClJstomDraw
11.2 自定义纵断面竖轴
11.3 绘制挡墙分隔缝
第12章 LINQ的应用
12.1 了解LINQ
12.1.1 匿名类型
12.1.2 扩展方法
12.1.3 Lambda表达式
12.2 LINQ功能初体验
12.2.1 排序
12.2.2 筛选
12.2.3 数据投影
12.2.4 分组
12.3 针对对象查询
第13章 创建部件
13.1 部件程序的基本结构
13.1.1 模板类SATemplate
13.1.2 CorridorState对象
13.1.3 支持文件
13.2 创建自定义部件
13.3 创建.atc文件
13.4 通过.pkt文件加载部件
附录A 视频部分说明及下载地址
索引
参考文献
前言/序言
本书从AutoCAD Civil 3D.NET二次开发基础知识入手,详细介绍了AutoCADCivil 3D及AutoCAD二次开发所需了解、掌握的理论知识。以.NET为主,通过详细的代码,向读者展示了AutoCAD Civil 3D的基本技术与操作过程;同时也简单介绍了COMAPI及Obj ectARX技术在AutoCAD Civil 3D二次开发中的应用。
本书面向的读者是熟练掌握AutoCAD Civil 3D软件应用并开始接触AutoCAD Civil3D.NET二次开发的初学者,特别是没有计算机语言基础从零开始学习Civil 3D二次开发的初学者,也可以作为AutoCAD二次开发初学者的学习用书。
作为一名AutoCAD爱好者,在大学的最后一个学期,大部分时间是在计算机房度过的——学习AutoCAD的使用,当时的版本是DOS系统下的AutoCAD R12英文版。因工作性质的关系,工作后,使用AutoCAD的机会并不多,但偶然的机会,接触到一些Lisp语言的知识,从此知道了AutoCAD二次开发的概念,随后的两年内我编写了一些并不完善的小程序,主要用于提高工作效率。因为对二次开发的认识不够准确,当时放弃了三次开发的学习,直到开始使用AutoCAD Civil 3D后,发现二次开发是充分发挥软件功能必不可少的手段,我又重新开始学习AutoCAD及Civil 3D的二次开发知识。
在通读本书之前,读者有必要对本书的定位有一个准确的认识:要知道这是一本关于什么的书,要知道这不是一本什么书。
首先回答第一个问题:
这是一本AutoCAD爱好者、AutoCAD Civil 3D用户所编写的书,我没有深厚的计算机知识背景,也不是计算机软件相关的从业人员,仅仅是一名从事了15年房建工程施工的工程师而已。
这是一本由二次开发自学者所写的书,书中的内容仅是我自学过程中所学到的各种知识的汇总,并没有把所有AutoCAD及Civil 3D二次开发知识全部罗列出来。
这是一本我根据自己自学的心路历程总结所写出的书,我想把自己在自学过程中遇到的问题及如何解决这些问题的经验与有着同样自学需求的朋友分享。
接下来回答第二个问题:
这不是一本介绍计算机语言的书,二次开发离不开计算机语言,如果读者要学习相关语言,您不得不参考其他书籍。
这不是一本介绍软件应用的书,二次开发的一个基本条件是要求熟练掌握软件的应用,即使熟练掌握了多种计算机语言,如果不熟悉软件的应用,要写出高效率的代码也并不是一件易事。
这不是一本能解决所有AutoCAD与Civil 3D二次开发相关问题的书,更确切地讲,书中不少内容只是提出问题,并给出了解决相关问题的思路,但并未给出具体的解决方法,目的是让读者掌握解决问题的方法,而不是学会解决某一个具体问题。
我写这本书的目的是想让读者在读完这本书之后,能够掌握AutoCAD及Civil 3D二次开发的学习方法,知道要学什么,知道要查找什么,知道如何去查找。
书中的一些示例并不完善,尤其是“类的继承”的示例,我只是想向读者介绍“类的继承”的概念,至于示例是否合适、是否完善,需要打一个很大的问号。
在阅读本书过程中,建议读者边阅读边键入代码进行测试,不要只读不做,看与练是完全不同的,别人轻松完成的事情,到自己手上可能就难以实现,所以一定要亲自动手练习。在键入代码的过程中,还可以发现更多问题并解决问题。
在学习的初期,不要带着很强的目的性去学习,此时了解的知识、方法有限,容易误入歧途,甚至是死胡同。随着掌握的知识的增多,视野会越来越宽,也就能找到更多解决问题的方法,对自己手中的工具有了全面了解后,再用它来完成相应的工作会变得较为轻松。
书中第4章之后的示例代码,读者可发送邮件索取。
鉴于水平有限,书中难免有错误之处,欢迎读者予以指正。
AutoCAD Civil 3D.NET二次开发 电子书 下载 mobi epub pdf txt