236 lines
5.8 KiB
C++
236 lines
5.8 KiB
C++
#pragma once
|
||||
|
|
|
|||
|
|
/*----------------------------------------------------------------------------------
|
|||
|
|
//AecDbParamEquipment : 参数化设备
|
|||
|
|
//
|
|||
|
|
//2021-9 后作废
|
|||
|
|
//---------------------------------------------------------------------------------*/
|
|||
|
|
|
|||
|
|
|
|||
|
|
#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:
|
|||
|
|
// 格栅
|
|||
|
|
DECLARE_ENUM(GESHAN)
|
|||
|
|
XHG_I = 0,
|
|||
|
|
XHG_II,
|
|||
|
|
SG,
|
|||
|
|
BLQ,
|
|||
|
|
ZG_I,
|
|||
|
|
ZG_II,
|
|||
|
|
END_ENUM()
|
|||
|
|
|
|||
|
|
// 爆气器
|
|||
|
|
DECLARE_ENUM(BAOQIQI)
|
|||
|
|
PAN_SI = GESHAN::ZG_II + 1,
|
|||
|
|
GUAN_SI,
|
|||
|
|
END_ENUM()
|
|||
|
|
|
|||
|
|
// 水槽
|
|||
|
|
DECLARE_ENUM(FLUME)
|
|||
|
|
PARSHALL = BAOQIQI::GUAN_SI + 1,
|
|||
|
|
END_ENUM()
|
|||
|
|
|
|||
|
|
// 堰
|
|||
|
|
DECLARE_ENUM(WEIR)
|
|||
|
|
SANJIAOYAN = FLUME::PARSHALL + 1,
|
|||
|
|
CULIUKONGYAN,
|
|||
|
|
BAOBIYAN,
|
|||
|
|
END_ENUM()
|
|||
|
|
|
|||
|
|
// 沉沙池-砂水分离
|
|||
|
|
DECLARE_ENUM(SHASHUIFENLI)
|
|||
|
|
XCS = WEIR::BAOBIYAN + 1,
|
|||
|
|
HXS,
|
|||
|
|
LCS,
|
|||
|
|
END_ENUM()
|
|||
|
|
|
|||
|
|
// 螺旋泵
|
|||
|
|
DECLARE_ENUM(LUOXUANBENG)
|
|||
|
|
LXB = SHASHUIFENLI::LCS + 1,
|
|||
|
|
END_ENUM()
|
|||
|
|
|
|||
|
|
// 闸门
|
|||
|
|
DECLARE_ENUM(ZHAMEN)
|
|||
|
|
RECT_ZHAMEN = LUOXUANBENG::LXB + 1,
|
|||
|
|
CIRCLE_ZHAMEN,
|
|||
|
|
SHENG_NI_FA,
|
|||
|
|
END_ENUM()
|
|||
|
|
|
|||
|
|
// 刮泥机
|
|||
|
|
DECLARE_ENUM(GUANIJI)
|
|||
|
|
XZG = ZHAMEN::SHENG_NI_FA +1,
|
|||
|
|
CZG,
|
|||
|
|
ZG,
|
|||
|
|
QG,
|
|||
|
|
PJ,
|
|||
|
|
SX,
|
|||
|
|
SB,
|
|||
|
|
LIANTIAO,
|
|||
|
|
END_ENUM()
|
|||
|
|
|
|||
|
|
// 浓缩机
|
|||
|
|
DECLARE_ENUM(NONGSUOJI)
|
|||
|
|
NC = GUANIJI::LIANTIAO + 1,
|
|||
|
|
NB,
|
|||
|
|
END_ENUM()
|
|||
|
|
|
|||
|
|
// 爆气机
|
|||
|
|
DECLARE_ENUM(BAOQIJI)
|
|||
|
|
YHG = NONGSUOJI::NB + 1,
|
|||
|
|
AD,
|
|||
|
|
END_ENUM()
|
|||
|
|
|
|||
|
|
// 加药混合
|
|||
|
|
DECLARE_ENUM(JIAYAOHUNHE)
|
|||
|
|
GJ = BAOQIJI::AD + 1,
|
|||
|
|
PJ,
|
|||
|
|
TJ,
|
|||
|
|
LJF,
|
|||
|
|
END_ENUM()
|
|||
|
|
|
|||
|
|
// 滤布机
|
|||
|
|
DECLARE_ENUM(LVBUJI)
|
|||
|
|
ZHUANPAN = JIAYAOHUNHE::LJF + 1,
|
|||
|
|
END_ENUM()
|
|||
|
|
|
|||
|
|
// 启闭机
|
|||
|
|
DECLARE_ENUM(QIBIJI)
|
|||
|
|
QS_I_P = LVBUJI::ZHUANPAN + 1,
|
|||
|
|
QS_I_Y,
|
|||
|
|
QS_I_L,
|
|||
|
|
QS_II_L,
|
|||
|
|
QS_II_Y,
|
|||
|
|
END_ENUM()
|
|||
|
|
|
|||
|
|
// 净水器
|
|||
|
|
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;
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
//AEC 派生
|
|||
|
|
virtual Acad::ErrorStatus Draw2d(AcGiDraw &dc) const;
|
|||
|
|
virtual Acad::ErrorStatus Draw3d(AcGiDraw &dc) const;
|
|||
|
|
|
|||
|
|
//获取二维视图显示的图形
|
|||
|
|
virtual int GetDraw2dables(Adesk::UInt16 nDrawStyle, AcDbVoidPtrArray& arEntPtrs) const;
|
|||
|
|
|
|||
|
|
//获取三维显示图形
|
|||
|
|
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;
|
|||
|
|
|
|||
|
|
//接口
|
|||
|
|
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;
|
|||
|
|
};
|