#pragma once /*---------------------------------------------------------------------------------- //AecDbECableTray :桥架 类 // //通过 基本体 进行基本体的拼接 //---------------------------------------------------------------------------------*/ #include "aecdbewpipebase.h" #include "AecDbX3dPart.h" #ifdef EARTHWORM_EXPORT #define DLLIMPEXP __declspec(dllexport) #else #define DLLIMPEXP __declspec(dllimport) #endif class DLLIMPEXP AecDbECableTray : public AecDbEwPipeBase { public: ACRX_DECLARE_MEMBERS(AecDbECableTray); protected: static Adesk::UInt32 kCurrentVersionNumber; public: AecDbECableTray(void); virtual ~AecDbECableTray(void); // 设置开始点,如果是LINE管子 Acad::ErrorStatus SetStartPoint(const AcGePoint3d& ptSta); AcGePoint3d StartPoint() const; // 设置端点 如果是LINE管子 Acad::ErrorStatus SetEndPoint(const AcGePoint3d& ptEnd); AcGePoint3d EndPoint() const; //设置风管尺寸 bool SetDuctParam(const AecHvac::DuctParam* pData); void GetDuctParam(AecHvac::DuctParam& data) const; //提取电缆沟信息 bool GetDlgData(DlgData &data) const; //左右侧支吊架 bool SetXHolder(EAlign kPos, XHolder &xH); bool GetXHolder(EAlign kPos, XHolder &xH) const; //设置水平桥架标高 void SetElevation(double dEl); //桥架的放置法向量 AcGeVector3d GetNormal() const; public: 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; #if ARX>16 virtual void subList() const; virtual Acad::ErrorStatus subGetGripPoints(AcDbGripDataPtrArray& grips, const double curViewUnitSize, const int gripSize, const AcGeVector3d& curViewDir, const int bitflags) const; virtual Acad::ErrorStatus subMoveGripPointsAt(const AcDbVoidPtrArray& appData, const AcGeVector3d& offset, const int bitflags); virtual void GetGripText(int nPos, CString& sText); #endif //AEC 派生 virtual Acad::ErrorStatus Draw2d(AcGiDraw &dc) const; virtual Acad::ErrorStatus Draw3d(AcGiDraw &dc) const; Acad::ErrorStatus DrawBridge(AcGiDraw &dc) const; Acad::ErrorStatus DrawTrech3D(AcGiDraw &dc) const; bool GetDlgRegionData(DlgData &data, AcArray &arRegEl) const; virtual bool TransformAssocInf(int nInf,const AcGeMatrix3d& xform); virtual LPCTSTR GetGripCmd() const; //剖切提取,符号法,对于管线构件 virtual bool GetSectionDraw(AcGePlane& plan,const AcGeVector3d& vtTo,AcDbVoidPtrArray& arRegionPtrs) const; virtual SHJson::WValue& ToJson(bool bExprotGeo = true) const; virtual bool ByJson(const SHJson::WValue &v); virtual bool GetBimInfoTip(CString& sInfoTip) const; virtual bool SendUserData(struct resbuf *pRb); virtual int ComparedTo(AecDbCurveBase* pCurOther) const; virtual Acad::ErrorStatus DrawUserInf(AcGiDraw &dc) const; virtual Acad::ErrorStatus DrawUserInf3d(AcGiDraw &dc) const; virtual void ProcessHlrResult(const AcArray &ar , const std::map> &preAr , AcArray &output) const; protected: EPosition ExplainGripIndex(int nIndex) const; Acad::ErrorStatus ImpGetGripPonts(AcGePoint3dArray& gripPoints,const int bitflags) const; Acad::ErrorStatus moveGripBrokenOpen(int nBrokenGrip,const AcGeVector3d& offset); virtual Acad::ErrorStatus DrawFlangInf3d(AcGiDraw &dc) const; Acad::ErrorStatus DrawFlangInf3d(AcGiDraw &dc,const AcGePoint3d& ptPos,const AcGeVector3d& vtInf) const; virtual Acad::ErrorStatus DrawFlangInf2d(AcGiDraw &dc) const; Acad::ErrorStatus DrawFlangInf2d(AcGiDraw &dc,const AcGePoint3d& ptPos,const AcGeVector3d& vtInf) const; Acad::ErrorStatus CheckBrokenOpen(); Acad::ErrorStatus ShowUsedFill(AcGiDraw &dc) const; };