17#ifndef TECHDRAWAPP_DXFANALYSIS_H
18#define TECHDRAWAPP_DXFANALYSIS_H
23#include <Base/Tools2D.h>
27#include <libdrfx/drw_interface.h>
38enum class DxfExportType;
39enum class DwgExportType;
52class DxfEntityContainer;
65 virtual void addHeader(
const DRW_Header* data)
override;
67 virtual void addLType(
const DRW_LType& data)
override;
69 virtual void addLayer(
const DRW_Layer& data)
override;
73 virtual void addVport(
const DRW_Vport& data)
override;
77 virtual void addAppId(
const DRW_AppId& data)
override;
79 virtual void addBlock(
const DRW_Block& data)
override;
81 virtual void setBlock(
const int handle)
override;
85 virtual void addPoint(
const DRW_Point& data)
override;
87 virtual void addLine(
const DRW_Line& data)
override;
89 virtual void addRay(
const DRW_Ray& data)
override;
91 virtual void addXline(
const DRW_Xline& data)
override;
93 virtual void addCircle(
const DRW_Circle& data)
override;
95 virtual void addArc(
const DRW_Arc& data)
override;
97 virtual void addEllipse(
const DRW_Ellipse& data)
override;
103 virtual void addSpline(
const DRW_Spline* data)
override;
105 virtual void addKnot(
const DRW_Entity& data)
override;
107 virtual void addInsert(
const DRW_Insert& data)
override;
109 virtual void addTrace(
const DRW_Trace& data)
override;
111 virtual void add3dFace(
const DRW_3Dface& data)
override;
113 virtual void addSolid(
const DRW_Solid& data)
override;
115 virtual void addMText(
const DRW_MText& data)
override;
117 virtual void addText(
const DRW_Text& data)
override;
119 virtual void addLayout(
const DRW_Layout& data)
override;
135 virtual void addLeader(
const DRW_Leader* data)
override;
137 virtual void addHatch(
const DRW_Hatch* data)
override;
141 virtual void addImage(
const DRW_Image* data)
override;
143 virtual void linkImage(
const DRW_ImageDef* data)
override;
213 bool needScale =
true);
216 const std::string& text,
223 const std::string& text,
229 int widthscale = 1.0);
235 bool needScale =
true);
238 const std::vector< std::pair<DxfVector, double> >& positionList,
241 bool needScale =
true);
244 const std::map<std::string, DxfDimStyle*>& styleContainer,
245 double& arrowSizeInDxf,
246 double& textSizeInDxf);
256 Base::Color dimTextColor,
257 Base::Color dimHorizonColor,
258 Base::Color dimVerticalColor,
271 Base::Color dimTextColor,
272 Base::Color dimHorizonColor,
273 Base::Color dimVerticalColor,
298 Base::Color dimTextColor,
299 Base::Color dimHorizonColor,
300 Base::Color dimVerticalColor,
311 Base::Color dimTextColor,
312 Base::Color dimHorizonColor,
313 Base::Color dimVerticalColor,
323 Base::Color dimTextColor,
324 Base::Color dimHorizonColor,
325 Base::Color dimVerticalColor,
329 const char* leaderType,
340 double circleTextWidth,
341 double leaderArrowOffsetX,
342 double leaderArrowOffsetY,
343 const std::vector<TechDraw::DxfText*>& attachedLabels,
344 const std::vector<DxfLine*>& attachedLines,
346 const std::vector<Base::Vector3d>& leaderInterval,
348 Base::Color dimTextColor,
349 Base::Color dimLineColor);
355 const std::string& tableName,
359 std::vector<double> rowWidths,
361 const std::map<
int, std::map<int, std::string>>& tableContents,
362 const std::vector<TableSpanInfo>& TableSpandata);
390 void addEntity(
Base::Vector3d basePt,
const std::vector<DxfEntity*>& entities,
double scale = 1.0,
double rotate=0.0,
double hatchScale = 1.0);
422 bool writeDxfFile(
const QString& fileName, TechDraw::DxfExportType type);
424 bool writeDwgFile(
const QString& fileName, TechDraw::DwgExportType type);
499 void copyTemplateEntities(
double step,
int num = 0,
bool isSplit =
false,
const std::string& dir =
"X",
const std::string& graphicsName=
"");
522 double round(
const double v,
const double precision);
524 void addTextStyle(
const std::vector<DxfEntity*>& entities, std::vector<std::string>& styles);
533 MTextLineSpacingStyle& lineSpacingStyle,
534 double& lineSpacingFactor,
542 std::string
toUtf8(
const std::string& s);
556 double getTableWidth(
int start,
int end,
const std::vector<double>& rowWidths);
558 void getTableCombInfo(
bool& totalTableWidth,
int& colNeedCut,
int& colCount,
int row,
const std::vector<TableSpanInfo>& TableSpandata);
TechDraw中DxfArc类
Definition DxfEntity.h:1582
TechDraw中DxfBlock类
Definition DxfEntity.h:706
TechDraw中DxfCircle类
Definition DxfEntity.h:1556
Definition DxfEntity.h:251
Definition DxfEntity.h:1005
TechDraw中DxfEntityContainer类
Definition DxfEntity.h:675
TechDraw中DxfEntity类
Definition DxfEntity.h:511
TechDraw中DxfLayer类
Definition DxfEntity.h:150
TechDraw中DxfLine类
Definition DxfEntity.h:924
Definition DxfEntity.h:805
TechDraw中DxfPolyline类
Definition DxfEntity.h:1777
Definition DxfEntity.h:2060
TechDraw中DxfText类
Definition DxfEntity.h:1861
Definition DxfEntity.h:342
Definition DxfVector.h:61
virtual void addHeader(const DRW_Header *data) override
从libdxfrw解析出来的接口中读取Header,并存入自己的类中
void addDimStyle(DxfDimStyle *)
void addLineDim(const Base::Vector3d &textLocn, const Base::Vector3d &lineLocn, const Base::Vector3d &extLine1Start, const Base::Vector3d &extLine2Start, char *dimText, double angle, int userPosition, int dimArrowStyle, Base::Color dimTextColor, Base::Color dimHorizonColor, Base::Color dimVerticalColor, double arrowSize, double textSize)
自定义添加线性标注
float getAmplifyScale()
Definition dxfAnalysis.h:488
double m_Coefficient
像素值和磅之间的系数
Definition dxfAnalysis.h:646
std::vector< TechDraw::DxfInsert * > m_AllCopyBlockInsertContainer
存放块插入点的数组
Definition dxfAnalysis.h:616
void addSpline()
根据传入的拓扑结构添加Spline
virtual void addPolyline(const DRW_Polyline &data) override
从libdxfrw解析出来的接口中读取Polyline,并存入自己的类中
DxfVPoint * getVPoint() const
返回dxfVp信息
virtual void addSolid(const DRW_Solid &data) override
从libdxfrw解析出来的接口中读取Solid,并存入自己的类中
void addText(DxfBlock *block, const std::string &text, const Base::Vector3d &position1, const Base::Vector3d &position2, double height, double angle=0.0, int colorIndex=0, int widthscale=1.0)
自定义添加单行文字
void addDimensionArrowBlock()
添加标注箭头块
QByteArray escapeUnicode(const QString &str)
编码转换
float m_Amplify
存放page放大或缩小倍数
Definition dxfAnalysis.h:648
void addTable(const std::string &tableName, const Base::Vector3d &tablePosition, int rowCount, int colCount, std::vector< double > rowWidths, double colHeight, const std::map< int, std::map< int, std::string > > &tableContents, const std::vector< TableSpanInfo > &TableSpandata)
todo
std::vector< DxfBlock * > m_CustomBlockContainer
存放用户自定义块的数组
Definition dxfAnalysis.h:600
Base::Vector3d m_MinExtAfterCopy
存放图框复制后图形最小范围,先单独存一个变量中,以免影响目前的管井出图逻辑
Definition dxfAnalysis.h:622
void addDotSmallArrowBlock()
小点
double round(const double v, const double precision)
对传入的数值做计算后四舍五入
void removeCustomEntities()
删除用户自定义实体
void addNoneArrowBlock()
添加NONE
float m_TextWidthFactor
Definition dxfAnalysis.h:658
DxfBlock * addBlock(const std::string &name, const Base::Vector3d &iPt)
void decreaseTotal(int &total)
std::vector< DxfLayout * > getTemplateLayoutContainer()
std::vector< DxfBlock * > m_AllCopyBlockContainer
存放块的数组
Definition dxfAnalysis.h:612
void addDatumFilledArrowBlock()
基准三角形
bool readDxfFile(const std::string &fileName)
读取dxf文件
int decodeNum(const std::string &s, int *b)
解码数字
virtual void addTrace(const DRW_Trace &data) override
从libdxfrw解析出来的接口中读取Trace,并存入自己的类中
std::vector< DxfEntity * > m_TemplateEntityContainer
存放实体的数组
Definition dxfAnalysis.h:586
std::string getBlockByHandle(const std::string &handle)
通过句柄找块名
virtual void writeLTypes() override
将LTypes文件写入dxf文件
virtual void writeTextstyles() override
将TextStyle文件写入dxf文件
void addToTemplateContainer(DxfEntity *entity, const DRW_Entity &data)
将实体加入数组
double getCurrentCopyPageYDis()
获取当前复制的最新图框的相对Y坐标位置
void addAngularDim(const Base::Vector3d &textLocn, const Base::Vector3d &lineLocn, const Base::Vector3d &extLine1End, const Base::Vector3d &extLine2End, const Base::Vector3d &apexPoint, char *dimText, int userPosition, int dimArrowStyle, Base::Color dimTextColor, Base::Color dimHorizonColor, Base::Color dimVerticalColor, double arrowSize, double textSize)
自定义添加角度标注
virtual void addRay(const DRW_Ray &data) override
从libdxfrw解析出来的接口中读取Ray,并存入自己的类中
std::vector< DxfLayout * > m_TemplateLayoutContainer
存放Layout的数组
Definition dxfAnalysis.h:582
virtual void add3dFace(const DRW_3Dface &data) override
从libdxfrw解析出来的接口中读取3Dface,并存入自己的类中
void setTextBigFontFamily(const std::string &name)
void addArchTickArrowBlock()
建筑标记
void setDimensionStyleName(const std::string &name)
void setEntityAttribute(DxfEntity *entity, const DRW_Entity &data)
为DXF实体设置属性
virtual void addHatch(const DRW_Hatch *data) override
从libdxfrw解析出来的接口中读取Hatch,并存入自己的类中
void addMText(DxfBlock *block, const std::string &text, const Base::Vector3d &position2, double height, int widthscale, double angle=0.0)
自定义添加多行文字
DxfLine * addLine(DxfBlock *block, const Base::Vector3d &position1, const Base::Vector3d &position2, double lineWidth, bool needScale=true)
自定义添加单行线条
std::vector< DxfBlock * > m_TableBlockContainer
存放块表数据
Definition dxfAnalysis.h:590
virtual void addViewport(const DRW_Viewport &data) override
从libdxfrw解析出来的接口中读取Viewport,并存入自己的类中
static std::map< std::string, DxfPattern * > m_DxfPatternLists
Definition dxfAnalysis.h:579
virtual void addBlock(const DRW_Block &data) override
从libdxfrw解析出来的接口中读取Block,并存入自己的类中
virtual void addText(const DRW_Text &data) override
从libdxfrw解析出来的接口中读取Text,并存入自己的类中
virtual void addXline(const DRW_Xline &data) override
从libdxfrw解析出来的接口中读取Xline,并存入自己的类中
virtual void addLine(const DRW_Line &data) override
从libdxfrw解析出来的接口中读取Line,并存入自己的类中
void loadAllFromPatFile(const QString &fileName)
加载所有Pat模板
DxfCircle * addCircle(DxfBlock *block, const Base::Vector3d ¢er, double radius, bool needScale=true)
void addXLine()
根据传入的拓扑结构添加XLine
DxfHeader * m_Header
dxf头指针
Definition dxfAnalysis.h:632
bool readDwgFile(const std::string &fileName)
读取dwg文件
virtual void setBlock(const int handle) override
DxfHeader * getHeader() const
返回dxf头部信息
const std::string & getDimStyleInHeader()
得到DimStyle
virtual void addAppId(const DRW_AppId &data) override
从libdxfrw解析出来的接口中读取AppId,并存入自己的类中
virtual void addVport(const DRW_Vport &data) override
从libdxfrw解析出来的接口中读取Vport,并存入自己的类中
bool convDimensionData(const DRW_Dimension *data, DxfVector &definitionPoint, DxfVector &middleOfText, VAlign &valign, HAlign &halign, MTextLineSpacingStyle &lineSpacingStyle, double &lineSpacingFactor, std::string &text, std::string &style, double &angle)
处理标注数据
std::vector< DxfEntity * > m_CustomEntityContainer
存放用户自定义实体的
Definition dxfAnalysis.h:604
std::string m_DimensionStyleName
Definition dxfAnalysis.h:650
virtual void addPoint(const DRW_Point &data) override
从libdxfrw解析出来的接口中读取Point,并存入自己的类中
void setTemplateGraphicsName(const std::string &name)
const std::vector< DxfInsert * > & getTemplateBlockInsertContainer()
std::string decodeText(int c)
解码文字
void loadPatDir(const QString &dirName)
加载所有Pat模板
bool writeDwgFile(const QString &fileName, TechDraw::DwgExportType type)
读取dwg文件
std::string getFontFromStyle(const std::string &style) const
根据传入的样式返回样式对应的字体
virtual void addLayer(const DRW_Layer &data) override
从libdxfrw解析出来的接口中读取Layer,并存入自己的类中
int m_Version
当前dxf的版本
Definition dxfAnalysis.h:634
virtual void writeEntities() override
将Header文件写入dxf文件
std::string toNativeString(const std::string &data)
将DXF编码的字符串转换为本机Unicode字符串
std::vector< DxfBlock * > m_TemplateBlockContainer
存放块的数组
Definition dxfAnalysis.h:584
const std::vector< DxfBlock * > & getCopyBlockContainer()
virtual void writeVports() override
将Vports文件写入dxf文件
double mCurrentPageY
Definition dxfAnalysis.h:667
DxfSolid * addSolid(DxfBlock *block, const Base::Vector3d &v1, const Base::Vector3d &v2, const Base::Vector3d &v3, const Base::Vector3d &v4, bool needScale)
void addDiametricDim(const Base::Vector3d &textLocn, const Base::Vector3d &arcPoint1, const Base::Vector3d &arcPoint2, char *dimText, int userPosition, int dimArrowStyle, Base::Color dimTextColor, Base::Color dimHorizonColor, Base::Color dimVerticalColor, double arrowSize, double textSize)
添加自定义标注信息
void addLayer(const std::string &layerName)
通过名称添加一个Layer
std::map< std::string, std::string > m_FontList
字体列表
Definition dxfAnalysis.h:636
virtual void addImage(const DRW_Image *data) override
从libdxfrw解析出来的接口中读取Image,并存入自己的类中
double mCurrentGraphBaseX
Definition dxfAnalysis.h:664
void getEntitiesMinAndMax(TechDraw::DxfVector &MinV, TechDraw::DxfVector &MaxV)
获取所有Entity的边界最大最小值
const std::vector< DxfBlock * > & getTemplateBlockContainer()
得到所有从模板获得的块数组
void releaseCopiedTemplateEntities()
如果需要删除拷贝的图框数据,直接从m_AllCopyBlockContainer等三个数组中删除就行
std::string m_CodePage
存放Page的编码
Definition dxfAnalysis.h:626
Base::Vector3d m_MaxExtAfterCopy
存放图框复制后图形最大范围,先单独存一个变量中,以免影响目前的管井出图逻辑
Definition dxfAnalysis.h:624
std::vector< DxfLType * > m_LTypeContainer
存放LType的数组
Definition dxfAnalysis.h:598
virtual void addLeader(const DRW_Leader *data) override
从libdxfrw解析出来的接口中读取Leader,并存入自己的类中
const std::vector< DxfInsert * > & getCopyBlockInsertContainer()
virtual void writeLayers() override
将Layers文件写入dxf文件
void readString(const std::string &buf)
double m_XScale
X方向缩放比例
Definition dxfAnalysis.h:642
void removeCopyEntities()
清空临时数组中拷贝的数据 m_AllCopyBlockContainer等三个数组中存放了全部拷贝的图框数据
Base::Vector3d getMaxExtAfterCopy() const
拷贝后的边界最大值
void removeAllEntities()
删除实体
double mGroupGraphMaxX
Definition dxfAnalysis.h:663
virtual void addTextStyle(const DRW_Textstyle &data) override
从libdxfrw解析出来的接口中读取Textstyle,并存入自己的类中
void getBlocksMinAndMax(TechDraw::DxfVector &MinV, TechDraw::DxfVector &MaxV)
获取所有块的边界最大最小值
virtual void writeBlockRecords() override
将BlockRecords文件写入dxf文件
const std::vector< DxfInsert * > & getCustomBlockInsertContainer()
std::map< std::string, DxfTextStyle * > m_TextStyleContainer
存放TextStyle的数组
Definition dxfAnalysis.h:594
virtual void addCircle(const DRW_Circle &data) override
从libdxfrw解析出来的接口中读取Circle,并存入自己的类中
std::vector< DxfEntity * > m_AllCopyEntityContainer
存放实体的数组
Definition dxfAnalysis.h:614
void modifyIntValueInHeader(const std::string &, int var)
修改Header中指定字段的值
DxfLayer * FindLayerByName(const std::string &name)
通过名称查找Layer
Base::Vector3d getMinExtAfterCopy() const
拷贝后的边界最小值
virtual void writeObjects() override
将Objects文件写入dxf文件
virtual void writeBlocks() override
将Block文件写入dxf文件
void setTextWidthFactor(const std::string &name, float factor)
double getCurrentCopyPageXDis()
获取当前复制的最新图框的相对X坐标位置
static TechDraw::DxfPattern * getPatternByName(const std::string &patternName)
void copyTemplateEntities(double step, int num=0, bool isSplit=false, const std::string &dir="X", const std::string &graphicsName="")
拷贝图框
void sortHatchLoop(DxfEntityContainer *hatchLoop)
填充线条排序
const std::string & getCodePage()
得到Page的编码
virtual void writeAppId() override
将AppId文件写入dxf文件
std::vector< DxfEntity * > m_CopyEntityContainer
存放实体的数组
Definition dxfAnalysis.h:608
virtual void addDimStyle(const DRW_Dimstyle &data) override
从libdxfrw解析出来的接口中读取Dimstyle,并存入自己的类中
std::map< std::string, DxfDimStyle * > m_DimensionStyleContainer
存放DimensionStyle的数组
Definition dxfAnalysis.h:596
std::string m_TextBigFontFamily
Definition dxfAnalysis.h:656
void addObliqueArrowBlock()
倾斜
virtual void addEllipse(const DRW_Ellipse &data) override
从libdxfrw解析出来的接口中读取Ellipse,并存入自己的类中
std::string m_TextStyleName
Definition dxfAnalysis.h:652
std::vector< TechDraw::DxfInsert * > m_CustomBlockInsertContainer
存放用户自定义块插入点的数组
Definition dxfAnalysis.h:602
void setMinExtAfterCopy(const Base::Vector3d &)
设置拷贝后的边界最小值
std::string toUtf8(const std::string &s)
编码转换
DxfVPoint * m_VPoint
vp指针
Definition dxfAnalysis.h:640
std::vector< TechDraw::DxfInsert * > m_TemplateBlockInsertContainer
存放块插入点的数组
Definition dxfAnalysis.h:588
dxfW * m_DxfWriter
写dxf的指针
Definition dxfAnalysis.h:638
void releaseDxfPatternLists()
释放dxf样式列表
const std::vector< DxfEntity * > & getCustomEntityContainer()
void addOpenArrowBlock()
打开
void setTopoStructData(const std::vector< TechDraw::DxfEntity * > &entityVec)
设置拓扑结构数据
void addBlockEntity(DxfBlock *pBlock)
void addSquareArrowBlock()
方框
void setMinExt(const Base::Vector3d &)
设置边界最小值
virtual void addDimAlign(const DRW_DimAligned *data) override
从libdxfrw解析出来的接口中读取DimAligned,并存入自己的类中
void getTableCombInfo(bool &totalTableWidth, int &colNeedCut, int &colCount, int row, const std::vector< TableSpanInfo > &TableSpandata)
获得表格详细信息
virtual void addLayout(const DRW_Layout &data) override
从libdxfrw解析出来的接口中读取Layout,并存入自己的类中
virtual void addInsert(const DRW_Insert &data) override
从libdxfrw解析出来的接口中读取Insert,并存入自己的类中
void setTemplateScale(double scale)
设置XScale和YScale的比例
virtual void addDimOrdinate(const DRW_DimOrdinate *data) override
从libdxfrw解析出来的接口中读取DimOrdinate,并存入自己的类中
virtual void addDimAngular3P(const DRW_DimAngular3p *data) override
从libdxfrw解析出来的接口中读取DimAngular3p,并存入自己的类中
DxfArc * addArc(DxfBlock *block, const Base::Vector3d ¢er, double radius, double angle1, double angle2, bool reversed)
自定义添加圆弧
void addComplexLineTextStyle()
std::string m_TextStyleInHeader
存放TextStyle
Definition dxfAnalysis.h:628
void addLeader(const char *leaderType, const Base::Vector3d &textPt, const Base::Vector3d &tailPt, const Base::Vector3d &dxfPt, TechDraw::DxfEntity *bubble, TechDraw::DxfText *label, TechDraw::DxfPolyline *leader, double pagescale, double rotateAngle, double fontHeight, double inkTextWidth, double circleTextWidth, double leaderArrowOffsetX, double leaderArrowOffsetY, const std::vector< TechDraw::DxfText * > &attachedLabels, const std::vector< DxfLine * > &attachedLines, bool showLine, const std::vector< Base::Vector3d > &leaderInterval, double arrowSize, Base::Color dimTextColor, Base::Color dimLineColor)
std::map< std::string, std::string > m_DimensionArrowBlockHandleMap
Definition dxfAnalysis.h:660
std::string encodeText(const std::string &stmp)
编码文字
virtual void addDimAngular(const DRW_DimAngular *data) override
从libdxfrw解析出来的接口中读取DimAngular,并存入自己的类中
void addEntity(Base::Vector3d basePt, const std::vector< DxfEntity * > &entities, double scale=1.0, double rotate=0.0, double hatchScale=1.0)
添加实体集合
virtual void addKnot(const DRW_Entity &data) override
从libdxfrw解析出来的接口中读取Entity,并存入自己的类中
double m_YScale
Y方向缩放比例
Definition dxfAnalysis.h:644
void addRadialDim(const Base::Vector3d ¢erPoint, const Base::Vector3d &textLocn, const Base::Vector3d &arcPoint, char *dimText, int userPosition, int dimArrowStyle, Base::Color dimTextColor, Base::Color dimHorizonColor, Base::Color dimVerticalColor, double arrowSize, double textSize)
自定义添加半径标注
virtual void writeHeader(DRW_Header &data) override
将Header文件写入dxf文件
void addRay()
根据传入的拓扑结构添加Ray
QString cadUnicode(const QString &str)
编码转换
int getDXFVersion()
Definition dxfAnalysis.h:196
double mCurrentPageX
Definition dxfAnalysis.h:666
const Base::Vector3d & getMaxExt()
得到从dxf或者dwg文件读取到的边界最大值
virtual void addLType(const DRW_LType &data) override
从libdxfrw解析出来的接口中读取LType,并存入自己的类中
bool readFile(const std::string &fileName)
根据传入的文件名读取文件
const std::vector< DxfBlock * > & getCustomBlockContainer()
std::string mStrDrawName
Definition dxfAnalysis.h:665
Base::Vector3d m_MaxExt
存放从dxf或者dwg中读取出来的图形范围最大值
Definition dxfAnalysis.h:620
const std::string & getTextStyleInHeader()
得到TextStyle
Base::Vector3d m_MinExt
存放从dxf或者dwg中读取出来的图形范围最小值
Definition dxfAnalysis.h:618
virtual void endBlock() override
读取一个块结束
DxfBlock * getBlockByName(const std::string &name)
std::vector< DxfLayer * > m_LayerContainer
存放Layer的数组
Definition dxfAnalysis.h:592
void setAmplifyScale(float times)
virtual void addMText(const DRW_MText &data) override
从libdxfrw解析出来的接口中读取MText,并存入自己的类中
void addInsert(const std::string &name, const Base::Vector3d &iPt, double angle)
std::vector< TechDraw::DxfInsert * > m_CopyBlockInsertContainer
存放块插入点的数组
Definition dxfAnalysis.h:610
void getArrowSizeAndTextSize(const std::string &styleName, const std::map< std::string, DxfDimStyle * > &styleContainer, double &arrowSizeInDxf, double &textSizeInDxf)
获取箭头大小、文字大小
const std::vector< DxfEntity * > & getTemplateEntityContainer()
得到所有从模板实体数组
std::string m_DimStyleInHeader
存放DimStyle
Definition dxfAnalysis.h:630
void setTemplateEntityContainer(const std::vector< DxfEntity * > &entities)
bool writeDxfFile(const QString &fileName, TechDraw::DxfExportType type)
读取dxf文件
virtual void linkImage(const DRW_ImageDef *data) override
从libdxfrw解析出来的接口中读取ImageDef,并存入自己的类中
double getTemplateScale()
Definition dxfAnalysis.h:490
std::string writeString()
virtual void addArc(const DRW_Arc &data) override
从libdxfrw解析出来的接口中读取Arc,并存入自己的类中
double getTableWidth(int start, int end, const std::vector< double > &rowWidths)
获得表格宽度
std::string m_TextFontFamily
Definition dxfAnalysis.h:654
bool isReadFile()
是否已经从文件读取过
virtual void addDimLinear(const DRW_DimLinear *data) override
从libdxfrw解析出来的接口中读取DimLinear,并存入自己的类中
virtual void addLWPolyline(const DRW_LWPolyline &data) override
从libdxfrw解析出来的接口中读取LWPolyline,并存入自己的类中
void setMaxExt(const Base::Vector3d &)
设置边界最大值
void addDimAligned(const Base::Vector3d &textLocn, const Base::Vector3d &lineLocn, const Base::Vector3d &extLine1Start, const Base::Vector3d &extLine2Start, char *dimText, double angle, int userPosition, int dimArrowStyle, Base::Color dimTextColor, Base::Color dimHorizonColor, Base::Color dimVerticalColor, double arrowSize, double textSize)
virtual void addComment(const char *comment) override
从libdxfrw解析出来的接口中读取comment
void setTextFontFamily(const std::string &name)
virtual void addSpline(const DRW_Spline *data) override
从libdxfrw解析出来的接口中读取Spline,并存入自己的类中
virtual void addDimDiametric(const DRW_DimDiametric *data) override
从libdxfrw解析出来的接口中读取DimDiametric,并存入自己的类中
void setDimensionArrowInfo(DxfDimension *dim, const DRW_DimLinear *data)
virtual void addPlotSettings(const DRW_PlotSettings *data) override
从libdxfrw解析出来的接口中读取PlotSettings,并存入自己的类中
std::string encodeNum(int c)
编码数字
void addDotBlankArrowBlock()
空心圆
void setMaxExtAfterCopy(const Base::Vector3d &)
设置拷贝后的边界最大值
virtual void writeDimstyles() override
将Dimstyles文件写入dxf文件
const Base::Vector3d & getMinExt()
得到从dxf或者dwg文件读取到的边界最小值
virtual void addDimRadial(const DRW_DimRadial *data) override
从libdxfrw解析出来的接口中读取DimRadial,并存入自己的类中
DxfPolyline * addPolyLine(DxfBlock *block, const std::vector< std::pair< DxfVector, double > > &positionList, bool bClosed, double lineWidth, bool needScale=true)
自定义添加多段线
void addClosedBlankArrowBlock()
空心闭合
int mGraphCount
分图功能用到的成员变量
Definition dxfAnalysis.h:662
void setTextWidthFactor(DxfText *text)
设置文字的宽度因子
std::vector< DxfBlock * > m_CopyBlockContainer
存放块的数组
Definition dxfAnalysis.h:606
void setTextStyleName(const std::string &name)
const std::vector< DxfEntity * > & getCopyEntityContainer()
void addTextStyle(const std::vector< DxfEntity * > &entities, std::vector< std::string > &styles)
添加TextStyle
Definition dxfAnalysis.h:57
Definition ArrowPropEnum.h:26