104 lines
2.9 KiB
C++
104 lines
2.9 KiB
C++
#ifndef _TDBHVACDIMENSIONEX_H_
|
|
#define _TDBHVACDIMENSIONEX_H_
|
|
|
|
#if _MSC_VER > 1000
|
|
#pragma once
|
|
#endif // _MSC_VER > 1000
|
|
|
|
#include "TDbHvacDimension.h"
|
|
|
|
using namespace TDb;
|
|
class TDbText;
|
|
|
|
class DLLIMPEXP TDbHvacDimensionEx : public TDbHvacDimension
|
|
{
|
|
typedef CArray<double, double> CDblArray;
|
|
public:
|
|
DECLARE_TENTBASE();
|
|
ACRX_DECLARE_MEMBERS(TDbHvacDimensionEx);
|
|
|
|
TDbHvacDimensionEx();
|
|
virtual ~TDbHvacDimensionEx();
|
|
|
|
virtual Acad::ErrorStatus subGetClassID(CLSID* pClsid) const;
|
|
virtual Acad::ErrorStatus dxfOutFields(AcDbDxfFiler* pFiler) const;
|
|
virtual Acad::ErrorStatus dxfInFields(AcDbDxfFiler* pFiler);
|
|
virtual Acad::ErrorStatus dwgOutFields(AcDbDwgFiler* pFiler) const;
|
|
virtual Acad::ErrorStatus dwgInFields(AcDbDwgFiler* pFiler);
|
|
virtual int GetFirstVersion() const;
|
|
virtual void SetSubText(long i,CString sText);
|
|
|
|
// 根据参数名称获得实体的OPM信息,pszName:参数名称(XMap key值)
|
|
virtual BOOL OPMInfo(LPCTSTR pszName, TDb::OPMInfo* pInfo);
|
|
|
|
// 表格
|
|
void SetColumnCount(int nCount);
|
|
int GetColumnCount() const;
|
|
void SetUpGrid(const CUIntArray& arFlag);
|
|
void GetUpGrid(CUIntArray& arFlag) const;
|
|
void SetDownGrid(const CUIntArray& arFlag);
|
|
void GetDownGrid(CUIntArray& arFlag) const;
|
|
void SetLeadShow(int nShow);
|
|
void SetGridMask(LPCTSTR pszMask);
|
|
CString GetGridMask() const;
|
|
int GetLeadShow() const;
|
|
|
|
// 从反应器初始化标注风口的XData数据
|
|
virtual BOOL InitDuctXData();
|
|
|
|
// 返回绘制的实体,用完负责删除
|
|
virtual void MakeEntity(AcDbVoidPtrArray &entityArr) const;
|
|
|
|
// 转换各部分格式字符串到实际结果
|
|
virtual BOOL TransTextToResult();
|
|
|
|
protected:
|
|
// 得到分隔用|隔开的字符
|
|
virtual BOOL GetEachStr(const CString &csText, CStringArray &arrText ) const;
|
|
virtual void TranslateDimText(CString &csText) const; // 转换格式字符为实际标注内容
|
|
// 根据变量名具体替换每个相应变量宏字符
|
|
virtual void ChangeTextIdByValue(CString &csText, const CString &csTextid) const;
|
|
|
|
// 创建箭头
|
|
virtual void MakeArrow( AcDbVoidPtrArray &entityArr ) const;
|
|
// 创建引线及边框
|
|
virtual void MakeLeadAndFrame(AcGePoint3dArray &ptArr, AcDbVoidPtrArray &entityArr) const;
|
|
// 求关键点
|
|
virtual void GetKeyPoint(const AcGeVoidPointerArray& arrTexts, AcGePoint3dArray &arrPoint) const;
|
|
|
|
// 获取各部分文字基点
|
|
AcGePoint3d GetTextBasePt(Adesk::UInt32 nIndex) const;
|
|
|
|
// 计算文字基点
|
|
void GetTextPoint(const AcGeVoidPointerArray& arrTexts, AcGePoint3dArray &arrPoint) const;
|
|
|
|
// 计算文字长度
|
|
double GetTextsLen(const AcGeVoidPointerArray& arrTexts,
|
|
CDblArray& arUpLen, CDblArray&arDnLen) const;
|
|
|
|
// 取得有效的表格标记
|
|
int GetValidGridFlag(CUIntArray& arUp, CUIntArray& arDown) const;
|
|
|
|
// 取得圆形设备的直径
|
|
double GetEquipDiameter() const;
|
|
|
|
// 取得长度
|
|
double GetEquipLength() const;
|
|
|
|
// 取得宽度
|
|
double GetEquipWidth() const;
|
|
|
|
// 取得高度
|
|
double GetEquipHeight() const;
|
|
|
|
// 取得设备风量
|
|
double GetEquipAirVol() const;
|
|
|
|
// 取得名称
|
|
CString GetEquipName() const;
|
|
|
|
// 判断设备是否侧放
|
|
BOOL IsSideEquip() const;
|
|
};
|
|
|
|
#endif // _TDBHVACDIMENSIONEX_H_
|