2026-10-04 00:04:20 +08:00
|
|
|
|
// TDbCircleText.h: interface for the TDbCircleText class.
|
2026-09-28 15:28:50 +08:00
|
|
|
|
//
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
|
|
|
|
#if !defined(AFX_TDBCIRCLETEXT_H__EB4892FC_58BB_470B_97CC_00D5FA56EEAB__INCLUDED_)
|
|
|
|
|
|
#define AFX_TDBCIRCLETEXT_H__EB4892FC_58BB_470B_97CC_00D5FA56EEAB__INCLUDED_
|
|
|
|
|
|
|
|
|
|
|
|
#if _MSC_VER > 1000
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
#endif // _MSC_VER > 1000
|
|
|
|
|
|
#include <dbSymbolAnnotate.h>
|
|
|
|
|
|
|
|
|
|
|
|
/*============================================================================*
|
|
|
|
|
|
* Copyright(c), 1994-2007, Beijing Tangent Engineering Software Co.Ltd.
|
2026-10-04 00:04:20 +08:00
|
|
|
|
* 文 件 名: TDbCircleText.h
|
|
|
|
|
|
* 归属项目: 暖通
|
2026-09-28 15:28:50 +08:00
|
|
|
|
=============================================================================*/
|
|
|
|
|
|
|
|
|
|
|
|
/*============================================================================*
|
2026-10-04 00:04:20 +08:00
|
|
|
|
* 类 名: TDbCircleText
|
|
|
|
|
|
* 功能描述: 立管标注文字
|
2026-09-28 15:28:50 +08:00
|
|
|
|
==============================================================================*/
|
|
|
|
|
|
|
2026-10-04 00:04:20 +08:00
|
|
|
|
#define IDS_TENTITY_FIELDS_DIM_HAS_LEADER _T("立管标注是否带引线")
|
2026-09-28 15:28:50 +08:00
|
|
|
|
|
|
|
|
|
|
class PS_EXP TDbCircleText : public TDbSymbWithText
|
|
|
|
|
|
{
|
|
|
|
|
|
DECLARE_TENTBASE();
|
|
|
|
|
|
ACRX_DECLARE_MEMBERS(TDbCircleText);
|
|
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
|
const static Adesk::UInt8 g_nVersion;
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
TDbCircleText();
|
|
|
|
|
|
virtual ~TDbCircleText();
|
|
|
|
|
|
|
|
|
|
|
|
protected:
|
2026-10-04 00:04:20 +08:00
|
|
|
|
CString m_csText; // 图号
|
|
|
|
|
|
XPoint m_ptCenter; // 圆心
|
|
|
|
|
|
XPoint m_ptFrom; // 引出点
|
|
|
|
|
|
double m_nRadius; // 图纸单位
|
|
|
|
|
|
double m_nLineWidth; // 线粗(图纸单位) -1 为双圆
|
2026-09-28 15:28:50 +08:00
|
|
|
|
AcDbHardPointerId m_idOwner;
|
|
|
|
|
|
|
2026-10-04 00:04:20 +08:00
|
|
|
|
//BOOL m_bHasLeader; // 是否带有引线 2009-6-1
|
2026-09-28 15:28:50 +08:00
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
CString GetText() const {
|
|
|
|
|
|
return m_csText;
|
|
|
|
|
|
}
|
|
|
|
|
|
void SetText(const CString pszText) {
|
|
|
|
|
|
assertWriteEnabled();
|
|
|
|
|
|
m_csText = pszText;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
XPoint GetCenter() const {
|
|
|
|
|
|
return m_ptCenter;
|
|
|
|
|
|
}
|
|
|
|
|
|
void SetCenter(XPoint pt) {
|
|
|
|
|
|
assertWriteEnabled();
|
|
|
|
|
|
m_ptCenter = pt;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
XPoint GetFrom() const {
|
|
|
|
|
|
return m_ptFrom;
|
|
|
|
|
|
}
|
|
|
|
|
|
void SetFrom(XPoint pt) {
|
|
|
|
|
|
assertWriteEnabled();
|
|
|
|
|
|
m_ptFrom = pt;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
double GetRadius() const {
|
|
|
|
|
|
return m_nRadius;
|
|
|
|
|
|
}
|
|
|
|
|
|
void SetRadius(double val) {
|
|
|
|
|
|
assertWriteEnabled();
|
|
|
|
|
|
m_nRadius = val;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
double GetLineWidth() const {
|
|
|
|
|
|
return m_nLineWidth;
|
|
|
|
|
|
}
|
|
|
|
|
|
void SetLineWidth(double val) {
|
|
|
|
|
|
assertWriteEnabled();
|
|
|
|
|
|
m_nLineWidth = val;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
AcDbObjectId GetPipeId() const {
|
|
|
|
|
|
return m_idOwner;
|
|
|
|
|
|
}
|
|
|
|
|
|
void SetPipeId(const AcDbObjectId &id) {
|
|
|
|
|
|
assertWriteEnabled();
|
|
|
|
|
|
m_idOwner = id;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
Adesk::Boolean GetDimHasLeader() const
|
|
|
|
|
|
{
|
|
|
|
|
|
const TEntityFields &fd = GetFields();
|
|
|
|
|
|
Adesk::Boolean bHasLeader = Adesk::kFalse;
|
|
|
|
|
|
fd.GFD(IDS_TENTITY_FIELDS_DIM_HAS_LEADER, bHasLeader);
|
|
|
|
|
|
|
|
|
|
|
|
return bHasLeader;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void SetDimHasLeader(BOOL bHasLeader = TRUE)
|
|
|
|
|
|
{
|
|
|
|
|
|
assertWriteEnabled();
|
|
|
|
|
|
Adesk::Boolean bDimHasLeader = bHasLeader ? Adesk::kTrue : Adesk::kFalse;
|
|
|
|
|
|
TEntityFields &fd = Fields();
|
|
|
|
|
|
fd.SFD(IDS_TENTITY_FIELDS_DIM_HAS_LEADER, bDimHasLeader);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public: // Override AcDbEntity
|
|
|
|
|
|
virtual Acad::ErrorStatus dwgInFields (AcDbDwgFiler*);
|
|
|
|
|
|
virtual Acad::ErrorStatus dwgOutFields(AcDbDwgFiler*) const;
|
|
|
|
|
|
virtual Acad::ErrorStatus dxfInFields (AcDbDxfFiler*);
|
|
|
|
|
|
virtual Acad::ErrorStatus dxfOutFields(AcDbDxfFiler*) const;
|
|
|
|
|
|
|
|
|
|
|
|
virtual Acad::ErrorStatus subGetGripPoints(AcGePoint3dArray& gripPoints,
|
|
|
|
|
|
AcDbIntArray& osnapModes,
|
|
|
|
|
|
AcDbIntArray& geomIds) const;
|
|
|
|
|
|
virtual Acad::ErrorStatus subGetStretchPoints(AcGePoint3dArray & stretchPoints) const;
|
|
|
|
|
|
virtual Acad::ErrorStatus subMoveGripPointsAt(const AcDbIntArray& indices,
|
|
|
|
|
|
const AcGeVector3d& offset);
|
|
|
|
|
|
virtual Acad::ErrorStatus subMoveStretchPointsAt(const AcDbIntArray& indices,
|
|
|
|
|
|
const AcGeVector3d& offset);
|
|
|
|
|
|
virtual Acad::ErrorStatus subTransformBy(const AcGeMatrix3d& xform);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public: // Override TDbEntity
|
|
|
|
|
|
virtual Acad::ErrorStatus ExplodeOrDraw2d(XExplodeDraw &dc) const;
|
|
|
|
|
|
|
|
|
|
|
|
virtual void CopyPropertiesFrom(AcDbEntity *pSrcEntity, unsigned gMatchFlag);
|
|
|
|
|
|
virtual Acad::ErrorStatus subGetClassID(CLSID* pClsid) const;
|
2026-10-04 00:04:20 +08:00
|
|
|
|
virtual void GetTips(DList<TObjInfoUnit> &) const; // 取动态属性显示数据
|
2026-09-28 15:28:50 +08:00
|
|
|
|
virtual Acad::ErrorStatus GetGripText(int i, CString &cs) const;
|
|
|
|
|
|
|
|
|
|
|
|
virtual void SetSubText(long i, CString sText); // sg add
|
|
|
|
|
|
virtual long GetSubTextNum() const { return 1; } // ok
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
#endif // !defined(AFX_TDBCIRCLETEXT_H__EB4892FC_58BB_470B_97CC_00D5FA56EEAB__INCLUDED_)
|