当前位置: 首页 > 工具软件 > QCAD > 使用案例 >

QCAD工程项目概述

郝永思
2023-12-01

编译发布概述

环境准备

  • Qt5 (Qt5.10.1)+ VS2017x64
  • NSIS (软件打包)

编译构建

Qt Creator 打开 qcad-3.24.3.0.pro 设置相应的构建方式Debug 或者 Release,执行构建。

发布

执行脚本 make_setup_x64.bat生成安装包。

项目工程结构

  1. doc

    代码说明文档及软件帮助文档。

  2. examples

    qcad javasript示例插件。

  3. fonts

    qcad字库。

  4. images

    生成块(Block)图标的位置。

  5. libraries

    qcad实体对象模板库。

  6. linetypes

    qcad线型模板库。

  7. patterns

    qcad填充符号模板库。

  8. platforminputcontexts

  9. platforms

    Qt Windows平台支持库。

  10. plugins

    Qt插件和QCAD插件目录。

  11. scripts

    qcad js脚本插件目录。

  12. src

    qcad基本框架源码。

    • 3rdparty Module:/src/3rdparty

      包含第三方库,dxflibproj4QXlsx等等。

    • 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环境的执行代码。

  13. support

    示例及扩展功能插件目录

  14. themes

    主题文件

  15. ts

    国际化翻译文件

  16. release & debug

    qcad发布版和调试版二进制目录。

Extensions 扩展功能模块

  1. 清除图层

    删除无实体对象的图层。
    /support/examples/extensions/scrpts/Extensions/ClearLayers/ClearLayers.js

  2. 目标图层选择

    选中所有目标图层的所有实体对象。

    /support/examples/extensions/scrpts/Extensions/SelectDestLayers/SelectDestLayers.js

  3. 管线规整(聚集)

    将线段实体对象起始点处的实体对象聚集成管线。

    /support/examples/extensions/scrpts/Extensions/CheckLine/CheckLine.js

  4. 打断线

    只打断多段线(PolylineEntity),不包含弧段。

    /support/examples/extensions/scrpts/Extensions/Explode/Explode.js

  5. 坐标转换

    四参数和七参数计算及实体对象坐标的转换,不改变实体对象当前的坐标位置。

    /support/examples/extensions/RCoordinateTrans
    /support/examples/extensions/RCoordinateTransImpl

  6. 四参数仿射变换

    四参数的计算及实体对象坐标值的转换,实体对象的坐标值改变。

    /support/examples/extensions/RAffineTrans
    /support/examples/extensions/RAffineTransImpl

  7. 导出Excel

    将处理过的目标图层中管线段和点数据导出成Excel文件。

    /support/examples/extensions/RExportExcel
    /support/examples/extensions/RExportExcelImpl

  8. 扩展属性表

    以表格方式显示目标图层实体对象的属性。

    /support/examples/extensions/RExPropManager
    /support/examples/extensions/RExPropManagerImpl

视图停靠面板

  1. 图层列表

    目标图层和原始图层的显示和编辑。

    /scripts/Widgets/LayerList/LayerList.js

  2. 块列表

    1. 块的显示和编辑

    /scripts/Widgets/BlockList/BlockList.js

    1. 更新块图标

    /support/examples/extensions/scrpts/Extensions/BlockIcons/BlockIcons.js

  3. 图层管理

    图层筛选以及图层的多选编辑处理。

    /support/examples/extensions/RLayerManager
    /support/examples/extensions/RLayerManagerImpl

  4. 过滤器和移动实体对象

    多条件查询实体对象,将选中的实体打断、附加扩展属性以及移动到新建的目标图层。

    /support/examples/extensions/scrpts/Extensions/FilterEditor/FilterEditor.js

  5. 属性列表

    显示选择实体对象的基本属性、特有属性和扩展属性,同时可以编辑扩展属性。

    /scripts/Widgets/PropertyEditor/PropertyEditor.js

  6. 简单的登录模块

    /src/run/loginform

QCAD配置文件

每次打开或关闭程序,都会读取和写入配置文件,配置文件不存在的话会自动创建。

配置文件位置:C:\Users\{{用户名}}\AppData\Roaming\QCAD\QCAD3.ini

QCAD API文档

/doc/api/html/index.html

 类似资料: