BIMHome v1.0.0
BIMHome接口文档说明
IDrawPage.h
浏览该文件的文档.
1/************************************************************************
2* @file IDrawPage.h
3*
4* @brief 绘制图纸接口类
5*
6* @details 绘制图纸接口类
7*
8* @author
9*
10* @version 1.0
11*
12* @date 2025-5-30
13*
14* @license 北京华科软科技有限公司
15*
16*************************************************************************/
17
18#ifndef TECHDRAW_APP_IDRAWPAGE_H
19#define TECHDRAW_APP_IDRAWPAGE_H
20
21#include "BHGlobal.h"
22#include <vector>
23#include <map>
24#include <string>
25#include <boost/any.hpp>
26#include "Base/Meterial/Color.h"
27#include "Base/Vector3D.h"
28#include "Base/BoundBox.h"
30
31namespace App {
32 class IDocument;
33 class IDocumentObject;
34}
35
36namespace Base {
37 class Geometry;
38}
39
40namespace TechDraw
41{
42 class IDrawView;
43 enum class DxfExportType;
44 class IDocumentObject;
45 class AppDocObserverDelegate;
46 class dxfAnalysis;
47 class CircleInfo;
48 class DxfEntity;
49 class IDrawView;
50
51
52 class TechDrawExport IDrawPage
53 {
54 public:
63 const std::string pageName,
64 const std::string templateName);
65
67 const std::string pageName,
68 const std::string templateName,
69 void* pAppDocDelegate = nullptr,
70 void* pGuiDocDelegate = nullptr);
71
72
73 virtual ~IDrawPage();
74
75 // Property
81 virtual void setITemplate(App::IDocumentObject* obj) = 0;
82
88 virtual void setIScale(double obj) = 0;
89
95 virtual double getIScale() = 0;
96
102 virtual int getITempleteDefalutScale() = 0;
103
109 virtual void setITempleteScale(double value) = 0;
110
116 virtual double getITempleteScale() = 0;
117
123 virtual void setIInitialScaleTimes(double obj) = 0;
124
130 virtual double getIInitialScaleTimes() = 0;
131
137 virtual void setIAmplify(double value) = 0;
143 virtual double getIAmplify() = 0;
144
150 virtual void setISketchTemplatePath(const std::string& value) = 0;
151
157 virtual void setHatchScale(double value) = 0;
158
164 virtual void setCADHatchScale(double value) = 0;
165
166
172 virtual void setIDimensionArrowSize(double value) = 0;
173
179 virtual void setIDimensionTextSizeInDxf(double value) = 0;
180
186 virtual double getIDimensionTextSizeInDxf() = 0;
187
193 virtual void setIPolyLineLineWidth(double value) = 0;
194
200 virtual double getIPolyLineLineWidth() = 0;
201
217 virtual void setIDimensionArrowStyle(const std::string& value) = 0;
218
224 virtual void setITemplateStepInDxf(double value) = 0;
225
231 virtual double getITemplateStepInDxf() = 0;
232
233 /*------------复制图框------------------------------------------
234 根据分图标志,分图排列方向、需要排列的图个数复制图框,
235 getICurrentCopyPageXDis和getICurrentCopyPageYDis获取当前图框左下角坐标用于绘图*/
241 virtual void setITemplateArrayDirInDxf(const std::string& value) = 0;
242
248 virtual void setITemplateArrayNumber(int value) = 0;
249
255 virtual void setITemplateIsSplit(bool value) = 0;
256
262 virtual bool getITemplateIsSplit() = 0;
263
269 virtual double getICurrentCopyPageXDis() = 0;
270
276 virtual double getICurrentCopyPageYDis() = 0;
277
283 virtual void setITemplateDrawName(const std::string& value) = 0;
284
290 virtual const char* getITemplateDrawName() = 0;
291
297 virtual void setITemplateBorderOffset(double value) = 0;
298
304 virtual double getITemplateBorderOffset() = 0;
305
311 virtual void setITextWidthFactor(double value) = 0;
312
318 virtual double getITextWidthFactor() = 0;
319
325 virtual void setIMapLableToLineDistance(double value) = 0;
326
331 virtual double getIMapLableToLineDistance() = 0;
332
338 virtual void setIMapLableLineToLineDistance(double value) = 0;
339
344 virtual double getIMapLableLineToLineDistance() = 0;
345
346
352 virtual void setImDimensionTextToLineDistance(double value) = 0;
353
359 virtual void setIDDimensionTextToDistance(double value) = 0;
360
366 virtual void setITableMapTextFontSize(double value) = 0;
367
373 virtual double getITableMapTextFontSize() = 0;
374
380 virtual void setITextSizeForDrawingTitle(double value) = 0;
381
387 virtual double getITextSizeForDrawingTitle() = 0;
388
389
395 virtual void setITextSizeForPlottingScale(double value) = 0;
396
402 virtual double getITextSizeForPlottingScale() = 0;
403
409 virtual void setIDimensionStyleName(const std::string& value) = 0;
410
416 virtual const char* getIDimensionStyleName() = 0;
417
423 virtual void setITextStyleName(const std::string& value) = 0;
424
430 virtual const char* getITextStyleName() = 0;
431
437 virtual void setITextFontFamily(const std::string& value) = 0;
438
444 virtual const char* getITextFontFamily() = 0;
445
451 virtual void setITextBigFontfamily(const std::string& value) = 0;
452
458 virtual const char* getITextBigFontfamily() = 0;
459
465 virtual std::vector<App::IDocumentObject*> getIAllViews(void) = 0;
466
473 virtual int addIView(App::IDocumentObject* docObj) = 0;
474
481 virtual int removeIView(App::IDocumentObject* docObj) = 0;
482
487 virtual void updateAllViews(void) = 0;
488
493 virtual void deleteAllViews()= 0;
494
500 virtual double getPageWidth() const = 0;
501
507 virtual double getPageHeight() const = 0;
508
514 virtual double getPageLeft() const = 0;
515
521 virtual double getPageRight() const = 0;
522
528 virtual double getPageTop() const = 0;
529
535 virtual double getPageBottom() const = 0;
536
541 virtual void redrawCommand() = 0;
542
550 virtual bool writeIDxfFile(const std::string& fileName, TechDraw::DxfExportType type) = 0;
551
557 virtual void setDrawPageCallBack(std::function<void(int)> func) = 0;
558
564 virtual void setTemplateGraphicsName(const std::string& name)const = 0;
565
571
579
587
598 virtual void addILabel(TechDraw::IDrawView* parentObj,
599 const std::string& text,
600 const std::string& scaletext,
601 float dis,
602 const OriginOrientation& origin = OriginOrientation::GEOMETRICCENTER) = 0;
603
613 virtual IDrawView* loadIText(IDrawView* parentObj,
614 const std::string text,
615 bool type = true,
616 const FontAttribute& attr = FontAttribute()) = 0;
617
618 /* *
619 * @brief 加载表格视图-优化版本
620 * @details 加载表格视图-优化版本
621 * @param[param] 表格参数结构
622 * @return: 表格视图对象
623 */
624 virtual IDrawView* loadIOptimizeTable(const TabelParam& param) = 0;
625
626 /* *
627 * @brief 加载模版
628 * @details 加载模版
629 * @param [parent] 跟随移动对象
630 * @param [sketchName] 模版名称
631 * @param [data] 参数化数据
632 * @param [param] 参数结构
633 * @return 模版视图对象
634 */
636 std::string sketchName,
637 std::map<std::string, boost::any> data,
638 const DrawViewSketchTemplateParam& param) = 0;
639
640 /*
641 * @brief 加载模版约束
642 * @details 加载模版约束
643 * @param [temView] 模板对象
644 */
645 virtual void LoadITemplteConstraint(TechDraw::IDrawView* temView) = 0;
646
659 TechDraw::IDrawView* parentToAttach,
660 TechDraw::IDrawView* parentToMove,
661 const FontAttribute& leaderFontAttr = FontAttribute(Base::Color(0, 1, 0)),
662 const LineAttribute& leaderLineAttr = LineAttribute(Base::Color(0, 1, 0)),
663 const FontAttribute& indexFontAttr = FontAttribute(Base::Color(0, 1, 0)),
664 const LineAttribute& indexLineAttr = LineAttribute(Base::Color(0, 1, 0)),
665 bool bScenePoint = false) = 0;
666
681 double xCoeViewPostion, double xCoeViewBoundingbox, double xConstant,
682 double yCoeViewPostion, double yCoeViewBoundingbox, double yConstant) = 0;
683
694 virtual void getChildPosition(
695 const Base::Vector3d& pos, const Base::BoundBox3d& box,
696 const std::string& express, double& xValue, double& yValue) = 0;
697
705 virtual IDrawView* loadILabel(TechDraw::IDrawView* parentObj, const LabelParam& param) = 0;
706
717 virtual IDrawView* loadILine(IDrawView* parentObj,
718 const Base::Vector3d& startPt,
719 const Base::Vector3d& endPt,
720 const LineAttribute& attr = LineAttribute(),
721 double ampltfy = 1.0) = 0;
722
723 /* *
724 * @brief 绘制标高符号
725 * @details 绘制标高符号
726 * @param [pParentView] 跟随移动对象
727 * @param [longSideLength] 三角形底边长
728 * @param [text] 标高文本
729 * @param [fontAttr] 字体属性
730 * @param [lineAttr] 线属性
731 */
732 virtual IDrawView* loadIElevation(IDrawView* parentObj,
733 double longSideLength, const std::string& text,
734 const FontAttribute& fontAttr = FontAttribute(),
735 const LineAttribute& lineAttr = LineAttribute()) = 0;
736
737 /* *
738 * @brief 绘制DxfEntity集合数据
739 * @details 绘制DxfEntity集合数据
740 * @param [section] 跟随移动对象
741 * @param [data] 绘制数据
742 * @param [amplfy] 缩放倍数
743 * @return 视图对象
744 */
745 virtual IDrawView* loadIIllustration(IDrawView* section, const std::vector<TechDraw::DxfEntity*>& data, const double& amplfy = 1.0) = 0;
746
747 /* *
748 * @brief 加载任意形状的填充
749 * @details 加载任意形状的填充
750 * @param [parentObj] 跟随移动对象
751 * @param [hatch] 填充数据
752 * @param [patScale] Qt显示填充比例
753 * @param [dxfScale] dxf显示法人填充比例
754 * @return 视图对象
755 */
756 virtual IDrawView* loadIHatch(TechDraw::IDrawView* parentObj, TechDraw::DxfEntity* hatch, const double patScale, const double dxfScale) = 0;
757
758 /* *
759 * @brief 绘制标注
760 * @details pView视图绘制标注
761 * @param [pView] 当前标注随该section移动
762 * @param [param] 标注参数
763 * @return 标注对象
764 */
765 virtual IDrawView* loadIDimension(IDrawView* pView, const DrawViewDimensionParam& param) = 0;
766
767 /* *
768 * @brief 分别获取投影图或剖面图的x坐标集合、y坐标集合和圆数据集合
769 * @details 分别获取投影图或剖面图的x坐标集合、y坐标集合和圆数据集合
770 * @param[pView] 投影图或剖面图对象
771 * @param[xDim] x坐标集合
772 * @param[yDim] y坐标集合
773 * @param[circle] 圆数据集合
774 */
776 std::vector<double>& xDim,
777 std::vector<double>& yDim,
778 std::vector<CircleInfo>& circle) = 0;
779
780 /* *
781 * @brief 添加任意半径或直径标注
782 * @details 添加任意半径或直径标注
783 * @param [parentObj] 父节点
784 * @param [type] 标注类型
785 * @param [angle] 标注位置(角度)
786 * @param [radius] 半径
787 * @param [centerPt] 圆心(DrawPage中坐标)
788 * @param [fontAttr] 字体属性
789 * @param [lineAttr] 线属性
790 * @return: 标注对象
791 */
793 const DimensionType& type,
794 double angle,
795 double radius,
796 const Base::Vector3d centerPt,
797 const FontAttribute& fontAttr = FontAttribute(),
798 const LineAttribute& lineAttr = LineAttribute()) = 0;
799
800 /* *
801 * @brief 添加任意角度标注
802 * @details 添加任意角度标注
803 * @param [pParentView] 跟随移动对象
804 * @param [angle] 角度(度数)
805 * @param [centerPt] 圆心(DrawPage中坐标)
806 * @param [radius] 半径
807 * @param [fontAttr] 字体属性
808 * @param [lineAttr] 线属性
809 * @return: 标注对象
810 */
812 double angle, const Base::Vector3d centerPt, double radius,
813 const FontAttribute& fontAttr = FontAttribute(),
814 const LineAttribute& lineAttr = LineAttribute()) = 0;
815
816 /* *
817 * @brief 添加父类对象(跟随移动)
818 * @details 添加父类对象
819 * @param [parentobj] 父对象
820 * @param [childobj] 子对象
821 */
822 virtual void addIParentObject(App::IDocumentObject* parentobj, App::IDocumentObject* childobj) = 0;
823
824 /* *
825 * @brief 加载开孔符号
826 * @details 加载开孔符号
827 * @param [section] 跟随移动对象
828 * @param [l] 孔长度
829 * @param [w] 孔宽度
830 * @param [attr] 线属性
831 * @return: 开孔符号对象
832 */
833 virtual TechDraw::IDrawView* loadITrepan(TechDraw::IDrawView* parentObj, float l, float w, const LineAttribute& attr = LineAttribute()) = 0;
834
835 /* *
836 * @brief 计算表格每行高和每列宽
837 * @details 根据合并单元格数据、最小列宽和最大列宽以及总宽约束计算表格每行高和每列宽
838 * @param [tabledata] 表格数据
839 * @param [spanData] 合并单元格数据
840 * @param [rowheight] 行高map
841 * @param [colWidth] 列宽map
842 * @param [fontsize] 文本字体大小
843 * @param [minColWidth] 最小列宽
844 * @param [maxColWidth] 最大列宽
845 * @param [totalTableWidth] 表格的总宽度约束
846 */
847 virtual void getTableRowHeightColWidth(std::map<int, std::map<int, std::string>> tabledata,
848 std::vector<TechDraw::TableSpanInfo> spanData,
849 std::map<std::string, std::string>& rowheight,
850 std::map<std::string, std::string>& colWidth,
851 double fontsize,
852 double minColWidth,
853 double maxColWidth,
854 double totalTableWidth = 0) = 0;
855
856 /* *
857 * @brief 根据表格数据获取表格行数和列数
858 * @details 根据表格数据获取表格行数和列数
859 * @param [tabledata] 表格数据
860 * @param [rows] 总行数
861 * @param [cols] 总列数
862 */
863 virtual void getTableRowsAndCols(std::map<int, std::map<int, std::string>> tabledata, int& rows, int& cols) = 0;
864
865 /* *设置geometryList基础属性
866 * @param geolist:集合对象
867 * @param attr:基础属性
868 * @return:
869 */
870 virtual void setIGeometryListProperty(std::vector<std::shared_ptr<Base::Geometry>>& geolist, const LineAttribute& attr = LineAttribute()) = 0;
871
880 TechDraw::IDrawView* parentObj,
881 std::vector<std::shared_ptr<Base::Geometry>> bGeolist, const DrawViewGeometryListParam& param) = 0;
882
883 /* *
884 * @brief 加载气球标注
885 * @details 加载气球标注
886 * @param [parent] 被标注对象
887 * @param [param] 气球标注数据
888 * @return 气球标注对象
889 */
891 std::shared_ptr<TechDraw::IDrawView> parent,
892 const DrawViewBallonParam& param) = 0;
893
900 virtual void addILabelParentToChange(TechDraw::IDrawView* pParentobj, TechDraw::IDrawView* pScaleLabel) = 0;
901
902 /* *
903 * @brief 计算真实缩放倍数
904 * @details 根据图纸模版放大倍数和可设置比例,计算真实的缩放倍数
905 * @param [times] 需设置的缩放倍数
906 * @return 真实缩放倍数
907 */
908 virtual float getTimes(float times) = 0;
909
910 /* *
911 * @brief 根据缩放倍数获取比例文本
912 * @details 根据缩放倍数获取比例文本
913 * @param [times] 缩放倍数
914 * @return 比例文本(格式1:)
915 */
916 virtual std::string getScaleText(float times) = 0;
917
918 /* *
919 * @brief 根据Document对象获取其模型中的UserParameter
920 * @details 根据Document对象获取其模型中的UserParameter
921 * @param [pDocument] Document对象
922 * @return <名称,值>
923 */
924 virtual std::map<std::string, std::string> getIDocumentParameter(App::IDocument* pDocument) = 0;
925
926 /* *
927 * @brief 设置图框的放大倍数
928 * @details 设置图框的放大倍数
929 */
930 virtual void setTemplateAmplify() = 0;
931
932 /* *
933 * @brief 从配置文件中读取尺寸样式信息并创建对应的DxfDimStyle对象
934 * @details 从配置文件中读取尺寸样式信息并创建对应的DxfDimStyle对象
935 */
936 virtual void readDimensionStyleInfo() = 0;
937
942 virtual void emitCopyTemplete() = 0;
943
948 virtual double getOneTemplatePageWidth() = 0;
949 };
950
951
952}
953
954#endif // TECHDRAW_APP_IDRAWPAGE_H
文档接口类
Definition IDocument.h:43
Definition IDocumentObject.h:35
TechDraw中DxfEntity类
TechDraw中DxfEntity类
Definition DxfEntity.h:511
virtual void setDrawPageCallBack(std::function< void(int)> func)=0
绘制界面加载进度条回调函数
virtual std::string getScaleText(float times)=0
virtual void setITextBigFontfamily(const std::string &value)=0
设置文本大字体名称
virtual void setIScale(double obj)=0
设置图纸缩放比例
virtual void setTemplateAmplify()=0
virtual void setITemplateBorderOffset(double value)=0
设置模板边界的偏移距离(用于确定绘图范围)
virtual double getITemplateBorderOffset()=0
获取模板边界的偏移距离
virtual void LoadITemplteConstraint(TechDraw::IDrawView *temView)=0
virtual const char * getITextFontFamily()=0
获取文本字体名称
virtual double getIDimensionTextSizeInDxf()=0
获取 DXF 文件导出时尺寸标注的文本高度
virtual int removeIView(App::IDocumentObject *docObj)=0
删除视图对象
virtual IDrawView * loadIDrawViewPart(const DrawViewSectionParam &param)=0
通过投影参数构建投影视图
virtual const char * getITextBigFontfamily()=0
获取文本大字体名称
virtual double getITemplateStepInDxf()=0
获取复制图框间间距(单位mm)
virtual const char * getITextStyleName()=0
获取文本样式名称
virtual void setIDimensionArrowStyle(const std::string &value)=0
设置标注箭头的样式类型
virtual double getIScale()=0
获取图纸的缩放比例
virtual void setIInitialScaleTimes(double obj)=0
设置图纸的初始缩放倍数
virtual IDrawView * loadIDrawviewGeometryList(TechDraw::IDrawView *parentObj, std::vector< std::shared_ptr< Base::Geometry > > bGeolist, const DrawViewGeometryListParam &param)=0
添加Base::Geometry集合数据构成的绘制视图对象
virtual void setIDimensionTextSizeInDxf(double value)=0
尺寸标注的文本字体大小(mm)
virtual IDrawView * loadIDrawViewSection(const DrawViewSectionParam &param)=0
通过剖面图参数构建剖面图视图对象
virtual double getITempleteScale()=0
获取绘制中DrawPage的比例
virtual void setHatchScale(double value)=0
设置GraphicView中填充图案比例
virtual void setIMapLableLineToLineDistance(double value)=0
设置图注距离第一根下划线与第二根下划线的间距
virtual IDrawView * loadILabel(TechDraw::IDrawView *parentObj, const LabelParam &param)=0
绘制图注
virtual void setITemplateBalloon(TechDraw::IDrawView *parentToAttach, TechDraw::IDrawView *parentToMove, const FontAttribute &leaderFontAttr=FontAttribute(Base::Color(0, 1, 0)), const LineAttribute &leaderLineAttr=LineAttribute(Base::Color(0, 1, 0)), const FontAttribute &indexFontAttr=FontAttribute(Base::Color(0, 1, 0)), const LineAttribute &indexLineAttr=LineAttribute(Base::Color(0, 1, 0)), bool bScenePoint=false)=0
加载模版中引线标注
virtual double getIMapLableLineToLineDistance()=0
获取图注距离第一根下划线与第二根下划线的间距
virtual const char * getITemplateDrawName()=0
获取当前图框名称
virtual void getIPartDimensionData(TechDraw::IDrawView *pView, std::vector< double > &xDim, std::vector< double > &yDim, std::vector< CircleInfo > &circle)=0
virtual double getPageWidth() const =0
获得页面宽度
virtual void setITextSizeForPlottingScale(double value)=0
设置比例文字大小
virtual double getPageHeight() const =0
获得页面高度
virtual TechDraw::IDrawView * loadITrepan(TechDraw::IDrawView *parentObj, float l, float w, const LineAttribute &attr=LineAttribute())=0
virtual void setCADHatchScale(double value)=0
设置cad中填充图案比例
virtual bool getITemplateIsSplit()=0
获取分图状态
virtual void setITextWidthFactor(double value)=0
设置文本宽度缩放因子 @value 更新图纸中文本元素的横向显示比例
virtual const char * getIDimensionStyleName()=0
获取尺寸标注样式的名称
virtual void setIDDimensionTextToDistance(double value)=0
设置直径标注文本距离线的距离与字体大小的比例
virtual void setITemplate(App::IDocumentObject *obj)=0
设置模板对象
virtual std::map< std::string, std::string > getIDocumentParameter(App::IDocument *pDocument)=0
static App::IDocumentObject * create(App::IDocument *pDoc, const std::string pageName, const std::string templateName, void *pAppDocDelegate=nullptr, void *pGuiDocDelegate=nullptr)
virtual TechDraw::dxfAnalysis * getDxfAnalysis()=0
获得图框dxf对象指针
virtual void getTableRowsAndCols(std::map< int, std::map< int, std::string > > tabledata, int &rows, int &cols)=0
virtual void setIDimensionArrowSize(double value)=0
设置尺寸标注箭头的大小
virtual IDrawView * loadIElevation(IDrawView *parentObj, double longSideLength, const std::string &text, const FontAttribute &fontAttr=FontAttribute(), const LineAttribute &lineAttr=LineAttribute())=0
virtual IDrawView * loadIOptimizeTable(const TabelParam &param)=0
virtual double getPageLeft() const =0
获得页面左边定位
virtual int addIView(App::IDocumentObject *docObj)=0
添加视图对象
virtual void emitCopyTemplete()=0
复制图框信号
virtual void setITextStyleName(const std::string &value)=0
设置文本样式名称(HKR)
virtual void setIAmplify(double value)=0
设置绘图页比例和默认模版比例的倍数
virtual double getIMapLableToLineDistance()=0
获取图注文本距离第一根下划线间距
virtual void setIPolyLineLineWidth(double value)=0
设置图注第一条下划线多段线的线宽
virtual void updateAllViews(void)=0
更新所有视图对象
virtual void deleteAllViews()=0
删除所有视图对象
virtual std::vector< App::IDocumentObject * > getIAllViews(void)=0
获取绘制页上的所有视图对象列表
virtual void getChildPosition(const Base::Vector3d &pos, const Base::BoundBox3d &box, const std::string &express, double &xValue, double &yValue)=0
根据位置表达式计算位置
virtual void setITextSizeForDrawingTitle(double value)=0
设置图注文字大小
virtual std::string getChildPositionExpressRelativeMainView(double xCoeViewPostion, double xCoeViewBoundingbox, double xConstant, double yCoeViewPostion, double yCoeViewBoundingbox, double yConstant)=0
获取图注位置相对主视图位置计算表达式
virtual float getTimes(float times)=0
static App::IDocumentObject * create(App::IDocument *pDoc, const std::string pageName, const std::string templateName)
创建绘制页
virtual double getPageRight() const =0
获得页面右边定位
virtual IDrawView * loadITemplte(TechDraw::IDrawView *parent, std::string sketchName, std::map< std::string, boost::any > data, const DrawViewSketchTemplateParam &param)=0
virtual void setITableMapTextFontSize(double value)=0
设置表格中模板文字大小
virtual void setISketchTemplatePath(const std::string &value)=0
设置草图模板路径
virtual IDrawView * loadIText(IDrawView *parentObj, const std::string text, bool type=true, const FontAttribute &attr=FontAttribute())=0
加载文本视图
virtual double getITableMapTextFontSize()=0
获取表格中模板文字大小
virtual IDrawView * loadILine(IDrawView *parentObj, const Base::Vector3d &startPt, const Base::Vector3d &endPt, const LineAttribute &attr=LineAttribute(), double ampltfy=1.0)=0
绘制线条
virtual double getPageBottom() const =0
获得页面底部定位
virtual void setITemplateArrayNumber(int value)=0
设置每行/列放多少个图
virtual double getITextWidthFactor()=0
获取文本宽度缩放因子
virtual void redrawCommand()=0
重新绘制命令
virtual IDrawView * loadIRadiusOrDiameterDimension(IDrawView *parentObj, const DimensionType &type, double angle, double radius, const Base::Vector3d centerPt, const FontAttribute &fontAttr=FontAttribute(), const LineAttribute &lineAttr=LineAttribute())=0
virtual void setIMapLableToLineDistance(double value)=0
设置图注文本距离第一根下划线间距
virtual void setIGeometryListProperty(std::vector< std::shared_ptr< Base::Geometry > > &geolist, const LineAttribute &attr=LineAttribute())=0
virtual double getICurrentCopyPageXDis()=0
获取当前图框左下角坐标x值
virtual void setITempleteScale(double value)=0
设置绘制中DrawPage的比例(多次点击绘图命令时,恢复初始的比例)
virtual double getIAmplify()=0
获取绘图页比例和默认模版比例的倍数
virtual double getIPolyLineLineWidth()=0
获取多段线的线宽
virtual void readDimensionStyleInfo()=0
virtual void setITextFontFamily(const std::string &value)=0
设置文本字体名称
virtual void setITemplateDrawName(const std::string &value)=0
设置当前图框名称
virtual IDrawView * loadIAngleDimension(IDrawView *parentObj, double angle, const Base::Vector3d centerPt, double radius, const FontAttribute &fontAttr=FontAttribute(), const LineAttribute &lineAttr=LineAttribute())=0
virtual void setITemplateArrayDirInDxf(const std::string &value)=0
设置分图排列方向
virtual void getTableRowHeightColWidth(std::map< int, std::map< int, std::string > > tabledata, std::vector< TechDraw::TableSpanInfo > spanData, std::map< std::string, std::string > &rowheight, std::map< std::string, std::string > &colWidth, double fontsize, double minColWidth, double maxColWidth, double totalTableWidth=0)=0
virtual void setTemplateGraphicsName(const std::string &name) const =0
设置当前图框的分图组名称
virtual void setImDimensionTextToLineDistance(double value)=0
设置标注文本距离标注线的距离
virtual double getICurrentCopyPageYDis()=0
获取当前图框左下角坐标y值
virtual void addILabel(TechDraw::IDrawView *parentObj, const std::string &text, const std::string &scaletext, float dis, const OriginOrientation &origin=OriginOrientation::GEOMETRICCENTER)=0
视图添加文本和比例图注
virtual double getOneTemplatePageWidth()=0
计算单个模版宽度
virtual void addIParentObject(App::IDocumentObject *parentobj, App::IDocumentObject *childobj)=0
virtual int getITempleteDefalutScale()=0
获取模版绘图页加载的模版的默认放大倍数
virtual void setITemplateIsSplit(bool value)=0
设置是否需要分图
virtual IDrawView * loadIHatch(TechDraw::IDrawView *parentObj, TechDraw::DxfEntity *hatch, const double patScale, const double dxfScale)=0
virtual void setITemplateStepInDxf(double value)=0
设置复制图框间间距(单位mm)
virtual void setIDimensionStyleName(const std::string &value)=0
设置尺寸标注样式的名称
virtual double getITextSizeForPlottingScale()=0
获取比例文字大小
virtual double getIInitialScaleTimes()=0
获取图纸的初始缩放倍数
virtual IDrawView * loadIDimension(IDrawView *pView, const DrawViewDimensionParam &param)=0
virtual bool writeIDxfFile(const std::string &fileName, TechDraw::DxfExportType type)=0
写Dxf文件
virtual IDrawView * loadIIllustration(IDrawView *section, const std::vector< TechDraw::DxfEntity * > &data, const double &amplfy=1.0)=0
virtual double getITextSizeForDrawingTitle()=0
获取图注文字大小
virtual void addILabelParentToChange(TechDraw::IDrawView *pParentobj, TechDraw::IDrawView *pScaleLabel)=0
比例视图的父类视图对象,为绘图界面修改比例同步View使用
virtual double getPageTop() const =0
获得页面顶部定位
virtual IDrawView * loadIBalloon(std::shared_ptr< TechDraw::IDrawView > parent, const DrawViewBallonParam &param)=0
Definition IDrawPage.h:53
Definition IDrawView.h:40
Definition dxfAnalysis.h:57
TechDraw中解析dxf的类
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