编译发布概述
环境准备
- Qt5 (Qt5.10.1)+ VS2017x64
- NSIS (软件打包)
编译构建
Qt Creator
打开 qcad-3.24.3.0.pro
设置相应的构建方式Debug
或者 Release
,执行构建。
发布
执行脚本 make_setup_x64.bat
生成安装包。
项目工程结构
-
doc
代码说明文档及软件帮助文档。
-
examples
qcad
javasript
示例插件。 -
fonts
qcad
字库。 -
images
生成块(
Block
)图标的位置。 -
libraries
qcad
实体对象模板库。 -
linetypes
qcad
线型模板库。 -
patterns
qcad
填充符号模板库。 -
platforminputcontexts
空
-
platforms
Qt Windows
平台支持库。 -
plugins
Qt
插件和QCAD
插件目录。 -
scripts
qcad
js
脚本插件目录。 -
src
qcad
基本框架源码。-
3rdparty Module
:/src/3rdparty
包含第三方库,
dxflib
、proj4
、QXlsx
等等。 -
Core Module
:/src/core
包含用来扩展的一些抽象基类和一些基本的核心类。
-
Math Module
:/src/core/math
包含用来进行如向量、矩阵等数学计算的概念以及一些点、线图形基类。
-
CustomWidgets Module
:/src/customwidgets
包含一些用于CAD的自定义控件。
-
Entity Module
:/src/entity
包含
QCAD
应用框架中所有CAD
实体的实现。 -
GUI Module
:/src/gui
基于
Qt
的窗口部件,图形视图和图形场景。 -
Grid Module
:/src/grid
实现正交网格。
-
IO Module
:/src/io
实现读写
dxf
的接口。 -
Operations
:/src/operations
实现
ROperation
接口。它提供一个方便的API预览,将一般的更新应用到一个绘制文档上(增加实体,改变实体,删除实体) -
Snap Module
:/src/snap
实现对象和格原型 -
Spatialindex Module
:/src/spatialindex
空间索引库。 -
Main Module
:/src/run
执行
ECMAScript
代码,将应用程序编译为可执行程序,main
函数入口。 -
Stemmer Module
:/src/stemmer
英语词干提取工具。
-
Scripts Module
:/src/scripts
EcmaJavascripts脚本。
-
Scripting
:/src/scripting
将底层的C++模块类,转换成EcmaJavascript环境的执行代码。
-
-
support
示例及扩展功能插件目录
-
themes
主题文件
-
ts
国际化翻译文件
-
release & debug
qcad
发布版和调试版二进制目录。
Extensions 扩展功能模块
-
清除图层
删除无实体对象的图层。
/support/examples/extensions/scrpts/Extensions/ClearLayers/ClearLayers.js
-
目标图层选择
选中所有目标图层的所有实体对象。
/support/examples/extensions/scrpts/Extensions/SelectDestLayers/SelectDestLayers.js
-
管线规整(聚集)
将线段实体对象起始点处的实体对象聚集成管线。
/support/examples/extensions/scrpts/Extensions/CheckLine/CheckLine.js
-
打断线
只打断多段线(
PolylineEntity
),不包含弧段。/support/examples/extensions/scrpts/Extensions/Explode/Explode.js
-
坐标转换
四参数和七参数计算及实体对象坐标的转换,不改变实体对象当前的坐标位置。
/support/examples/extensions/RCoordinateTrans
/support/examples/extensions/RCoordinateTransImpl
-
四参数仿射变换
四参数的计算及实体对象坐标值的转换,实体对象的坐标值改变。
/support/examples/extensions/RAffineTrans
/support/examples/extensions/RAffineTransImpl
-
导出Excel
将处理过的目标图层中管线段和点数据导出成Excel文件。
/support/examples/extensions/RExportExcel
/support/examples/extensions/RExportExcelImpl
-
扩展属性表
以表格方式显示目标图层实体对象的属性。
/support/examples/extensions/RExPropManager
/support/examples/extensions/RExPropManagerImpl
视图停靠面板
-
图层列表
目标图层和原始图层的显示和编辑。
/scripts/Widgets/LayerList/LayerList.js
-
块列表
- 块的显示和编辑
/scripts/Widgets/BlockList/BlockList.js
- 更新块图标
/support/examples/extensions/scrpts/Extensions/BlockIcons/BlockIcons.js
-
图层管理
图层筛选以及图层的多选编辑处理。
/support/examples/extensions/RLayerManager
/support/examples/extensions/RLayerManagerImpl
-
过滤器和移动实体对象
多条件查询实体对象,将选中的实体打断、附加扩展属性以及移动到新建的目标图层。
/support/examples/extensions/scrpts/Extensions/FilterEditor/FilterEditor.js
-
属性列表
显示选择实体对象的基本属性、特有属性和扩展属性,同时可以编辑扩展属性。
/scripts/Widgets/PropertyEditor/PropertyEditor.js
-
简单的登录模块
/src/run/loginform
QCAD配置文件
每次打开或关闭程序,都会读取和写入配置文件,配置文件不存在的话会自动创建。
配置文件位置:C:\\Users\\{{用户名}}\\AppData\\Roaming\\QCAD\\QCAD3.ini
QCAD API文档
/doc/api/html/index.html