fix #2 bug #19

Merged
gjm merged 1 commits from company-desktop-computer/fix-gjm/issues-requirement-tracker#2 AGit into main 2026-10-20 10:07:19 +08:00
+47 -12
View File
@@ -11,6 +11,9 @@
#include "compare_double.h" #include "compare_double.h"
#include "simpleproperty.h" #include "simpleproperty.h"
#include "hlrcommands.h" #include "hlrcommands.h"
#include "aecdbarcstair.h"
#include "aecdblinestair.h"
#include "aecdbguardbar.cpp"
IMP_XDATA_KEY(AecDbXCamera, _ptEye_); IMP_XDATA_KEY(AecDbXCamera, _ptEye_);
IMP_XDATA_KEY(AecDbXCamera, _vtEye_); IMP_XDATA_KEY(AecDbXCamera, _vtEye_);
@@ -493,24 +496,56 @@ namespace
return true; 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)); AecDbEwFitting *pFit(AecDbEwFitting::cast(pEnt));
if (pFit == NULL) if (pFit)
return false; {
const EFittingType eType(pFit->GetFittingType());
if (eType != eElbow && eType != eReduceElbow)
return false;
const EFittingType eType(pFit->GetFittingType()); WPipe::PipeParam *pParam(pFit->GetPipeParam());
if (eType != eElbow && eType != eReduceElbow) if (pParam == NULL)
return false; return false;
WPipe::PipeParam *pParam(pFit->GetPipeParam()); const bool bFlange(pParam->m_nConnectType == 3 || pParam->m_nConnectType == 5);
if (pParam == NULL) dDiameter = bFlange ? pParam->m_dInterfaceD : pParam->m_dD;
return false;
const bool bFlange(pParam->m_nConnectType == 3 || pParam->m_nConnectType == 5); delete pParam;
dDiameter = bFlange ? pParam->m_dInterfaceD : pParam->m_dD; return true;
}
delete pParam; return false;
return true;
} }
// result2 的键是"产生该批结果的实体指针",这类实体没有 id(是补充实体)。 // result2 的键是"产生该批结果的实体指针",这类实体没有 id(是补充实体)。