BIMHome v1.0.0
BIMHome接口文档说明
TransmissionFactory.h
浏览该文件的文档.
1/************************************************************************
2* @file TransmissionFactory.h
3*
4* @brief 输电构件创建工厂类
5*
6* @details 输电构件创建工厂类
7*
8* @author lirf
9*
10* @version 版本号 V0.1
11*
12* @date 2025-7-8
13*
14* @license 北京华科软科技有限公司
15*
16*************************************************************************/
17
18#ifndef PLATFORMALGORITHM_TRANSMISSIONFACTORY_H
19#define PLATFORMALGORITHM_TRANSMISSIONFACTORY_H
20
21#include <BHGlobal.h>
22#include <string>
23#include <Base/Placement.h>
24
25namespace Base {
26 class Placement;
27}
28
29namespace App {
30 class IDocument;
31 class IDocumentObject;
32}
33
34namespace PlatformAlgorithm {
35
36 class PlatformAlgorithmEXPORTS TransmissionFactory
37 {
38 public:
39
54 const std::string startCoord,
55 const std::string endCoord,
56 const std::string ordArray,
57 const std::string iRArray,
58 double d,
59 const std::string& objName = "Cable",
60 const Base::Placement& placement = Base::Placement(),
61 App::IDocument* pDoc = nullptr);
62
75 const std::string startCoord,
76 const std::string endCoord,
77 const std::string ordArray,
78 const std::string iRArray,
79 double d);
80
95 double h,
96 double r,
97 double r1,
98 double r2,
99 int n,
100 const std::string& objName = "PorcelainBushing",
101 const Base::Placement& placement = Base::Placement(),
102 App::IDocument* pDoc = nullptr);
103
116 double h,
117 double r,
118 double r1,
119 double r2,
120 int n);
121
139 double h,
140 double br,
141 double tr,
142 double br1,
143 double br2,
144 double tr1,
145 double tr2,
146 int n,
147 const std::string& objName = "ConePorcelainBushing",
148 const Base::Placement& placement = Base::Placement(),
149 App::IDocument* pDoc = nullptr);
150
166 double h,
167 double br,
168 double tr,
169 double br1,
170 double br2,
171 double tr1,
172 double tr2,
173 int n);
174
175
195 int n,
196 double d,
197 int n1,
198 double h1,
199 double r1,
200 double r2,
201 double r,
202 double fl,
203 double al,
204 int ln,
205 const std::string& objName = "Insulator",
206 const Base::Placement& placement = Base::Placement(),
207 App::IDocument* pDoc = nullptr);
208
226 int n,
227 double d,
228 int n1,
229 double h1,
230 double r1,
231 double r2,
232 double r,
233 double fl,
234 double al,
235 int ln);
236
256 double x,
257 double ad,
258 int n1,
259 double h1,
260 double r,
261 double r1,
262 double r2,
263 double fl,
264 double al,
265 int ln,
266 const std::string& objName = "VTypeInsulator",
267 const Base::Placement& placement = Base::Placement(),
268 App::IDocument* pDoc = nullptr);
269
287 double x,
288 double ad,
289 int n1,
290 double h1,
291 double r,
292 double r1,
293 double r2,
294 double fl,
295 double al,
296 int ln);
297
312 double tr,
313 double bor,
314 double ir,
315 double h,
316 double rad,
317 const std::string& objName = "TableGasket",
318 const Base::Placement& placement = Base::Placement(),
319 App::IDocument* pDoc = nullptr);
320
331 static void updateParameters(
333 double tr,
334 double bor,
335 double ir,
336 double h,
337 double rad);
338
356 double l1,
357 double w1,
358 double l2,
359 double w2,
360 double h,
361 int ct,
362 double rad,
363 double cl,
364 const std::string& objName = "SquareGasket",
365 const Base::Placement& placement = Base::Placement(),
366 App::IDocument* pDoc = nullptr);
367
383 double l1,
384 double w1,
385 double l2,
386 double w2,
387 double h,
388 int ct,
389 double rad,
390 double cl);
391
405 double bor,
406 double ir,
407 double h,
408 double rad,
409 const std::string& objName = "CircularGasket",
410 const Base::Placement& placement = Base::Placement(),
411 App::IDocument* pDoc = nullptr);
412
424 double bor,
425 double ir,
426 double h,
427 double rad);
428
429
450 double length,
451 double width,
452 double thickness,
453 double cs,
454 double rs,
455 int cn,
456 int rn,
457 double cl,
458 double radius,
459 double bl,
460 const std::string& phase,
461 const std::string& objName = "TerminalBlock",
462 const Base::Placement& placement = Base::Placement(),
463 App::IDocument* pDoc = nullptr);
464
482 double length,
483 double width,
484 double thickness,
485 double cs,
486 double rs,
487 int cn,
488 int rn,
489 double cl,
490 double radius,
491 double bl,
492 const std::string& phase);
493
510 double length,
511 double width,
512 double thickness,
513 double cs,
514 int n,
515 int mn,
516 double d,
517 const std::string& objName = "CircularFixedPlate",
518 const Base::Placement& placement = Base::Placement(),
519 App::IDocument* pDoc = nullptr);
520
535 double length,
536 double width,
537 double thickness,
538 double cs,
539 int n,
540 int mn,
541 double d);
542
561 double l,
562 double w,
563 double t,
564 double cs,
565 double rs,
566 int cn,
567 int rn,
568 int mh,
569 double d,
570 const std::string& objName = "RectangularFixedPlate",
571 const Base::Placement& placement = Base::Placement(),
572 App::IDocument* pDoc = nullptr);
573
590 double l,
591 double w,
592 double t,
593 double cs,
594 double rs,
595 int cn,
596 int rn,
597 int mh,
598 double d);
599
600 };
601
602
603}
604
605
606#endif // PLATFORMALGORITHM_TransmissionFACTORY_H
文档接口类
Definition IDocument.h:43
Definition IDocumentObject.h:35
Placement 类,表示三维空间中的位置和旋转
Definition Placement.h:34
static App::IDocumentObject * createVTypeInsulator(double x, double ad, int n1, double h1, double r, double r1, double r2, double fl, double al, int ln, const std::string &objName="VTypeInsulator", const Base::Placement &placement=Base::Placement(), App::IDocument *pDoc=nullptr)
V型绝缘子串的创建
static App::IDocumentObject * createSquareGasket(double l1, double w1, double l2, double w2, double h, int ct, double rad, double cl, const std::string &objName="SquareGasket", const Base::Placement &placement=Base::Placement(), App::IDocument *pDoc=nullptr)
方形垫片的创建
static App::IDocumentObject * createTerminalBlock(double length, double width, double thickness, double cs, double rs, int cn, int rn, double cl, double radius, double bl, const std::string &phase, const std::string &objName="TerminalBlock", const Base::Placement &placement=Base::Placement(), App::IDocument *pDoc=nullptr)
端子板的创建
static void updateInsulatorParameters(App::IDocumentObject *pObj, int n, double d, int n1, double h1, double r1, double r2, double r, double fl, double al, int ln)
更新绝缘子串参数
static void updateParameters(App::IDocumentObject *pObj, double tr, double bor, double ir, double h, double rad)
更新台型垫片参数
static App::IDocumentObject * createConePorcelainBushing(double h, double br, double tr, double br1, double br2, double tr1, double tr2, int n, const std::string &objName="ConePorcelainBushing", const Base::Placement &placement=Base::Placement(), App::IDocument *pDoc=nullptr)
锥形瓷套的创建
static void updateRectangularFixedPlateParameters(App::IDocumentObject *pObj, double l, double w, double t, double cs, double rs, int cn, int rn, int mh, double d)
更新矩形开孔板参数
static App::IDocumentObject * createTableGasket(double tr, double bor, double ir, double h, double rad, const std::string &objName="TableGasket", const Base::Placement &placement=Base::Placement(), App::IDocument *pDoc=nullptr)
台型垫片的创建
static void updateVTypeInsulatorParameters(App::IDocumentObject *pObj, double x, double ad, int n1, double h1, double r, double r1, double r2, double fl, double al, int ln)
更新V型绝缘子串参数
static App::IDocumentObject * createInsulator(int n, double d, int n1, double h1, double r1, double r2, double r, double fl, double al, int ln, const std::string &objName="Insulator", const Base::Placement &placement=Base::Placement(), App::IDocument *pDoc=nullptr)
绝缘子串的创建
static App::IDocumentObject * createPorcelainBushing(double h, double r, double r1, double r2, int n, const std::string &objName="PorcelainBushing", const Base::Placement &placement=Base::Placement(), App::IDocument *pDoc=nullptr)
瓷套\绝缘子的创建
static void updateSquareGasketParameters(App::IDocumentObject *pObj, double l1, double w1, double l2, double w2, double h, int ct, double rad, double cl)
更新方形垫片参数
static void updateCircularGasketParameters(App::IDocumentObject *pObj, double bor, double ir, double h, double rad)
更新圆形垫片参数
static App::IDocumentObject * createRectangularFixedPlate(double l, double w, double t, double cs, double rs, int cn, int rn, int mh, double d, const std::string &objName="RectangularFixedPlate", const Base::Placement &placement=Base::Placement(), App::IDocument *pDoc=nullptr)
矩形开孔板的创建
static void updateTerminalBlockParameters(App::IDocumentObject *pObj, double length, double width, double thickness, double cs, double rs, int cn, int rn, double cl, double radius, double bl, const std::string &phase)
更新端子板参数
static void updatePorcelainBushingParameters(App::IDocumentObject *pObj, double h, double r, double r1, double r2, int n)
更新瓷套\绝缘子参数
static void updateCircularFixedPlateParameters(App::IDocumentObject *pObj, double length, double width, double thickness, double cs, int n, int mn, double d)
更新圆形开孔板参数
static App::IDocumentObject * createCircularFixedPlate(double length, double width, double thickness, double cs, int n, int mn, double d, const std::string &objName="CircularFixedPlate", const Base::Placement &placement=Base::Placement(), App::IDocument *pDoc=nullptr)
圆形开孔板的创建
static void updateConePorcelainBushingParameters(App::IDocumentObject *pObj, double h, double br, double tr, double br1, double br2, double tr1, double tr2, int n)
更新锥形瓷套参数
static App::IDocumentObject * createCable(const std::string startCoord, const std::string endCoord, const std::string ordArray, const std::string iRArray, double d, const std::string &objName="Cable", const Base::Placement &placement=Base::Placement(), App::IDocument *pDoc=nullptr)
电缆的创建
static void updateCableParameters(App::IDocumentObject *pObj, const std::string startCoord, const std::string endCoord, const std::string ordArray, const std::string iRArray, double d)
更新电缆参数
static App::IDocumentObject * createCircularGasket(double bor, double ir, double h, double rad, const std::string &objName="CircularGasket", const Base::Placement &placement=Base::Placement(), App::IDocument *pDoc=nullptr)
圆形垫片的创建
Definition TransmissionFactory.h:37
Definition BaseFigureFactory.h:28
Definition BaseFigureFactory.h:24
Definition BaseFigureFactory.h:33