Files
envi-code/SourceCode/Code2026/tg_shs/inc/pipebase/TDbHvacDimensionEx.h
T

104 lines
2.9 KiB
C++
Raw Normal View History

2026-09-28 15:28:50 +08:00
#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_