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

104 lines
3.1 KiB
C++
Raw Normal View History

2026-10-04 00:04:20 +08:00
#ifndef _TDBHVACDIMENSIONEX_H_
2026-09-28 15:28:50 +08:00
#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);
2026-10-04 00:04:20 +08:00
// 根据参数名称获得实体的OPM信息,pszName:参数名称(XMap key值)
2026-09-28 15:28:50 +08:00
virtual BOOL OPMInfo(LPCTSTR pszName, TDb::OPMInfo* pInfo);
2026-10-04 00:04:20 +08:00
// 表格
2026-09-28 15:28:50 +08:00
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;
2026-10-04 00:04:20 +08:00
// 从反应器初始化标注风口的XData数据
2026-09-28 15:28:50 +08:00
virtual BOOL InitDuctXData();
2026-10-04 00:04:20 +08:00
// 返回绘制的实体,用完负责删除
2026-09-28 15:28:50 +08:00
virtual void MakeEntity(AcDbVoidPtrArray &entityArr) const;
2026-10-04 00:04:20 +08:00
// 转换各部分格式字符串到实际结果
2026-09-28 15:28:50 +08:00
virtual BOOL TransTextToResult();
protected:
2026-10-04 00:04:20 +08:00
// 得到分隔用|隔开的字符
2026-09-28 15:28:50 +08:00
virtual BOOL GetEachStr(const CString &csText, CStringArray &arrText ) const;
2026-10-04 00:04:20 +08:00
virtual void TranslateDimText(CString &csText) const; // 转换格式字符为实际标注内容
// 根据变量名具体替换每个相应变量宏字符
2026-09-28 15:28:50 +08:00
virtual void ChangeTextIdByValue(CString &csText, const CString &csTextid) const;
2026-10-04 00:04:20 +08:00
// 创建箭头
2026-09-28 15:28:50 +08:00
virtual void MakeArrow( AcDbVoidPtrArray &entityArr ) const;
2026-10-04 00:04:20 +08:00
// 创建引线及边框
2026-09-28 15:28:50 +08:00
virtual void MakeLeadAndFrame(AcGePoint3dArray &ptArr, AcDbVoidPtrArray &entityArr) const;
2026-10-04 00:04:20 +08:00
// 求关键点
2026-09-28 15:28:50 +08:00
virtual void GetKeyPoint(const AcGeVoidPointerArray& arrTexts, AcGePoint3dArray &arrPoint) const;
2026-10-04 00:04:20 +08:00
// 获取各部分文字基点
2026-09-28 15:28:50 +08:00
AcGePoint3d GetTextBasePt(Adesk::UInt32 nIndex) const;
2026-10-04 00:04:20 +08:00
// 计算文字基点
2026-09-28 15:28:50 +08:00
void GetTextPoint(const AcGeVoidPointerArray& arrTexts, AcGePoint3dArray &arrPoint) const;
2026-10-04 00:04:20 +08:00
// 计算文字长度
2026-09-28 15:28:50 +08:00
double GetTextsLen(const AcGeVoidPointerArray& arrTexts,
CDblArray& arUpLen, CDblArray&arDnLen) const;
2026-10-04 00:04:20 +08:00
// 取得有效的表格标记
2026-09-28 15:28:50 +08:00
int GetValidGridFlag(CUIntArray& arUp, CUIntArray& arDown) const;
2026-10-04 00:04:20 +08:00
// 取得圆形设备的直径
2026-09-28 15:28:50 +08:00
double GetEquipDiameter() const;
2026-10-04 00:04:20 +08:00
// 取得长度
2026-09-28 15:28:50 +08:00
double GetEquipLength() const;
2026-10-04 00:04:20 +08:00
// 取得宽度
2026-09-28 15:28:50 +08:00
double GetEquipWidth() const;
2026-10-04 00:04:20 +08:00
// 取得高度
2026-09-28 15:28:50 +08:00
double GetEquipHeight() const;
2026-10-04 00:04:20 +08:00
// 取得设备风量
2026-09-28 15:28:50 +08:00
double GetEquipAirVol() const;
2026-10-04 00:04:20 +08:00
// 取得名称
2026-09-28 15:28:50 +08:00
CString GetEquipName() const;
2026-10-04 00:04:20 +08:00
// 判断设备是否侧放
2026-09-28 15:28:50 +08:00
BOOL IsSideEquip() const;
};
#endif // _TDBHVACDIMENSIONEX_H_