#pragma once #include "aecdbewpipebase.h" #ifdef EARTHWORM_EXPORT #define DLLIMPEXP __declspec(dllexport) #else #define DLLIMPEXP __declspec(dllimport) #endif //线缆 class DLLIMPEXP AecDbEwCable : public AecDbEwPipeBase { public: ACRX_DECLARE_MEMBERS(AecDbEwCable); protected: static Adesk::UInt32 kCurrentVersionNumber; public: AecDbEwCable(void); virtual ~AecDbEwCable(void); // 设置开始点,如果是LINE管子 Acad::ErrorStatus SetStartPoint(const AcGePoint3d& ptSta); AcGePoint3d StartPoint() const; // 设置端点 如果是LINE管子 Acad::ErrorStatus SetEndPoint(const AcGePoint3d& ptEnd); AcGePoint3d EndPoint() 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 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); //AEC 派生 virtual Acad::ErrorStatus Draw2d(AcGiDraw &dc) const; virtual Acad::ErrorStatus Draw3d(AcGiDraw &dc) const; virtual Acad::ErrorStatus Draw2dSingleSegment(AcGiDraw &dc,AcDbPolyline* pPl) const; virtual Acad::ErrorStatus DrawInfArrow(AcGiDraw &dc) const; virtual bool TransformAssocInf(int nInf,const AcGeMatrix3d& xform); //接口重载 virtual bool GetInterface(AcArray& arInfs) const; virtual bool GetInterface(int nIndex,AecInterface& inf) const; virtual int GetInterfaceCount() const; virtual int GetActiveInf() const; virtual void SetActiveInf(int nIndex); protected: static AcDbPolyline *OrtherProject2XY(AcDbCurve *pCrv, double dW); bool TransformAssocInf(AecInterface& inf,const AcGeMatrix3d& xform,AcDbEntity* pMsgFrom); Acad::ErrorStatus ImpGetGripPonts(AcGePoint3dArray &gripPoints, const int bitflags) const; EPosition ExplainGripIndex(int nIndex) const; Acad::ErrorStatus SubAddDimPoints(AcDbGripDataPtrArray &grips, const AcGeVector3d &curViewDir) const; };