// SprinklerDimPipeDnDlg.cpp : implementation file // #include "stdafx.h" #include "DbEquipment.h" #include "SprinklerDimPipeDnDlg.h" #include "globalFunc.h" #include "AcDbObjectPtr.h" #include "DbPipe.h" #include "layerdef.h" #include "PickEntSet.h" #include "TRegProperty.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif void DoDimSprinkPipeDn(SSearchPipeList *pListAll, CSprinklerDimPipeDnDlg *pDlg, int &idx) { AcDbObjectId id = NULL; id = pListAll->m_ID; pListAll->m_iNum = 0; if(pListAll->m_iType == 2){ if(pDlg->m_bK){ ads_name ent; acdbGetAdsName(ent, id); double dK = _tstof(GlobalFunc::ReadXdata(ent, _T("SPRINKLER_K"))); if(dK < 0.01) dK = 80; pListAll->m_nSpare = dK; } else{ pListAll->m_iNum = 1; } } ads_name ent1; acdbGetAdsName(ent1, id); Entity ent; ent = ent1; long len = pListAll->m_lstNode.Length(); for(long i=0;im_lstNode[i]; DoDimSprinkPipeDn(pList, pDlg, idx); pListAll->m_iNum += pList->m_iNum; pListAll->m_nSpare += pList->m_nSpare; } if(pDlg->m_bK){ double dNum = pListAll->m_nSpare / 80 + 0.9; //这个地方不能四舍五入,大于80就算是2个喷头 2009-1-7 pListAll->m_iNum = (int)dNum; } idx++; if(!ent.Is(_T("AEC_ZT_PIPE"))) return; int iRadius(0); if(pDlg){ if(pListAll->m_iNum <= pDlg->m_iDn25) iRadius = 25; else if(pListAll->m_iNum <= pDlg->m_iDn32) iRadius = 32; else if(pListAll->m_iNum <= pDlg->m_iDn40) iRadius = 40; else if(pListAll->m_iNum <= pDlg->m_iDn50) iRadius = 50; else if(pListAll->m_iNum <= pDlg->m_iDn70) iRadius = 65; else if(pListAll->m_iNum <= pDlg->m_iDn80) iRadius = 80; else if(pListAll->m_iNum <= pDlg->m_iDn100) iRadius = 100; else if(pListAll->m_iNum <= pDlg->m_iDn125) iRadius = 125; else if(pListAll->m_iNum <= pDlg->m_iDn150) iRadius = 150; else if(pListAll->m_iNum > pDlg->m_iDn150) iRadius = 200; //2008-11-6 如果没有这1档,则降1档管径 if(iRadius == 200 && pDlg->m_iDn200 == 0) iRadius = 150; if(iRadius == 150 && pDlg->m_iDn150 == 0) iRadius = 125; if(iRadius == 125 && pDlg->m_iDn125 == 0) iRadius = 100; } if(iRadius == 65 && pDlg->m_bDn70) iRadius = 70; // DoDimPipeDn(ent, iRadius, _T("自动"), g_nPipeDnHeight, FALSE); // cet 2010.5.18 del 增加标注字高修改 GlobalFunc::DoDimPipeDn(ent, iRadius, _T("自动"), pDlg->GetDimFontHeight(), FALSE, FALSE); // cet 2010.5.18 add // 设置标注距管距离 zxl 2014.04.08 add OPENOBJ_BEGIN(ent, AcDb::kForWrite, CDbPipe, pPipe); if(pPipe != NULL) { pPipe->InitLabelLocation(pDlg->m_dDst * GlobalFunc::DocGetPScale()); } OPENOBJ_END(); // zxl 2013.09.04 add 添加最小显示管径,管径小于设定值时不显示 if (iRadius < pDlg->m_dMinDn) { OPENOBJ_BEGIN(ent, AcDb::kForWrite, CDbPipe, pPipe); if(pPipe != NULL) { pPipe->EnableDrawLabel(FALSE); } OPENOBJ_END(); } acedSetStatusBarProgressMeterPos(idx); } void DimPipeDnFromSprink() { CTemporaryResourceOverride vTemp; CSprinklerDimPipeDnDlg dlg; if(dlg.DoModal() != IDOK) return; Entity entMainPipe; RBList rbMask = ads_buildlist( -4, _T(""), -4, _T(""), -4, _T(""), -4, _T(""), -4, _T(""), -4, _T(""), -4, _T("or>"), NULL); if(GlobalFunc::SelectEntity(_T("\n请选择喷淋干管<退出>"), entMainPipe, rbMask) != RTNORM) return; SSearchPipeList *pListAll = new SSearchPipeList(); PickSet ssAll(SS_FREE); ssAll += entMainPipe; if(!GlobalFunc::SearchSprinkPipeSys(entMainPipe, NULL, pListAll, ssAll)){ AfxMessageBox(_T("喷淋系统有回路!")); delete pListAll; return; } acedSetStatusBarProgressMeter(_T("标注中..."), 0, ssAll.Length()); int idx(0); DoDimSprinkPipeDn(pListAll, &dlg, idx); acedRestoreStatusBar(); GlobalFunc::UpdateMultDim(); delete pListAll; } ///////////////////////////////////////////////////////////////////////////// // CSprinklerDimPipeDnDlg dialog CSprinklerDimPipeDnDlg::CSprinklerDimPipeDnDlg(CWnd* pParent /*=NULL*/) : CDialog(CSprinklerDimPipeDnDlg::IDD, pParent), m_dDst(0), m_spinDst(0.5) { //{{AFX_DATA_INIT(CSprinklerDimPipeDnDlg) m_iDn100 = 0; m_iDn125 = 0; m_iDn150 = 0; m_iDn32 = 0; m_iDn25 = 0; m_iDn40 = 0; m_iDn70 = 0; m_iDn50 = 0; m_iDn80 = 0; m_iLevel = 1; m_bK = TRUE; m_bDn70 = FALSE; m_iDn200 = 0; m_dDimFontHeight = 0.0; m_dMinDn = 25; m_dDst = 2; //}}AFX_DATA_INIT } void CSprinklerDimPipeDnDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CSprinklerDimPipeDnDlg) DDX_Text(pDX, IDC_EDIT_DN100, m_iDn100); DDX_Text(pDX, IDC_EDIT_DN125, m_iDn125); DDX_Text(pDX, IDC_EDIT_DN150, m_iDn150); DDX_Text(pDX, IDC_EDIT_DN32, m_iDn32); DDX_Text(pDX, IDC_EDIT_DN25, m_iDn25); DDX_Text(pDX, IDC_EDIT_DN40, m_iDn40); DDX_Text(pDX, IDC_EDIT_DN70, m_iDn70); DDX_Text(pDX, IDC_EDIT_DN50, m_iDn50); DDX_Text(pDX, IDC_EDIT_DN80, m_iDn80); DDX_Text(pDX, IDC_COMBO_MINDN, m_dMinDn); DDX_Radio(pDX, IDC_RADIO_LEVEL1, m_iLevel); DDX_Check(pDX, IDC_CHECK_K, m_bK); DDX_Check(pDX, IDC_CHECK_DN70, m_bDn70); DDX_Text(pDX, IDC_EDIT_DN200, m_iDn200); DDX_Text(pDX, IDC_EDT_DIMFONTHEIGHT, m_dDimFontHeight); //}}AFX_DATA_MAP DDX_Text(pDX, IDC_EDIT_DST, m_dDst); DDX_Control(pDX, IDC_SPIN_DST, m_spinDst); } BEGIN_MESSAGE_MAP(CSprinklerDimPipeDnDlg, CDialog) //{{AFX_MSG_MAP(CSprinklerDimPipeDnDlg) ON_BN_CLICKED(IDC_RADIO_LEVEL1, OnRadioLevel1) ON_BN_CLICKED(IDC_RADIO_LEVEL2, OnRadioLevel2) ON_BN_CLICKED(IDC_BUTTON_DEFAULT, OnButtonDefault) ON_BN_CLICKED(IDC_RADIO_LEVEL3, OnRadioLevel3) ON_MESSAGE(WM_ACAD_KEEPFOCUS, onAcadKeepFocus) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CSprinklerDimPipeDnDlg message handlers BOOL CSprinklerDimPipeDnDlg::OnInitDialog() { CDialog::OnInitDialog(); TRegProperty regProp(_T("SoftWare\\SHANGHUASOFT\\2023"), _T("Sprinkler")); regProp.SetTopRootKey(HKEY_CURRENT_USER); if (!regProp.GetValue(_T("DistDimToLine"), m_dDst)) { m_dDst = 2; } UpdateData(FALSE); m_spinDst.SetRange(0, 10); Default(); UpdateDlgData(TRUE); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } void CSprinklerDimPipeDnDlg::OnRadioLevel1() { UpdateDn(FALSE); UpdateDn(TRUE); UpdateData(FALSE); } void CSprinklerDimPipeDnDlg::OnRadioLevel2() { UpdateDn(FALSE); UpdateDn(TRUE); UpdateData(FALSE); } void CSprinklerDimPipeDnDlg::OnRadioLevel3() { UpdateDn(FALSE); UpdateDn(TRUE); UpdateData(FALSE); } LONG_PTR CSprinklerDimPipeDnDlg::onAcadKeepFocus(UINT_PTR, LONG_PTR) { POINT pt; ::GetCursorPos(&pt); CRect rect; GetWindowRect(&rect); if (!(rect.PtInRect(pt))) { return FALSE; } return TRUE; } void CSprinklerDimPipeDnDlg::OnButtonDefault() { Default(); UpdateDn(TRUE); UpdateData(FALSE); } void CSprinklerDimPipeDnDlg::Default() { m_iSprinklerArray1[0] = 1; m_iSprinklerArray1[1] = 3; m_iSprinklerArray1[2] = 5; m_iSprinklerArray1[3] = 10; m_iSprinklerArray1[4] = 18; m_iSprinklerArray1[5] = 48; m_iSprinklerArray1[6] = 64; m_iSprinklerArray1[7] = 80; m_iSprinklerArray1[8] = 100; m_iSprinklerArray1[9] = 0; m_iSprinklerArray2[0] = 1; // cet 2011.5.13 modify // m_iSprinklerArray2[1] = 2; // m_iSprinklerArray2[2] = 3; m_iSprinklerArray2[1] = 3; m_iSprinklerArray2[2] = 4; m_iSprinklerArray2[3] = 8; m_iSprinklerArray2[4] = 12; m_iSprinklerArray2[5] = 32; m_iSprinklerArray2[6] = 64; m_iSprinklerArray2[7] = 80; m_iSprinklerArray2[8] = 100; m_iSprinklerArray2[9] = 0; m_iSprinklerArray3[0] = 1; m_iSprinklerArray3[1] = 2; m_iSprinklerArray3[2] = 3; m_iSprinklerArray3[3] = 6; m_iSprinklerArray3[4] = 10; m_iSprinklerArray3[5] = 30; m_iSprinklerArray3[6] = 64; m_iSprinklerArray3[7] = 80; m_iSprinklerArray3[8] = 100; m_iSprinklerArray3[9] = 0; } void CSprinklerDimPipeDnDlg::UpdateDn(BOOL bIsRead) { //UpdateData(TRUE); if(bIsRead){ if(m_iLevel == 0){ m_iDn25 = m_iSprinklerArray1[0]; m_iDn32 = m_iSprinklerArray1[1]; m_iDn40 = m_iSprinklerArray1[2]; m_iDn50 = m_iSprinklerArray1[3]; m_iDn70 = m_iSprinklerArray1[4]; m_iDn80 = m_iSprinklerArray1[5]; m_iDn100 = m_iSprinklerArray1[6]; m_iDn125 = m_iSprinklerArray1[7]; m_iDn150 = m_iSprinklerArray1[8]; m_iDn200 = m_iSprinklerArray1[9]; } else if(m_iLevel == 1){ m_iDn25 = m_iSprinklerArray2[0]; m_iDn32 = m_iSprinklerArray2[1]; m_iDn40 = m_iSprinklerArray2[2]; m_iDn50 = m_iSprinklerArray2[3]; m_iDn70 = m_iSprinklerArray2[4]; m_iDn80 = m_iSprinklerArray2[5]; m_iDn100 = m_iSprinklerArray2[6]; m_iDn125 = m_iSprinklerArray2[7]; m_iDn150 = m_iSprinklerArray2[8]; m_iDn200 = m_iSprinklerArray2[9]; } else if(m_iLevel == 2){ m_iDn25 = m_iSprinklerArray3[0]; m_iDn32 = m_iSprinklerArray3[1]; m_iDn40 = m_iSprinklerArray3[2]; m_iDn50 = m_iSprinklerArray3[3]; m_iDn70 = m_iSprinklerArray3[4]; m_iDn80 = m_iSprinklerArray3[5]; m_iDn100 = m_iSprinklerArray3[6]; m_iDn125 = m_iSprinklerArray3[7]; m_iDn150 = m_iSprinklerArray3[8]; m_iDn200 = m_iSprinklerArray3[9]; } } else{ if(m_iLevel == 0){ UpdateData(TRUE); m_iSprinklerArray1[0] = m_iDn25; m_iSprinklerArray1[1] = m_iDn32; m_iSprinklerArray1[2] = m_iDn40; m_iSprinklerArray1[3] = m_iDn50; m_iSprinklerArray1[4] = m_iDn70; m_iSprinklerArray1[5] = m_iDn80; m_iSprinklerArray1[6] = m_iDn100; m_iSprinklerArray1[7] = m_iDn125; m_iSprinklerArray1[8] = m_iDn150; m_iSprinklerArray1[9] = m_iDn200; } else if(m_iLevel == 1){ UpdateData(TRUE); m_iSprinklerArray2[0] = m_iDn25; m_iSprinklerArray2[1] = m_iDn32; m_iSprinklerArray2[2] = m_iDn40; m_iSprinklerArray2[3] = m_iDn50; m_iSprinklerArray2[4] = m_iDn70; m_iSprinklerArray2[5] = m_iDn80; m_iSprinklerArray2[6] = m_iDn100; m_iSprinklerArray2[7] = m_iDn125; m_iSprinklerArray2[8] = m_iDn150; m_iSprinklerArray2[9] = m_iDn200; } else if(m_iLevel == 2){ UpdateData(TRUE); m_iSprinklerArray3[0] = m_iDn25; m_iSprinklerArray3[1] = m_iDn32; m_iSprinklerArray3[2] = m_iDn40; m_iSprinklerArray3[3] = m_iDn50; m_iSprinklerArray3[4] = m_iDn70; m_iSprinklerArray3[5] = m_iDn80; m_iSprinklerArray3[6] = m_iDn100; m_iSprinklerArray3[7] = m_iDn125; m_iSprinklerArray3[8] = m_iDn150; m_iSprinklerArray3[9] = m_iDn200; } } } void CSprinklerDimPipeDnDlg::UpdateDlgData(BOOL bIsRead) { UpdateData(TRUE); TRegProperty regProp(_T("SoftWare\\SHANGHUASOFT\\2023"), _T("Sprinkler")); regProp.SetTopRootKey(HKEY_CURRENT_USER); if(bIsRead){ regProp.GetValue(_T("MinPipe25"), m_iSprinklerArray1[0]); regProp.GetValue(_T("MinPipe32"), m_iSprinklerArray1[1]); regProp.GetValue(_T("MinPipe40"), m_iSprinklerArray1[2]); regProp.GetValue(_T("MinPipe50"), m_iSprinklerArray1[3]); regProp.GetValue(_T("MinPipe70"), m_iSprinklerArray1[4]); regProp.GetValue(_T("MinPipe80"), m_iSprinklerArray1[5]); regProp.GetValue(_T("MinPipe100"), m_iSprinklerArray1[6]); regProp.GetValue(_T("MinPipe125"), m_iSprinklerArray1[7]); regProp.GetValue(_T("MinPipe150"), m_iSprinklerArray1[8]); regProp.GetValue(_T("MinPipe200"), m_iSprinklerArray1[9]); regProp.GetValue(_T("MidPipe25"), m_iSprinklerArray2[0]); regProp.GetValue(_T("MidPipe32"), m_iSprinklerArray2[1]); regProp.GetValue(_T("MidPipe40"), m_iSprinklerArray2[2]); regProp.GetValue(_T("MidPipe50"), m_iSprinklerArray2[3]); regProp.GetValue(_T("MidPipe70"), m_iSprinklerArray2[4]); regProp.GetValue(_T("MidPipe80"), m_iSprinklerArray2[5]); regProp.GetValue(_T("MidPipe100"), m_iSprinklerArray2[6]); regProp.GetValue(_T("MidPipe125"), m_iSprinklerArray2[7]); regProp.GetValue(_T("MidPipe150"), m_iSprinklerArray2[8]); regProp.GetValue(_T("MidPipe200"), m_iSprinklerArray2[9]); regProp.GetValue(_T("MaxPipe25"), m_iSprinklerArray3[0]); regProp.GetValue(_T("MaxPipe32"), m_iSprinklerArray3[1]); regProp.GetValue(_T("MaxPipe40"), m_iSprinklerArray3[2]); regProp.GetValue(_T("MaxPipe50"), m_iSprinklerArray3[3]); regProp.GetValue(_T("MaxPipe70"), m_iSprinklerArray3[4]); regProp.GetValue(_T("MaxPipe80"), m_iSprinklerArray3[5]); regProp.GetValue(_T("MaxPipe100"), m_iSprinklerArray3[6]); regProp.GetValue(_T("MaxPipe125"), m_iSprinklerArray3[7]); regProp.GetValue(_T("MaxPipe150"), m_iSprinklerArray3[8]); regProp.GetValue(_T("MaxPipe200"), m_iSprinklerArray3[9]); // cet 2010.5.18 add if (!regProp.GetValue(_T("DimFontHeight"),m_dDimFontHeight)) { m_dDimFontHeight = g_Option::instance().g_nPipeDnHeight; } if (!regProp.GetValue(_T("MinShowDn"), m_dMinDn)) { m_dMinDn = 25; } UpdateDn(TRUE); UpdateData(FALSE); } else{ regProp.SetValue(_T("MinPipe25"), m_iSprinklerArray1[0]); regProp.SetValue(_T("MinPipe32"), m_iSprinklerArray1[1]); regProp.SetValue(_T("MinPipe40"), m_iSprinklerArray1[2]); regProp.SetValue(_T("MinPipe50"), m_iSprinklerArray1[3]); regProp.SetValue(_T("MinPipe70"), m_iSprinklerArray1[4]); regProp.SetValue(_T("MinPipe80"), m_iSprinklerArray1[5]); regProp.SetValue(_T("MinPipe100"), m_iSprinklerArray1[6]); regProp.SetValue(_T("MinPipe125"), m_iSprinklerArray1[7]); regProp.SetValue(_T("MinPipe150"), m_iSprinklerArray1[8]); regProp.SetValue(_T("MinPipe200"), m_iSprinklerArray1[9]); regProp.SetValue(_T("MidPipe25"), m_iSprinklerArray2[0]); regProp.SetValue(_T("MidPipe32"), m_iSprinklerArray2[1]); regProp.SetValue(_T("MidPipe40"), m_iSprinklerArray2[2]); regProp.SetValue(_T("MidPipe50"), m_iSprinklerArray2[3]); regProp.SetValue(_T("MidPipe70"), m_iSprinklerArray2[4]); regProp.SetValue(_T("MidPipe80"), m_iSprinklerArray2[5]); regProp.SetValue(_T("MidPipe100"), m_iSprinklerArray2[6]); regProp.SetValue(_T("MidPipe125"), m_iSprinklerArray2[7]); regProp.SetValue(_T("MidPipe150"), m_iSprinklerArray2[8]); regProp.SetValue(_T("MidPipe200"), m_iSprinklerArray2[9]); regProp.SetValue(_T("MaxPipe25"), m_iSprinklerArray3[0]); regProp.SetValue(_T("MaxPipe32"), m_iSprinklerArray3[1]); regProp.SetValue(_T("MaxPipe40"), m_iSprinklerArray3[2]); regProp.SetValue(_T("MaxPipe50"), m_iSprinklerArray3[3]); regProp.SetValue(_T("MaxPipe70"), m_iSprinklerArray3[4]); regProp.SetValue(_T("MaxPipe80"), m_iSprinklerArray3[5]); regProp.SetValue(_T("MaxPipe100"), m_iSprinklerArray3[6]); regProp.SetValue(_T("MaxPipe125"), m_iSprinklerArray3[7]); regProp.SetValue(_T("MaxPipe150"), m_iSprinklerArray3[8]); regProp.SetValue(_T("MaxPipe200"), m_iSprinklerArray3[9]); // cet 2010.5.18 add regProp.SetValue(_T("DimFontHeight"),m_dDimFontHeight); regProp.SetValue(_T("MinShowDn"), m_dMinDn); } } void CSprinklerDimPipeDnDlg::OnOK() { // zxl 2013.09.04 add if (!UpdateData(TRUE)) { return; } UpdateDn(FALSE); UpdateDlgData(FALSE); TRegProperty regProp(_T("SoftWare\\SHANGHUASOFT\\2023"), _T("Sprinkler")); regProp.SetTopRootKey(HKEY_CURRENT_USER); regProp.SetValue(_T("DistDimToLine"), m_dDst); CDialog::OnOK(); } //************************************************************************** // 暂时作废 //************************************************************************** //BOOL GetSprinkFormPipe(Entity ent, AcDbObjectId &idRet1, AcDbObjectId &idRet2) //{ // BOOL bRet = FALSE; // OPENOBJ_BEGIN(ent, AcDb::kForRead, CDbPipe, pPipe); // if(pPipe){ // AcDbObjectId nodeId1(NULL), nodeId2(NULL); // nodeId1 = pPipe->GetNode(0); // nodeId2 = pPipe->GetNode(1); // if(IsSprinkler(nodeId1)){ // idRet1 = nodeId1; // bRet = TRUE; // } // if(IsSprinkler(nodeId2)){ // idRet2 = nodeId2; // bRet = TRUE; // } // } // OPENOBJ_END(); // return bRet; //void DimPipeDnFromSprink2() //{ // Entity ent; // if(GlobalFunc::SelectEntity(_T("\n请选择喷淋干管<退出>"), ent, RBList()) != RTNORM) // return; // AcDbObjectId idFront = NULL; // acdbGetObjectId(idFront, ent); // PickSet ss(SS_FREE); // GetAllPipeAndEqByNode(idFront, Entity(), ss); // ss.Redraw(3); //void GetAllPipeAndEqByPipe(AcDbObjectId pipeId, Entity entFront, PickSet &ss) //{ // AcDbObjectId idFront = NULL; // acdbGetObjectId(idFront, entFront); // // OPENOBJ_BEGIN(pipeId, AcDb::kForRead, CDbPipe, pPipe); // if(pPipe){ // AcDbObjectId nodeId1(NULL), nodeId2(NULL); // nodeId1 = pPipe->GetNode(0); // nodeId2 = pPipe->GetNode(1); // if(!IsEquipment(nodeId1)) // GetAllPipeAndEqByNode(nodeId1, entFront, ss); // else if(idFront != nodeId1) // ss += nodeId1; // if(!IsEquipment(nodeId2)) // GetAllPipeAndEqByNode(nodeId2, entFront, ss); // else if(idFront != nodeId2) // ss += nodeId2; // } // OPENOBJ_END(); // return; //void GetAllPipeAndEqByNode(AcDbObjectId nodeId, Entity entFront, PickSet &ss) //{ // AcDbObjectId idFront = NULL; // acdbGetObjectId(idFront, entFront); // // PickSet ssSelf(SS_FREE); // OPENOBJ_BEGIN(nodeId, AcDb::kForRead, TDbPipeNode, pNode); // if(pNode){ // int num = pNode->GetInterfaceNum(); // for(int i=0;iGetInterface(i, face); // AcDbObjectId nextPipeId = face.m_idPipe; // if(idFront == nextPipeId) // return; // ssSelf += nextPipeId; // } // } // OPENOBJ_END(); // ss += ssSelf; //BOOL SearchPipeSys(Entity ent, Entity entFront, SSearchPipeList *pListAll, PickSet &ssAll) //{ // AcDbObjectId id = NULL; // acdbGetObjectId(id, ent); // pListAll->m_ID = id; // PickSet ss(SS_FREE); // int len(0); // // if(ent.Is(_T("AEC_ZT_PIPE"))) // GetAllPipeAndEqByPipe(id, entFront, ss); // else if(ent.Is(_T("ATS_EQUIPMENT"))){ // GetAllPipeAndEqByNode(id, Entity(), ss); // ss -= entFront; // } // ss -= ent; // // for(long j=0;j 0){ // return FALSE; // } // } // // ssAll += ss; // len = ss.Length(); // for(long i=0;im_ID = id; // if(!SearchPipeSys(entTmp, ent, pList, ssAll)) // return FALSE; // pListAll->m_lstNode.Append(pList); // } // return TRUE; //}