Files
envi-code/SourceCode/Code2026/inc/AecDbEwFlexiblePipe.h
T
2026-09-28 15:28:50 +08:00

76 lines
2.3 KiB
C++

#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);
};