BIMHome v1.0.0
BIMHome接口文档说明
Utils.h
浏览该文件的文档.
1/************************************************************************
2* @file Setting.h
3*
4* @brief LineSetting命名空间
5*
6* @details LineSetting命名空间
7*
8* @author zhaojuan
9*
10* @version 版本号 V0.1
11*
12* @date 2025-2-9
13*
14* @license 北京华科软科技有限公司
15*
16*************************************************************************/
17
18#ifndef TECHDRAWGUI_DXFUTILS_H
19#define TECHDRAWGUI_DXFUTILS_H
20
21#include "BHGlobal.h"
22#include <map>
23#include <string>
24#include <QString>
25#include "Base/BoundBox.h"
26
27namespace TechDraw{
28 class DxfEntity;
29
30class TechDrawExport LineSetting {
31public:
32 // 定义图纸设置总线型??双折线和波浪线待实现
33 std::map<QString, std::string> LineTypeMap = {
34 {QString::fromLocal8Bit("粗实线"), "BYLAYER"},
35 {QString::fromLocal8Bit("中实线"), "BYLAYER"},
36 {QString::fromLocal8Bit("细实线"), "BYLAYER"},
37 //
38 {QString::fromLocal8Bit("粗虚线"), "ACAD_ISO03W100"},
39 {QString::fromLocal8Bit("中虚线"), "ACAD_ISO03W100"},
40 {QString::fromLocal8Bit("细虚线"), "ACAD_ISO03W100"},
41 //
42 {QString::fromLocal8Bit("粗点划线"), "ACAD_ISO04W100"},
43 {QString::fromLocal8Bit("中点划线"), "ACAD_ISO04W100"},
44 {QString::fromLocal8Bit("细点划线"), "ACAD_ISO04W100"},
45 //
46 {QString::fromLocal8Bit("粗双点划线"), "ACAD_ISO05W100"},
47 {QString::fromLocal8Bit("中双点划线"), "ACAD_ISO05W100"},
48 {QString::fromLocal8Bit("细双点划线"), "ACAD_ISO05W100"},
49 //
50 {QString::fromLocal8Bit("细双折线"), "DBROKENLINE"},
51 {QString::fromLocal8Bit("细波浪线"), "ZIGZAG"}
52 };
53
54 // 线型对应的线宽系数map
55 std::map<QString, double> LineWidthCoefficient = {
56 {QString::fromLocal8Bit("粗实线"), 1.0},
57 {QString::fromLocal8Bit("中实线"), 0.5},
58 {QString::fromLocal8Bit("细实线"), 0.25},
59 //
60 {QString::fromLocal8Bit("粗虚线"), 1.0},
61 {QString::fromLocal8Bit("中虚线"), 0.5},
62 {QString::fromLocal8Bit("细虚线"), 0.25},
63 //
64 {QString::fromLocal8Bit("粗点划线"), 1.0},
65 {QString::fromLocal8Bit("中点划线"), 0.5},
66 {QString::fromLocal8Bit("细点划线"), 0.25},
67 //
68 {QString::fromLocal8Bit("粗双点划线"), 1.0},
69 {QString::fromLocal8Bit("中双点划线"), 0.5},
70 {QString::fromLocal8Bit("细双点划线"), 0.25},
71 //
72 {QString::fromLocal8Bit("细双折线"), 0.25},
73 {QString::fromLocal8Bit("细波浪线"), 0.25}
74 };
75};
76
77class TechDrawExport Utils {
78public:
79 Utils() {}
81
87 static Base::BoundBox3d calculateEntityVecBoundingBox(std::vector<TechDraw::DxfEntity*> entityVec);
88};
89}
90#endif // !TECHDRAWGUI_DXFUTILS_H
TechDraw中DxfEntity类
Definition Utils.h:30
Utils()
Definition Utils.h:79
static Base::BoundBox3d calculateEntityVecBoundingBox(std::vector< TechDraw::DxfEntity * > entityVec)
计算DxfEntity实体列表的外接矩形
Definition Utils.h:77
std::map< QString, double > TechDrawExport LineWidthCoefficient
std::map< Base::DefineLineType, std::string > TechDrawExport LineTypeMap
Definition ArrowPropEnum.h:26