补充了对AecDbGuardBar,AecDbArcStair,AecDbLineStair 3种类型的判断.
This commit is contained in:
company-desktop-computer committed 2026-10-20 10:06:34 +08:00
1 parent 555a977336
commit 581394622a
1 file changed
+47 -12
+47 -12
View File
@@ -11,6 +11,9 @@
#include "compare_double.h"
#include "simpleproperty.h"
#include "hlrcommands.h"
#include "aecdbarcstair.h"
#include "aecdblinestair.h"
#include "aecdbguardbar.cpp"
IMP_XDATA_KEY(AecDbXCamera, _ptEye_);
IMP_XDATA_KEY(AecDbXCamera, _vtEye_);
@@ -493,24 +496,56 @@ namespace
return true;
}
AecDbArcStair *pArcStair(AecDbArcStair::cast(pEnt));
if (pArcStair)
{
LineStair data;
memset(&data,0,sizeof(LineStair));
pArcStair->GetLineStairData(data);
dDiameter = data.bar.dD;
return true;
}
AecDbLineStair *pLineStair(AecDbLineStair::cast(pEnt));
if (pLineStair)
{
LineStair data;
memset(&data,0,sizeof(LineStair));
pArcStair->GetLineStairData(data);
dDiameter = data.bar.dD;
return true;
}
AecDbGuardBar *pBar(AecDbGuardBar::cast(pEnt));
if (pBar)
{
GuardBar bar;
::memset(&bar, 0, sizeof(GuardBar));
pBar->GetGuardBarData(bar);
dDiameter = bar.dD;
return true;
}
// 弯头
AecDbEwFitting *pFit(AecDbEwFitting::cast(pEnt));
if (pFit == NULL)
return false;
if (pFit)
{
const EFittingType eType(pFit->GetFittingType());
if (eType != eElbow && eType != eReduceElbow)
return false;
const EFittingType eType(pFit->GetFittingType());
if (eType != eElbow && eType != eReduceElbow)
return false;
WPipe::PipeParam *pParam(pFit->GetPipeParam());
if (pParam == NULL)
return false;
WPipe::PipeParam *pParam(pFit->GetPipeParam());
if (pParam == NULL)
return false;
const bool bFlange(pParam->m_nConnectType == 3 || pParam->m_nConnectType == 5);
dDiameter = bFlange ? pParam->m_dInterfaceD : pParam->m_dD;
const bool bFlange(pParam->m_nConnectType == 3 || pParam->m_nConnectType == 5);
dDiameter = bFlange ? pParam->m_dInterfaceD : pParam->m_dD;
delete pParam;
return true;
}
delete pParam;
return true;
return false;
}
// result2 的键是"产生该批结果的实体指针",这类实体没有 id(是补充实体)。