Files
envi-code/SourceCode/Code2026/inc/AecDbParamEquipment.h
T

236 lines
5.9 KiB
C++
Raw Normal View History

2026-10-04 00:04:20 +08:00
#pragma once
2026-09-28 15:28:50 +08:00
/*----------------------------------------------------------------------------------
2026-10-04 00:04:20 +08:00
//AecDbParamEquipment : 参数化设备
2026-09-28 15:28:50 +08:00
//
2026-10-04 00:04:20 +08:00
//2021-9 后作废
2026-09-28 15:28:50 +08:00
//---------------------------------------------------------------------------------*/
#include "AecDbEntityBase.h"
#include "AecDbObjXDataMap.h"
#include "AecMInterfaces.h"
#include "define_class_xdata_key.h"
#ifdef EARTHWORM_EXPORT
#define DLLIMPEXP __declspec(dllexport)
#else
#define DLLIMPEXP __declspec(dllimport)
#endif
class CParamEquImplBase;
class DLLIMPEXP AecDbParamEquipment : public AecDbEntityBase,
public AecMInterfaces
{
public:
ACRX_DECLARE_MEMBERS(AecDbParamEquipment);
public:
2026-10-04 00:04:20 +08:00
// 格栅
2026-09-28 15:28:50 +08:00
DECLARE_ENUM(GESHAN)
XHG_I = 0,
XHG_II,
SG,
BLQ,
ZG_I,
ZG_II,
END_ENUM()
2026-10-04 00:04:20 +08:00
// 爆气器
2026-09-28 15:28:50 +08:00
DECLARE_ENUM(BAOQIQI)
PAN_SI = GESHAN::ZG_II + 1,
GUAN_SI,
END_ENUM()
2026-10-04 00:04:20 +08:00
// 水槽
2026-09-28 15:28:50 +08:00
DECLARE_ENUM(FLUME)
PARSHALL = BAOQIQI::GUAN_SI + 1,
END_ENUM()
2026-10-04 00:04:20 +08:00
// 堰
2026-09-28 15:28:50 +08:00
DECLARE_ENUM(WEIR)
SANJIAOYAN = FLUME::PARSHALL + 1,
CULIUKONGYAN,
BAOBIYAN,
END_ENUM()
2026-10-04 00:04:20 +08:00
// 沉沙池-砂水分离
2026-09-28 15:28:50 +08:00
DECLARE_ENUM(SHASHUIFENLI)
XCS = WEIR::BAOBIYAN + 1,
HXS,
LCS,
END_ENUM()
2026-10-04 00:04:20 +08:00
// 螺旋泵
2026-09-28 15:28:50 +08:00
DECLARE_ENUM(LUOXUANBENG)
LXB = SHASHUIFENLI::LCS + 1,
END_ENUM()
2026-10-04 00:04:20 +08:00
// 闸门
2026-09-28 15:28:50 +08:00
DECLARE_ENUM(ZHAMEN)
RECT_ZHAMEN = LUOXUANBENG::LXB + 1,
CIRCLE_ZHAMEN,
SHENG_NI_FA,
END_ENUM()
2026-10-04 00:04:20 +08:00
// 刮泥机
2026-09-28 15:28:50 +08:00
DECLARE_ENUM(GUANIJI)
XZG = ZHAMEN::SHENG_NI_FA +1,
CZG,
ZG,
QG,
PJ,
SX,
SB,
LIANTIAO,
END_ENUM()
2026-10-04 00:04:20 +08:00
// 浓缩机
2026-09-28 15:28:50 +08:00
DECLARE_ENUM(NONGSUOJI)
NC = GUANIJI::LIANTIAO + 1,
NB,
END_ENUM()
2026-10-04 00:04:20 +08:00
// 爆气机
2026-09-28 15:28:50 +08:00
DECLARE_ENUM(BAOQIJI)
YHG = NONGSUOJI::NB + 1,
AD,
END_ENUM()
2026-10-04 00:04:20 +08:00
// 加药混合
2026-09-28 15:28:50 +08:00
DECLARE_ENUM(JIAYAOHUNHE)
GJ = BAOQIJI::AD + 1,
PJ,
TJ,
LJF,
END_ENUM()
2026-10-04 00:04:20 +08:00
// 滤布机
2026-09-28 15:28:50 +08:00
DECLARE_ENUM(LVBUJI)
ZHUANPAN = JIAYAOHUNHE::LJF + 1,
END_ENUM()
2026-10-04 00:04:20 +08:00
// 启闭机
2026-09-28 15:28:50 +08:00
DECLARE_ENUM(QIBIJI)
QS_I_P = LVBUJI::ZHUANPAN + 1,
QS_I_Y,
QS_I_L,
QS_II_L,
QS_II_Y,
END_ENUM()
2026-10-04 00:04:20 +08:00
// 净水器
2026-09-28 15:28:50 +08:00
DECLARE_ENUM(JINGSHUIQI)
JSQ_I = QIBIJI::QS_I_P + 1,
JSQ_II,
JSQ_III,
JSQ_IV,
JSQ_V,
JSQ_VI,
END_ENUM()
//
DECLARE_ENUM(CHAOLVGUAN)
LG_I = JINGSHUIQI::JSQ_I + 1,
LVGUAN_I,
END_ENUM()
protected:
static Adesk::UInt32 kCurrentVersionNumber;
public:
AecDbParamEquipment(const int &type);
AecDbParamEquipment(): m_pImpl(NULL) {}
~AecDbParamEquipment(void);
void SetType(int nType);
int GetType() const;
virtual Acad::ErrorStatus dwgInFields(AcDbDwgFiler* pFiler);
virtual Acad::ErrorStatus dwgOutFields(AcDbDwgFiler* pFiler) const;
virtual Acad::ErrorStatus dxfInFields(AcDbDxfFiler* pFiler);
virtual Acad::ErrorStatus dxfOutFields(AcDbDxfFiler* pFiler) const;
virtual Acad::ErrorStatus subExplode(AcDbVoidPtrArray& entitySet) const;
virtual void subList() const;
virtual Acad::ErrorStatus copyFrom(const AcRxObject* pSrc);
virtual Acad::ErrorStatus subTransformBy(const AcGeMatrix3d& xform);
virtual Acad::ErrorStatus subGetGripPoints(AcDbGripDataPtrArray& grips,
const double curViewUnitSize,
const int gripSize,
const AcGeVector3d& curViewDir,
const int bitflags) const;
virtual Acad::ErrorStatus subGetGripPoints( AcGePoint3dArray &gripPoints, AcDbIntArray &osnapModes, AcDbIntArray &geomIds) const;
virtual Acad::ErrorStatus subMoveGripPointsAt(const AcDbVoidPtrArray& appData, const AcGeVector3d& offset, const int bitflags);
virtual Acad::ErrorStatus subMoveGripPointsAt(const AcDbIntArray& indices,const AcGeVector3d& offset);
virtual Acad::ErrorStatus subGetStretchPoints(AcGePoint3dArray& stretchPoints) const;
virtual Acad::ErrorStatus subMoveStretchPointsAt(const AcDbIntArray& indices,const AcGeVector3d& offset);
virtual Acad::ErrorStatus subGetOsnapPoints(AcDb::OsnapMode osnapMode,
INT_PTR gsSelectionMark,
const AcGePoint3d& pickPoint,
const AcGePoint3d& lastPoint,
const AcGeMatrix3d& viewXform,
AcGePoint3dArray& snapPoints,
AcDbIntArray& geomIds) const;
virtual Acad::ErrorStatus subGetGeomExtents(AcDbExtents& extents) const;
virtual Acad::ErrorStatus subIntersectWith( const AcDbEntity* pEnt,
AcDb::Intersect intType,
AcGePoint3dArray& points,
INT_PTR thisGsMarker,
INT_PTR otherGsMarker) const;
virtual Acad::ErrorStatus subIntersectWith( const AcDbEntity* pEnt,
AcDb::Intersect intType,
const AcGePlane& projPlane,
AcGePoint3dArray& points,
INT_PTR thisGsMarker,
INT_PTR otherGsMarker) const;
2026-10-04 00:04:20 +08:00
//AEC 派生
2026-09-28 15:28:50 +08:00
virtual Acad::ErrorStatus Draw2d(AcGiDraw &dc) const;
virtual Acad::ErrorStatus Draw3d(AcGiDraw &dc) const;
2026-10-04 00:04:20 +08:00
//获取二维视图显示的图形
2026-09-28 15:28:50 +08:00
virtual int GetDraw2dables(Adesk::UInt16 nDrawStyle, AcDbVoidPtrArray& arEntPtrs) const;
2026-10-04 00:04:20 +08:00
//获取三维显示图形
2026-09-28 15:28:50 +08:00
virtual int GetDraw3dables(AcDbVoidPtrArray& arEntPtrs,bool bWriteBimInfo = false) const;
virtual SHJson::WValue& ToJson(bool bExprotGeo = true) const;
virtual bool ByJson(const SHJson::WValue &v);
virtual bool GetBimInfoTip(CString& sInfoTip) const;
2026-10-04 00:04:20 +08:00
//接口
2026-09-28 15:28:50 +08:00
MINTERFACES_METHODS
public:
virtual const AecDbObjXDataMap* GetSpecialtyData() const;
virtual AecDbObjXDataMap* GetSpecialtyData(AcDb::OpenMode bMode);
virtual int GetSectionDraw(const AcGePoint3d& ptFr,const AcGePoint3d& ptTo,const AcGeVector3d& vtViewDir,const AcGeVector3d& vtTo, AcDbVoidPtrArray& arRegPtrs) const;
public:
void SetPosAndDir(const AcGePoint3d &pt, const AcGeVector3d &dir);
void GetInsert(AcGePoint3d& ptIns,AcGeVector3d& vtDir) const;
void SetElev(const double &dElev);
double GetElev();
bool GetSrcString(CString &src);
void SetSrcString(LPCTSTR src);
CParamEquImplBase* cloneImpl(AecDbObjXDataMap *pXData);
public:
static CParamEquImplBase* createParamEquImpl(const int &type, AecDbObjXDataMap *pXData);
private:
AecDbObjXDataMap m_XDataMap;
CParamEquImplBase *m_pImpl;
};