摘要 | 第5-6页 |
Abstract | 第6-7页 |
第1章 绪论 | 第12-22页 |
1.1 计算机辅助概念设计(CACD)的内涵 | 第12-14页 |
1.1.1 传统的CAD与其不足 | 第12-13页 |
1.1.2 CACD的概念与优势 | 第13页 |
1.1.3 基于草图的用户界面(SBIM) | 第13-14页 |
1.2 手写识别介绍 | 第14-17页 |
1.2.1 离线与在线 | 第14页 |
1.2.2 手绘图形识别与手绘文字识别 | 第14-15页 |
1.2.3 国内外手写识别发展现状 | 第15-17页 |
1.3 化工管道管段建模 | 第17-18页 |
1.3.1 管段图介绍 | 第17页 |
1.3.2 国内化工管道管段建模发展现状 | 第17-18页 |
1.3.3 OpenGL建模与UG建模的比较 | 第18页 |
1.4 选题意义、研究内容与创新之处 | 第18-22页 |
1.4.1 选题意义 | 第18-19页 |
1.4.2 研究内容 | 第19-20页 |
1.4.3 创新之处 | 第20-22页 |
第2章 数据采集与预处理技术 | 第22-32页 |
2.1 手绘草图数据采集 | 第22-26页 |
2.1.1 数字墨水与输入设备 | 第22页 |
2.1.2 鼠标采集 | 第22-23页 |
2.1.3 Android平台设备采集 | 第23-24页 |
3.1.4 数据压缩 | 第24-26页 |
2.2 采样点预处理技术 | 第26-32页 |
2.2.1 精简 | 第26-29页 |
2.2.2 平滑 | 第29-30页 |
2.2.3 归一化 | 第30-32页 |
第3章 手绘管路识别 | 第32-52页 |
3.1 笔划分割技术 | 第32-37页 |
3.1.1 转角函数的计算 | 第32-34页 |
3.1.2 基于最大距离的角点检测 | 第34-35页 |
2.1.3 基于最大“弦长和”的角点检测 | 第35-37页 |
3.2 基于上下文的管路识别 | 第37-41页 |
3.2.1 点对点型(PP型) | 第38-39页 |
3.2.2 点对线型(PL型) | 第39-40页 |
3.2.3 线对点型(LP型) | 第40-41页 |
3.2.4 远离型(N型) | 第41页 |
3.3 管段默认尺寸识别 | 第41-47页 |
3.3.1 多叉树介绍 | 第42-43页 |
3.3.2 轴测方向上的管段 | 第43-45页 |
3.3.3 非轴测方向上的管段 | 第45-47页 |
3.4 自动识别管件 | 第47-52页 |
3.4.1 位置确定 | 第47页 |
3.4.2 类型确定 | 第47-49页 |
3.4.3 姿态确定 | 第49-50页 |
3.4.4 尺寸确定 | 第50-51页 |
3.4.5 合法性检查 | 第51-52页 |
第4章 手绘管件与手绘命令识别 | 第52-70页 |
4.1 特征值提取 | 第52-58页 |
4.1.1 DFT(离散傅里叶变换) | 第52-54页 |
4.1.2 长宽比 | 第54-55页 |
4.1.3 首尾距 | 第55页 |
4.1.4 转角函数值 | 第55-56页 |
4.1.5 准备训练样本 | 第56-58页 |
4.2 手绘识别算法及实现 | 第58-65页 |
4.2.1 随机森林算法 | 第58-60页 |
4.2.2 基于OpenCV实现随机森林 | 第60-61页 |
4.2.3 随机森林的改进 | 第61-62页 |
4.2.4 改进后的随机森林算法的实现 | 第62-64页 |
4.2.5 增量式学习 | 第64-65页 |
4.3 连续手写命令尺寸识别 | 第65-70页 |
4.3.1 连续手写命令的笔划分组 | 第65-66页 |
4.3.2 连续手写识别流程图 | 第66-67页 |
4.3.3 尺寸合法性检查 | 第67-70页 |
第5章 文件操作 | 第70-84页 |
5.1 InkML文件的读写 | 第70-75页 |
5.1.1 InkML文件介绍 | 第70-71页 |
5.1.2 InkML导出 | 第71-74页 |
5.1.3 InkML导入 | 第74-75页 |
5.2 串行化与撤销的实现 | 第75-80页 |
5.2.1 对象的串行化及其实现 | 第76页 |
5.2.2 绘图文件的存取 | 第76-77页 |
5.2.3 撤销与恢复的实现 | 第77-80页 |
5.3 材料表的输出 | 第80-81页 |
5.3.1 模版制作 | 第80-81页 |
5.3.2 VC读写Excel | 第81页 |
5.4 截图输出 | 第81-84页 |
第6章 系统开发关键技术 | 第84-98页 |
6.1 NX的二次开发 | 第84-88页 |
6.1.1 NX二次开发介绍 | 第84-85页 |
6.1.2 开发环境搭建 | 第85页 |
6.1.3 核心代码 | 第85-86页 |
6.1.4 应用举例 | 第86-88页 |
6.2 AutoCAD平台的二次开发 | 第88-92页 |
6.2.1 AutoCAD二次开发介绍 | 第89页 |
6.2.2 开发环境搭建 | 第89页 |
6.2.3 核心代码 | 第89-90页 |
6.2.4 应用举例 | 第90-92页 |
6.3 Access数据库的搭建与应用 | 第92-95页 |
6.3.1 Access介绍 | 第92-93页 |
6.3.2 开发环境搭建 | 第93页 |
6.3.3 核心代码 | 第93-94页 |
6.3.4 应用举例 | 第94-95页 |
6.4 利用引用计数实现数据共享 | 第95-98页 |
6.4.1 异径管件带来的问题 | 第95-96页 |
6.4.2 引用计数介绍 | 第96页 |
6.4.3 核心代码 | 第96-97页 |
6.4.4 应用举例 | 第97-98页 |
第7章 手绘化工管道管段建模系统 | 第98-116页 |
7.1 系统模块与流程图 | 第98-104页 |
7.1.1 主程序 | 第98-100页 |
7.1.2 手绘样本采集程序 | 第100-102页 |
7.1.3 ObjectARX程序 | 第102-103页 |
7.1.4 Android程序 | 第103-104页 |
7.2 主程序主要数据结构 | 第104-107页 |
7.2.1 McVector2f与McVector3f | 第105页 |
7.2.2 McInkPoint、McInkTrace与McInk | 第105-106页 |
7.2.3 McNode与McNodeList | 第106页 |
7.2.4 McUgPart与McUgPartList | 第106页 |
7.2.5 McPartBase与其继承类 | 第106页 |
7.2.6 McML_RTrees与McML | 第106-107页 |
7.2.7 McDatabase | 第107页 |
7.2.8 McByteArray | 第107页 |
7.3 Android程序主要数据结构 | 第107-108页 |
7.3.1 McAsyncTaskTcpServer | 第108页 |
7.3.2 McThreadTcpSender | 第108页 |
7.3.3 SketchPadView | 第108页 |
7.4 综合实例 | 第108-116页 |
7.4.1 手绘管段图 | 第108-111页 |
7.4.2 导出材料表 | 第111-112页 |
7.4.3 导出InkML文件与二维图 | 第112-114页 |
7.4.4 导出UG三维模型 | 第114-116页 |
第8章 结论和展望 | 第116-118页 |
8.1 结论 | 第116页 |
8.2 展望 | 第116-118页 |
参考文献 | 第118-122页 |
致谢 | 第122页 |