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

63 lines
1.4 KiB
C++

#pragma once
#include "earthwormdef.h"
class AecMInterfaces;
class AecDbEcFitting;
typedef struct AecInterfaceFrTo
{
AecInterface infFr;
AecInterface infTo;
}AECINTERFACEFRTO;
typedef struct AcDbObjectIdNext
{
AcDbObjectId id;
AcDbObjectIdNext* pNext;
}ACDBOBJECTIDNEXT;
typedef struct AcDbObjectIdInf
{
AcDbObjectId id;
AecInterface infFr;
AcGeVector3d vtMove;//是否有移动
AcDbObjectIdInf* pNext;
}AcDbObjectIdInf;
class AecPipeLineModify
{
public:
AecPipeLineModify(void);
~AecPipeLineModify(void);
void SetPipeParamOld(const AecHvac::DuctParam* pPipeParam);
void SetPipeNetIds(AcDbObjectIdArray& arNetIds);
bool ModifyPipeLineParam(AcDbObjectIdArray& arPipeIds,AcDbObjectIdArray& arFitIds,AcDbObjectIdArray& arEquIds, AecHvac::DuctParam& paramNew,BOOL bUpdateMat);
bool AddjustTInfAssoc();
private:
bool ModifyFitting(AecDbEcFitting* pFit,const AecHvac::DuctParam& paramNew);
bool ModifyPipeOnParam(const AcDbObjectIdArray& arPipeIds,const AecHvac::DuctParam& paramNew);
bool ModifyByInfAssoc(const AcArray<AecInterface>& arFitEquOldInfs,AecMInterfaces* pFitEquMInfNew,const AecHvac::DuctParam& paramNew);
void ModifyPipeOnNewInf(AecInterface& infOld,AecInterface& infTo);
public:
AecHvac::DuctParam m_paramOld;
BOOL m_bTeeStop,m_bCrossStop;
BOOL m_bUpdateMat;
bool m_bElLock;
AcDbObjectIdArray m_arNetIds;
AcDbObjectIdArray m_arPipeIds;
//关联的接口更改
AcArray<AecInterfaceFrTo> m_arFrTo;
};