#pragma once #include "aecdbewpipebase.h" #ifdef EARTHWORM_EXPORT #define DLLIMPEXP __declspec(dllexport) #else #define DLLIMPEXP __declspec(dllimport) #endif //统一 RoadAxis 柔性类管,钢筋,套管,线管 class DLLIMPEXP AecDbEwFlexiblePipe : public AecDbEwPipeBase { public: ACRX_DECLARE_MEMBERS(AecDbEwFlexiblePipe); protected: static Adesk::UInt32 kCurrentVersionNumber; public: AecDbEwFlexiblePipe(void); virtual ~AecDbEwFlexiblePipe(void); //管线基本参数 void SetPipeParam(WPipe::PipeParam *pPipePar); WPipe::PipeParam *GetPipeParam() 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; #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; virtual bool TransformAssocInf(int nInf, const AcGeMatrix3d &xform); virtual LPCTSTR GetGripCmd() const; //剖切提取,符号法,对于管线构件 virtual bool GetSectionDraw(AcGePlane &plan, const AcGeVector3d &vtTo, AcDbVoidPtrArray &arRegionPtrs) const; virtual int ComparedTo(AecDbCurveBase *pCurOther) const; virtual SHJson::WValue& ToJson(bool bExprotGeo = true) const; virtual bool ByJson(const SHJson::WValue &v); virtual bool GetBimInfoTip(CString &sInfoTip) const; static AcDbPolyline* OrtherProject2XY(AcDbCurve *pCrv, double dW); protected: EPosition ExplainGripIndex(int nIndex) const; Acad::ErrorStatus SubAddDimPoints(AcDbGripDataPtrArray &grips, const AcGeVector3d &curViewDir) const; Acad::ErrorStatus ImpGetGripPonts(AcGePoint3dArray &gripPoints, const int bitflags) const; Acad::ErrorStatus moveGripBrokenOpen(int nBrokenGrip, const AcGeVector3d &offset); };