QCAD是一款开源的2D图形绘制软件,它的开源版本所拥有的功能已经能够满足基本的图形绘制,并且可以导出.dxf或.svg格式的图形文件,这对于绘制基本的工程图元来说,功能上基本满足。但是,用户需要根据自己所在领域的业务需求进行改进,如何进行改进,将是接下来要介绍的内容。
1. QCAD应用程序框架(The QCAD Application Framework )
组成
- 资源库 例如字体、剖面图案等;
- 一些程序库;
- 一组可执行的ECMAScript代码。
主要模块
Core Module 这个模块包含用来扩展的一些抽象基类和一些基本的核心类
Math Module 包含用来进行如向量、矩阵等数学计算的概念以及一些点、线图形基类。
Entity Module 包含QCAD应用框架中所有CAD实体的实现。
GUI Module 基于Qt的窗口部件,图形视图和图形场景
Grid Module 实现正交网格
Operations 这个模块实现ROperation接口。它提供一个方便的API预览,将一般的更新应用到一个绘制文档上(增加实体,改变实体,删除实体)
Snap Module 实现对象和格原型
Spatialindex Module 这个应该用不到,空间索引库。
QCAD Executable Module 执行ECMAScript 代码,将应用程序编译为可执行程序。
QCAD程序中的ECMAScript模块
这些模块由ECMAScript脚本实现,被QCAD应用程序使用。它们也可以被其它的程序使用。
File Tools 这个模块包含用ECMAScript脚本实现的菜单栏工具。
Editing Tools 这个模块包含包含用ECMAScript脚本实现的编辑工具(复制、粘贴…)。
View Tools 这个模块包含各种各样的视图工具。
Selection Tools 实现高级的选择工具。
Drawing Tools 实现各种各样的绘制工具。
Modification Tools 实现各种各样的修改工具。
Block Tools 实现工具相关的块。
Snap Tools 实现各种各样的原型工具。
Measuring/Information Tools 实现各种测量和信息工具。
Layer Tools 实现层。
Help Tools 实现帮助菜单入口。