BIMHome v1.0.0
BIMHome接口文档说明
CreateDrawView.h
浏览该文件的文档.
1/************************************************************************
2* @file CreateDrawView.h
3*
4* @brief 视图创建接口类
5*
6* @details 视图创建接口类
7*
8* @author
9*
10* @version 1.0
11*
12* @date 2025-7-31
13*
14* @license 北京华科软科技有限公司
15*
16*************************************************************************/
17
18#ifndef TECHDRAW_APP_CREATEDRAWVIEW_H
19#define TECHDRAW_APP_CREATEDRAWVIEW_H
20
21#include "BHGlobal.h"
23#include "Base/Vector3D.h"
24#include "boost/any.hpp"
25
26namespace App {
27 class IDocument;
28}
29
30namespace Base {
31 class Geometry;
32}
33
34namespace TechDraw
35{
36 class IDrawView;
37 class DxfEntity;
38
39 class TechDrawExport CreateDrawView
40 {
41 public:
42
43 virtual ~CreateDrawView() = default;
44
45 /*****************************************************************
46 * @brief 添加文本绘制视图对象
47 * @details 添加文本绘制视图对象
48 * @param[pDocument] 父节点
49 * @param[text] 文本内容
50 * @param[type] type:true 单行, false:多行
51 * @param[attr] 字体属性
52 * @return 文本视图对象
53 ****************************************************************/
54 static IDrawView* createITextView(App::IDocument* pDocument, const std::string text,
55 bool type,
56 const FontAttribute& attr = FontAttribute());
57
58 /*****************************************************************
59 * @brief 添加表格绘制视图对象
60 * @details 添加表格绘制视图对象
61 * @param[pDocument] 父节点
62 * @param[param] 参数结构
63 * @return 表格视图对象
64 ****************************************************************/
65 static IDrawView* createITableView(App::IDocument* pDocument, const TabelParam& param);
66
67 /*****************************************************************
68 * @brief 添加图注绘制视图对象
69 * @details 添加图注绘制视图对象
70 * @param[pDocument] 父节点
71 * @param[param] 参数结构
72 * @return 图注视图对象
73 ****************************************************************/
74 static IDrawView* createILabelView(App::IDocument* pDocument, const LabelParam& param);
75
76 /*****************************************************************
77 * @brief 添加几何列表绘制视图对象
78 * @details 添加几何列表绘制视图对象
79 * @param[pDocument] 父节点
80 * @param[geolist] 几何列表
81 * @param[param] 参数结构
82 * @return 几何列表视图对象
83 ****************************************************************/
85 const std::vector<Base::Geometry*>& geolist,
86 const DrawViewGeometryListParam& param);
87
88 /*****************************************************************
89 * @brief 添加线段绘制视图对象
90 * @details 添加线段绘制视图对象
91 * @param[pDocument] 父节点
92 * @param[startPt] 起点
93 * @param[endPt] 终点
94 * @param[attr] 线属性
95 * @param[ampltfy] 缩放倍数
96 * @return 线段列表视图对象
97 ****************************************************************/
99 const Base::Vector3d& startPt,
100 const Base::Vector3d& endPt,
101 const LineAttribute& attr = LineAttribute(),
102 double ampltfy = 1.0);
103
104 /*****************************************************************
105 * @brief 添加标高符号绘制视图对象
106 * @details 添加标高符号绘制视图对象
107 * @param[pDocument] 父节点
108 * @param[longSideLength] 符号中三角形底边长
109 * @param[text] 标高文本
110 * @param[fontAttr] 字体属性
111 * @param[lineAttr] 线属性
112 * @return 标高符号视图对象
113 ****************************************************************/
115 double longSideLength,
116 const std::string& text,
117 const FontAttribute& fontAttr = FontAttribute(),
118 const LineAttribute& lineAttr = LineAttribute());
119
120 /*****************************************************************
121 * @brief 添加DxfEntity集合绘制视图对象
122 * @details 添加DxfEntity集合绘制视图对象
123 * @param[pDocument] 父节点
124 * @param[data] DxfEntity集合
125 * @param[amplfy] 缩放倍数
126 * @return DxfEntity集合视图对象
127 ****************************************************************/
129 const std::vector<DxfEntity*>& data,
130 double amplfy = 1.0);
131
132 /*****************************************************************
133 * @brief 添加任意形状填充绘制视图对象
134 * @details 添加任意形状填充绘制视图对象
135 * @param[pDocument] 父节点
136 * @param[hatch] 填充数据对象
137 * @param[patScale] BIMHone填充比例
138 * @param[dxfScale] 导出dxf填充比例
139 * @return 填充视图对象
140 ****************************************************************/
142 DxfEntity* hatch,
143 double patScale,
144 double dxfScale);
145
146 /*****************************************************************
147 * @brief 添加线性和对齐标注绘制视图对象
148 * @details 添加线性和对齐标注绘制视图对象
149 * @param[pDocument] 父节点
150 * @param[param] 参数结构
151 * @return 标注视图对象
152 ****************************************************************/
154
155 /*****************************************************************
156 * @brief 添加半径或直径标注绘制视图对象
157 * @details 添加半径或直径标注绘制视图对象
158 * @param[pDocument] 父节点
159 * @param[type] 标注类型
160 * @param[angle] 半径或直径标注引线位置(角度值)
161 * @param[radius] 半径值
162 * @param[centerPt] 圆心
163 * @param[fontAttr] 字体属性
164 * @param[lineAttr] 线属性
165 * @return 标注视图对象
166 ****************************************************************/
168 const DimensionType& type,
169 double angle,
170 double radius,
171 const Base::Vector3d centerPt,
172 const FontAttribute& fontAttr = FontAttribute(),
173 const LineAttribute& lineAttr = LineAttribute());
174
175 /*****************************************************************
176 * @brief 添加角度标注绘制视图对象
177 * @details 添加角度标注绘制视图对象
178 * @param[pDocument] 父节点
179 * @param[angle] 角度值
180 * @param[centerPt] 标注的引线圆心
181 * @param[radius] 标注引线半径
182 * @param[fontAttr] 字体属性
183 * @param[lineAttr] 线属性
184 * @return 标注视图对象
185 ****************************************************************/
187 double angle,
188 const Base::Vector3d centerPt,
189 double radius,
190 const FontAttribute& fontAttr = FontAttribute(),
191 const LineAttribute& lineAttr = LineAttribute());
192
193 /*****************************************************************
194 * @brief 添加开孔符号绘制视图对象
195 * @details 添加开孔符号绘制视图对象
196 * @param[pDocument] 父节点
197 * @param[l] 孔长
198 * @param[w] 孔宽
199 * @param[attr] 线属性
200 * @return 开孔符号视图对象
201 ****************************************************************/
202 static IDrawView* createITrepanView(App::IDocument* pDocument, float l, float w, const LineAttribute& attr);
203
204 /*****************************************************************
205 * @brief 添加气球标注绘制视图对象
206 * @details 添加气球标注绘制视图对象
207 * @param[pDocument] 父节点
208 * @param[param] 参数结构
209 * @return 气球标注视图对象
210 ****************************************************************/
212
213 /*****************************************************************
214 * @brief 添加模版绘制视图对象
215 * @details 添加模版绘制视图对象
216 * @param[pDocument] 父节点
217 * @param[data] 参数化数据
218 * @param[sketchName] 模版全名称(包含后缀)
219 * @param[path] 模版绝对路径
220 * @param[param] 参数结构
221 * @return 模版视图对象
222 ****************************************************************/
224 const std::map<std::string, boost::any>& data,
225 const std::string& sketchName,
226 const std::string& path,
227 const DrawViewSketchTemplateParam& param);
228
229 /*****************************************************************
230 * @brief 添加剖面图绘制视图对象
231 * @details 添加剖面图绘制视图对象
232 * @param[pDocument] 父节点
233 * @param[param] 参数结构
234 * @return 剖面图视图对象
235 ****************************************************************/
237
238 /*****************************************************************
239 * @brief 添加投影图绘制视图对象
240 * @details 添加投影图绘制视图对象
241 * @param[pDocument] 父节点
242 * @param[param] 参数结构
243 * @return 投影图视图对象
244 ****************************************************************/
246 };
247}
248
249#endif // TECHDRAW_APP_CREATEDRAWVIEW_H
文档接口类
Definition IDocument.h:43
TechDraw中DxfEntity类
static IDrawView * createIRadiusOrDiameterDimensionView(App::IDocument *pDocument, const DimensionType &type, double angle, double radius, const Base::Vector3d centerPt, const FontAttribute &fontAttr=FontAttribute(), const LineAttribute &lineAttr=LineAttribute())
static IDrawView * createITemplteView(App::IDocument *pDocument, const std::map< std::string, boost::any > &data, const std::string &sketchName, const std::string &path, const DrawViewSketchTemplateParam &param)
static IDrawView * createIGeometryListView(App::IDocument *pDocument, const std::vector< Base::Geometry * > &geolist, const DrawViewGeometryListParam &param)
static IDrawView * createITableView(App::IDocument *pDocument, const TabelParam &param)
static IDrawView * createILineView(App::IDocument *pDocument, const Base::Vector3d &startPt, const Base::Vector3d &endPt, const LineAttribute &attr=LineAttribute(), double ampltfy=1.0)
static IDrawView * createITrepanView(App::IDocument *pDocument, float l, float w, const LineAttribute &attr)
static IDrawView * createIAngleDimensionView(App::IDocument *pDocument, double angle, const Base::Vector3d centerPt, double radius, const FontAttribute &fontAttr=FontAttribute(), const LineAttribute &lineAttr=LineAttribute())
static IDrawView * createIHatchView(App::IDocument *pDocument, DxfEntity *hatch, double patScale, double dxfScale)
static IDrawView * createILabelView(App::IDocument *pDocument, const LabelParam &param)
static IDrawView * createITextView(App::IDocument *pDocument, const std::string text, bool type, const FontAttribute &attr=FontAttribute())
virtual ~CreateDrawView()=default
static IDrawView * createIElevationView(App::IDocument *pDocument, double longSideLength, const std::string &text, const FontAttribute &fontAttr=FontAttribute(), const LineAttribute &lineAttr=LineAttribute())
static IDrawView * createIIllustrationView(App::IDocument *pDocument, const std::vector< DxfEntity * > &data, double amplfy=1.0)
static IDrawView * createIPartView(App::IDocument *pDocument, const DrawViewSectionParam &param)
static IDrawView * createIBalloonView(App::IDocument *pDocument, const DrawViewBallonParam &param)
static IDrawView * createIDimensionView(App::IDocument *pDocument, const DrawViewDimensionParam &param)
static IDrawView * createISectionView(App::IDocument *pDocument, const DrawViewSectionParam &param)
Definition CreateDrawView.h:40
TechDraw中DxfEntity类
Definition DxfEntity.h:511
Definition IDrawView.h:40
Definition BaseFigureFactory.h:28
Definition BaseFigureFactory.h:24
Definition ArrowPropEnum.h:26
Definition DrawViewParameterDefine.h:141
Definition DrawViewParameterDefine.h:191
Definition DrawViewParameterDefine.h:329
Definition DrawViewParameterDefine.h:267
Definition DrawViewParameterDefine.h:311
Definition DrawViewParameterDefine.h:81
Definition DrawViewParameterDefine.h:532
Definition DrawViewParameterDefine.h:112
Definition DrawViewParameterDefine.h:460