// SelPipeSysDlg.cpp : implementation file // #include "stdafx.h" #include "SelPipeSysDlg.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // 视口系统 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// void SetViewPortPipeSysCmd() { int tilemode=0; xg_getvar(_T("TILEMODE"), &tilemode); if(tilemode == 1) { adsout << _T("\n本命令必须在图纸布局中使用!"); return; } RBList rbMask(RTDXF0, _T("VIEWPORT"), NULL); Entity ent; if(SelectEntity(_T("请选择视口:<退出>"),ent, rbMask) != RTNORM) return; CTemporaryResourceOverride vTemp; CSelPipeSysDlg dlg; dlg.m_ent = ent; if(dlg.DoModal() != IDOK) return; XStringList lst; XStringList lstAll; lstAll.Append(tstrnew(LAY_PIPE_USELESS)); lstAll.Append(tstrnew(LAY_VPIPE_USELESS)); lstAll.Append(tstrnew(LAY_PIPE_SPRINKLE)); lstAll.Append(tstrnew(LAY_VPIPE_SPRINKLE)); lstAll.Append(tstrnew(LAY_PIPE_SPRINKLE2)); lstAll.Append(tstrnew(LAY_VPIPE_SPRINKLE2)); lstAll.Append(tstrnew(LAY_PIPE_SPRINKLE3)); lstAll.Append(tstrnew(LAY_VPIPE_SPRINKLE3)); lstAll.Append(tstrnew(LAY_PIPE_FEED)); lstAll.Append(tstrnew(LAY_VPIPE_FEED)); lstAll.Append(tstrnew(LAY_PIPE_FEED2)); lstAll.Append(tstrnew(LAY_VPIPE_FEED2)); lstAll.Append(tstrnew(LAY_PIPE_FEED3)); lstAll.Append(tstrnew(LAY_VPIPE_FEED3)); lstAll.Append(tstrnew(LAY_PIPE_HEADBACK)); lstAll.Append(tstrnew(LAY_VPIPE_HEADBACK)); lstAll.Append(tstrnew(LAY_PIPE_HEADBACK2)); lstAll.Append(tstrnew(LAY_VPIPE_HEADBACK2)); lstAll.Append(tstrnew(LAY_PIPE_HEADBACK3)); lstAll.Append(tstrnew(LAY_VPIPE_HEADBACK3)); lstAll.Append(tstrnew(LAY_PIPE_HEADFEED)); lstAll.Append(tstrnew(LAY_VPIPE_HEADFEED)); lstAll.Append(tstrnew(LAY_PIPE_HEADFEED2)); lstAll.Append(tstrnew(LAY_VPIPE_HEADFEED2)); lstAll.Append(tstrnew(LAY_PIPE_HEADFEED3)); lstAll.Append(tstrnew(LAY_VPIPE_HEADFEED3)); lstAll.Append(tstrnew(LAY_PIPE_DIRT)); lstAll.Append(tstrnew(LAY_VPIPE_DIRT)); lstAll.Append(tstrnew(LAY_PIPE_FIRE)); lstAll.Append(tstrnew(LAY_VPIPE_FIRE)); lstAll.Append(tstrnew(LAY_PIPE_FIRE2)); lstAll.Append(tstrnew(LAY_VPIPE_FIRE2)); lstAll.Append(tstrnew(LAY_PIPE_FIRE3)); lstAll.Append(tstrnew(LAY_VPIPE_FIRE3)); lstAll.Append(tstrnew(LAY_PIPE_RAIN)); lstAll.Append(tstrnew(LAY_VPIPE_RAIN)); lstAll.Append(tstrnew(LAY_PIPE_USED)); lstAll.Append(tstrnew(LAY_VPIPE_USED)); lstAll.Append(tstrnew(LAY_PIPE_USED2)); lstAll.Append(tstrnew(LAY_VPIPE_USED2)); lstAll.Append(tstrnew(LAY_PIPE_USED3)); lstAll.Append(tstrnew(LAY_VPIPE_USED3)); lstAll.Append(tstrnew(LAY_PIPE_DRINK)); lstAll.Append(tstrnew(LAY_VPIPE_DRINK)); lstAll.Append(tstrnew(LAY_PIPE_OTHER)); lstAll.Append(tstrnew(LAY_VPIPE_OTHER)); lstAll.Append(tstrnew(LAY_PIPE_PRESSDIRT)); lstAll.Append(tstrnew(LAY_VPIPE_PRESSDIRT)); lstAll.Append(tstrnew(LAY_PIPE_PRESSUSELESS)); lstAll.Append(tstrnew(LAY_VPIPE_PRESSUSELESS)); lstAll.Append(tstrnew(LAY_PIPE_PRESSRAIN)); lstAll.Append(tstrnew(LAY_VPIPE_PRESSRAIN)); lstAll.Append(tstrnew(LAY_PIPE_COAGULATE)); lstAll.Append(tstrnew(LAY_VPIPE_COAGULATE)); lstAll.Append(tstrnew(LAY_WELL_USED)); lstAll.Append(tstrnew(LAY_WELL_USELESS)); lstAll.Append(tstrnew(LAY_WELL_RAIN)); lstAll.Append(tstrnew(LAY_WELL_DIRT)); lstAll.Append(tstrnew(LAY_WELL_FEED)); lstAll.Append(tstrnew(LAY_WELL_FIRE)); lstAll.Append(tstrnew(LAY_WELL_OTHER)); lstAll.Append(tstrnew(LAY_EQUIP_SPRINKLE)); lstAll.Append(tstrnew(LAY_EQUIP_HYDRANT)); lstAll.Append(tstrnew(LAY_EQUIP_LEAK)); lstAll.Append(tstrnew(LAY_EQUIP_GULLY)); lstAll.Append(tstrnew(LAY_TWT_GULLY)); lstAll.Append(tstrnew(LAY_VALVE_FEED)); lstAll.Append(tstrnew(LAY_VALVE_HEADFEED)); lstAll.Append(tstrnew(LAY_VALVE_HEADBACK)); lstAll.Append(tstrnew(LAY_VALVE_DIRT)); lstAll.Append(tstrnew(LAY_VALVE_USELESS)); lstAll.Append(tstrnew(LAY_VALVE_RAIN)); lstAll.Append(tstrnew(LAY_VALVE_USED)); lstAll.Append(tstrnew(LAY_VALVE_FIRE)); lstAll.Append(tstrnew(LAY_VALVE_SPRINKLE)); lstAll.Append(tstrnew(LAY_VALVE_COAGULATE)); lstAll.Append(tstrnew(LAY_VALVE_DRINK)); lstAll.Append(tstrnew(LAY_VALVE_PRESSDIRT)); lstAll.Append(tstrnew(LAY_VALVE_PRESSUSELESS)); lstAll.Append(tstrnew(LAY_VALVE_PRESSRAIN)); lstAll.Append(tstrnew(LAY_VALVE_OTHER)); lstAll.Append(tstrnew(LAY_TEXT_FEED)); lstAll.Append(tstrnew(LAY_TEXT_HEADFEED)); lstAll.Append(tstrnew(LAY_TEXT_HEADBACK)); lstAll.Append(tstrnew(LAY_TEXT_DIRT)); lstAll.Append(tstrnew(LAY_TEXT_USELESS)); lstAll.Append(tstrnew(LAY_TEXT_RAIN)); lstAll.Append(tstrnew(LAY_TEXT_USED)); lstAll.Append(tstrnew(LAY_TEXT_FIRE)); lstAll.Append(tstrnew(LAY_TEXT_SPRINKLE)); lstAll.Append(tstrnew(LAY_TEXT_COAGULATE)); lstAll.Append(tstrnew(LAY_TEXT_DRINK)); lstAll.Append(tstrnew(LAY_TEXT_PRESSDIRT)); lstAll.Append(tstrnew(LAY_TEXT_PRESSUSELESS)); lstAll.Append(tstrnew(LAY_TEXT_PRESSRAIN)); lstAll.Append(tstrnew(LAY_TEXT_OTHER)); lstAll.Append(tstrnew(LAY_DIM_FEED)); lstAll.Append(tstrnew(LAY_DIM_HEADFEED)); lstAll.Append(tstrnew(LAY_DIM_HEADBACK)); lstAll.Append(tstrnew(LAY_DIM_DIRT)); lstAll.Append(tstrnew(LAY_DIM_USELESS)); lstAll.Append(tstrnew(LAY_DIM_RAIN)); lstAll.Append(tstrnew(LAY_DIM_USED)); lstAll.Append(tstrnew(LAY_DIM_HYDRANT)); lstAll.Append(tstrnew(LAY_DIM_SPRINKLE)); lstAll.Append(tstrnew(LAY_DIM_COAGULATE)); lstAll.Append(tstrnew(LAY_DIM_DRINK)); lstAll.Append(tstrnew(LAY_DIM_PRESSDIRT)); lstAll.Append(tstrnew(LAY_DIM_PRESSUSELESS)); lstAll.Append(tstrnew(LAY_DIM_PRESSRAIN)); lstAll.Append(tstrnew(LAY_DIM_OTHER)); lstAll.Append(tstrnew(LAY_EQ_FEED)); lstAll.Append(tstrnew(LAY_EQ_HEADFEED)); lstAll.Append(tstrnew(LAY_EQ_HEADBACK)); lstAll.Append(tstrnew(LAY_EQ_DIRT)); lstAll.Append(tstrnew(LAY_EQ_USELESS)); lstAll.Append(tstrnew(LAY_EQ_RAIN)); lstAll.Append(tstrnew(LAY_EQ_USED)); lstAll.Append(tstrnew(LAY_EQ_FIRE)); lstAll.Append(tstrnew(LAY_EQ_SPRINKLE)); lstAll.Append(tstrnew(LAY_EQ_COAGULATE)); lstAll.Append(tstrnew(LAY_EQ_DRINK)); lstAll.Append(tstrnew(LAY_EQ_PRESSDIRT)); lstAll.Append(tstrnew(LAY_EQ_PRESSUSELESS)); lstAll.Append(tstrnew(LAY_EQ_PRESSRAIN)); lstAll.Append(tstrnew(LAY_EQ_OTHER)); if(dlg.m_bFL) { lst.Append(tstrnew(LAY_PIPE_USELESS)); lst.Append(tstrnew(LAY_VPIPE_USELESS)); lst.Append(tstrnew(LAY_TEXT_USELESS)); lst.Append(tstrnew(LAY_VALVE_USELESS)); lst.Append(tstrnew(LAY_DIM_USELESS)); lst.Append(tstrnew(LAY_EQ_USELESS)); lst.Append(tstrnew(LAY_WELL_USELESS)); } if(dlg.m_bHL) { lst.Append(tstrnew(LAY_PIPE_SPRINKLE)); lst.Append(tstrnew(LAY_VPIPE_SPRINKLE)); lst.Append(tstrnew(LAY_PIPE_SPRINKLE2)); lst.Append(tstrnew(LAY_VPIPE_SPRINKLE2)); lst.Append(tstrnew(LAY_PIPE_SPRINKLE3)); lst.Append(tstrnew(LAY_VPIPE_SPRINKLE3)); lst.Append(tstrnew(LAY_EQUIP_SPRINKLE)); lst.Append(tstrnew(LAY_TEXT_SPRINKLE)); lst.Append(tstrnew(LAY_VALVE_SPRINKLE)); lst.Append(tstrnew(LAY_DIM_SPRINKLE)); lst.Append(tstrnew(LAY_EQ_SPRINKLE)); } if(dlg.m_bJL) { lst.Append(tstrnew(LAY_PIPE_FEED)); lst.Append(tstrnew(LAY_VPIPE_FEED)); lst.Append(tstrnew(LAY_PIPE_FEED2)); lst.Append(tstrnew(LAY_VPIPE_FEED2)); lst.Append(tstrnew(LAY_PIPE_FEED3)); lst.Append(tstrnew(LAY_VPIPE_FEED3)); lst.Append(tstrnew(LAY_WELL_FEED)); lst.Append(tstrnew(LAY_TEXT_FEED)); lst.Append(tstrnew(LAY_VALVE_FEED)); lst.Append(tstrnew(LAY_DIM_FEED)); lst.Append(tstrnew(LAY_EQ_FEED)); } if(dlg.m_bRHL) { lst.Append(tstrnew(LAY_PIPE_HEADBACK)); lst.Append(tstrnew(LAY_VPIPE_HEADBACK)); lst.Append(tstrnew(LAY_PIPE_HEADBACK2)); lst.Append(tstrnew(LAY_VPIPE_HEADBACK2)); lst.Append(tstrnew(LAY_PIPE_HEADBACK3)); lst.Append(tstrnew(LAY_VPIPE_HEADBACK3)); lst.Append(tstrnew(LAY_TEXT_HEADBACK)); lst.Append(tstrnew(LAY_VALVE_HEADBACK)); lst.Append(tstrnew(LAY_DIM_HEADBACK)); lst.Append(tstrnew(LAY_EQ_HEADBACK)); } if(dlg.m_bRJL) { lst.Append(tstrnew(LAY_PIPE_HEADFEED)); lst.Append(tstrnew(LAY_VPIPE_HEADFEED)); lst.Append(tstrnew(LAY_PIPE_HEADFEED2)); lst.Append(tstrnew(LAY_VPIPE_HEADFEED2)); lst.Append(tstrnew(LAY_PIPE_HEADFEED3)); lst.Append(tstrnew(LAY_VPIPE_HEADFEED3)); lst.Append(tstrnew(LAY_TEXT_HEADFEED)); lst.Append(tstrnew(LAY_VALVE_HEADFEED)); lst.Append(tstrnew(LAY_DIM_HEADFEED)); lst.Append(tstrnew(LAY_EQ_HEADFEED)); } if(dlg.m_bWL) { lst.Append(tstrnew(LAY_PIPE_DIRT)); lst.Append(tstrnew(LAY_VPIPE_DIRT)); lst.Append(tstrnew(LAY_WELL_DIRT)); lst.Append(tstrnew(LAY_EQUIP_LEAK)); lst.Append(tstrnew(LAY_TEXT_DIRT)); lst.Append(tstrnew(LAY_VALVE_DIRT)); lst.Append(tstrnew(LAY_DIM_DIRT)); lst.Append(tstrnew(LAY_EQ_DIRT)); } if(dlg.m_bXL) { lst.Append(tstrnew(LAY_PIPE_FIRE)); lst.Append(tstrnew(LAY_VPIPE_FIRE)); lst.Append(tstrnew(LAY_PIPE_FIRE2)); lst.Append(tstrnew(LAY_VPIPE_FIRE2)); lst.Append(tstrnew(LAY_PIPE_FIRE3)); lst.Append(tstrnew(LAY_VPIPE_FIRE3)); lst.Append(tstrnew(LAY_WELL_FIRE)); lst.Append(tstrnew(LAY_EQUIP_HYDRANT)); lst.Append(tstrnew(LAY_TEXT_FIRE)); lst.Append(tstrnew(LAY_VALVE_FIRE)); lst.Append(tstrnew(LAY_DIM_HYDRANT)); lst.Append(tstrnew(LAY_EQ_FIRE)); } if(dlg.m_bYL) { lst.Append(tstrnew(LAY_PIPE_RAIN)); lst.Append(tstrnew(LAY_VPIPE_RAIN)); lst.Append(tstrnew(LAY_WELL_RAIN)); lst.Append(tstrnew(LAY_EQUIP_GULLY)); lst.Append(tstrnew(LAY_TWT_GULLY)); lst.Append(tstrnew(LAY_TEXT_RAIN)); lst.Append(tstrnew(LAY_VALVE_RAIN)); lst.Append(tstrnew(LAY_DIM_RAIN)); lst.Append(tstrnew(LAY_EQ_RAIN)); } if(dlg.m_bZL) { lst.Append(tstrnew(LAY_PIPE_USED)); lst.Append(tstrnew(LAY_VPIPE_USED)); lst.Append(tstrnew(LAY_PIPE_USED2)); lst.Append(tstrnew(LAY_VPIPE_USED2)); lst.Append(tstrnew(LAY_PIPE_USED3)); lst.Append(tstrnew(LAY_VPIPE_USED3)); lst.Append(tstrnew(LAY_WELL_USED)); lst.Append(tstrnew(LAY_TEXT_USED)); lst.Append(tstrnew(LAY_VALVE_USED)); lst.Append(tstrnew(LAY_DIM_USED)); lst.Append(tstrnew(LAY_EQ_USED)); lst.Append(tstrnew(LAY_WELL_USED)); } if(dlg.m_bDrink) { lst.Append(tstrnew(LAY_PIPE_DRINK)); lst.Append(tstrnew(LAY_VPIPE_DRINK)); lst.Append(tstrnew(LAY_TEXT_DRINK)); lst.Append(tstrnew(LAY_VALVE_DRINK)); lst.Append(tstrnew(LAY_DIM_DRINK)); lst.Append(tstrnew(LAY_EQ_DRINK)); } if(dlg.m_bOther) { lst.Append(tstrnew(LAY_PIPE_OTHER)); lst.Append(tstrnew(LAY_VPIPE_OTHER)); lst.Append(tstrnew(LAY_WELL_OTHER)); lst.Append(tstrnew(LAY_TEXT_OTHER)); lst.Append(tstrnew(LAY_VALVE_OTHER)); lst.Append(tstrnew(LAY_DIM_OTHER)); lst.Append(tstrnew(LAY_EQ_OTHER)); } if(dlg.m_bPressDirt) { lst.Append(tstrnew(LAY_PIPE_PRESSDIRT)); lst.Append(tstrnew(LAY_VPIPE_PRESSDIRT)); lst.Append(tstrnew(LAY_TEXT_PRESSDIRT)); lst.Append(tstrnew(LAY_VALVE_PRESSDIRT)); lst.Append(tstrnew(LAY_DIM_PRESSDIRT)); lst.Append(tstrnew(LAY_EQ_PRESSDIRT)); } if(dlg.m_bPressUseless) { lst.Append(tstrnew(LAY_PIPE_PRESSUSELESS)); lst.Append(tstrnew(LAY_VPIPE_PRESSUSELESS)); lst.Append(tstrnew(LAY_TEXT_PRESSUSELESS)); lst.Append(tstrnew(LAY_VALVE_PRESSUSELESS)); lst.Append(tstrnew(LAY_DIM_PRESSUSELESS)); lst.Append(tstrnew(LAY_EQ_PRESSUSELESS)); } if(dlg.m_bPressRain) { lst.Append(tstrnew(LAY_PIPE_PRESSRAIN)); lst.Append(tstrnew(LAY_VPIPE_PRESSRAIN)); lst.Append(tstrnew(LAY_TEXT_PRESSRAIN)); lst.Append(tstrnew(LAY_VALVE_PRESSRAIN)); lst.Append(tstrnew(LAY_DIM_PRESSRAIN)); lst.Append(tstrnew(LAY_EQ_PRESSRAIN)); } if(dlg.m_bCoagulate) { lst.Append(tstrnew(LAY_PIPE_COAGULATE)); lst.Append(tstrnew(LAY_VPIPE_COAGULATE)); lst.Append(tstrnew(LAY_TEXT_COAGULATE)); lst.Append(tstrnew(LAY_VALVE_COAGULATE)); lst.Append(tstrnew(LAY_DIM_COAGULATE)); lst.Append(tstrnew(LAY_EQ_COAGULATE)); } AcDbObjectIdArray ids; for(long i=0;ithawAllLayersInViewport(); pEnt->freezeLayersInViewport(ids); } OPENOBJ_END(); actrTransactionManager->flushGraphics(); //acad 刷新 PickSet ssAll(SS_FREE); RBList rbMaskPipe(RTDXF0, _T("ATS_PIPE"), 8, GetLayerNames(_T("管")), NULL); ssAll.Get(_T("X"), NULL, NULL, rbMaskPipe); long len = ssAll.Length(); for(long m=0;mGetHidePipes().Length();//强制刷新存在遮挡的管线 if(nPipeNum > 0) { if(pPipe->upgradeOpen()==Acad::eOk) { pPipe->downgradeOpen(); } } } OPENOBJ_END(); } } ///////////////////////////////////////////////////////////////////////////// // CSelPipeSysDlg dialog CSelPipeSysDlg::CSelPipeSysDlg(CWnd* pParent /*=NULL*/) : CDialog(CSelPipeSysDlg::IDD, pParent) { //{{AFX_DATA_INIT(CSelPipeSysDlg) m_bFL = TRUE; m_bHL = TRUE; m_bJL = TRUE; m_bRHL = TRUE; m_bRJL = TRUE; m_bWL = TRUE; m_bXL = TRUE; m_bYL = TRUE; m_bZL = TRUE; m_bDrink = TRUE; m_bOther = TRUE; m_bPressDirt = TRUE; m_bPressRain = TRUE; m_bPressUseless = TRUE; m_bCoagulate = TRUE; m_bAllLayer = TRUE; //}}AFX_DATA_INIT } void CSelPipeSysDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CSelPipeSysDlg) DDX_Check(pDX, IDC_CHECK_FL, m_bFL); DDX_Check(pDX, IDC_CHECK_HL, m_bHL); DDX_Check(pDX, IDC_CHECK_JL, m_bJL); DDX_Check(pDX, IDC_CHECK_RHL, m_bRHL); DDX_Check(pDX, IDC_CHECK_RJL, m_bRJL); DDX_Check(pDX, IDC_CHECK_WL, m_bWL); DDX_Check(pDX, IDC_CHECK_XL, m_bXL); DDX_Check(pDX, IDC_CHECK_YL, m_bYL); DDX_Check(pDX, IDC_CHECK_ZL, m_bZL); DDX_Check(pDX, IDC_CHECK_DRINK, m_bDrink); DDX_Check(pDX, IDC_CHECK_OTHER, m_bOther); DDX_Check(pDX, IDC_CHECK_PRESSDIRT, m_bPressDirt); DDX_Check(pDX, IDC_CHECK_PRESSRAIN, m_bPressRain); DDX_Check(pDX, IDC_CHECK_PRESSUSELESS, m_bPressUseless); DDX_Check(pDX, IDC_CHECK_COAGULATE, m_bCoagulate); DDX_Check(pDX, IDC_CHECK_LAYER, m_bAllLayer); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CSelPipeSysDlg, CDialog) //{{AFX_MSG_MAP(CSelPipeSysDlg) ON_BN_CLICKED(IDC_CHECK_LAYER, OnCheckLayer) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CSelPipeSysDlg message handlers BOOL CSelPipeSysDlg::OnInitDialog() { CDialog::OnInitDialog(); ReadViewPortInfo(); UpdateData(FALSE); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } void CSelPipeSysDlg::ReadViewPortInfo() { OPENOBJ_BEGIN(m_ent, AcDb::kForRead, AcDbViewport, pEnt); if(pEnt){ AcDbObjectId id1 = GetLayerIdFromString(LAY_PIPE_USELESS); if(id1 == NULL) id1 = GetLayerIdFromString(LAY_VPIPE_USELESS); if(id1 != NULL) { if(pEnt->isLayerFrozenInViewport(id1)) m_bFL = FALSE; } else { CWnd *pWnd = GetDlgItem(IDC_CHECK_FL); pWnd->EnableWindow(FALSE); m_bFL = FALSE; } AcDbObjectId id2 = GetLayerIdFromString(LAY_PIPE_SPRINKLE); if(id2 == NULL) id2 = GetLayerIdFromString(LAY_VPIPE_SPRINKLE); if(id2 == NULL) id2 = GetLayerIdFromString(LAY_PIPE_SPRINKLE2); if(id2 == NULL) id2 = GetLayerIdFromString(LAY_PIPE_SPRINKLE3); if(id2 != NULL) { if(pEnt->isLayerFrozenInViewport(id2)) m_bHL = FALSE; } else { CWnd *pWnd = GetDlgItem(IDC_CHECK_HL); pWnd->EnableWindow(FALSE); m_bHL = FALSE; } AcDbObjectId id3 = GetLayerIdFromString(LAY_PIPE_FEED); if(id3 == NULL) id3 = GetLayerIdFromString(LAY_VPIPE_FEED); if(id3 == NULL) id3 = GetLayerIdFromString(LAY_PIPE_FEED2); if(id3 == NULL) id3 = GetLayerIdFromString(LAY_PIPE_FEED3); if(id3 == NULL) id3 = GetLayerIdFromString(LAY_VPIPE_FEED2); if(id3 == NULL) id3 = GetLayerIdFromString(LAY_VPIPE_FEED3); if(id3 != NULL) { if(pEnt->isLayerFrozenInViewport(id3)) m_bJL = FALSE; } else { CWnd *pWnd = GetDlgItem(IDC_CHECK_JL); pWnd->EnableWindow(FALSE); m_bJL = FALSE; } AcDbObjectId id4 = GetLayerIdFromString(LAY_PIPE_HEADBACK); if(id4 == NULL) id4 = GetLayerIdFromString(LAY_VPIPE_HEADBACK); if(id4 == NULL) id4 = GetLayerIdFromString(LAY_PIPE_HEADBACK2); if(id4 == NULL) id4 = GetLayerIdFromString(LAY_PIPE_HEADBACK3); if(id4 != NULL) { if(pEnt->isLayerFrozenInViewport(id4)) m_bRHL = FALSE; } else { CWnd *pWnd = GetDlgItem(IDC_CHECK_RHL); pWnd->EnableWindow(FALSE); m_bRHL = FALSE; } AcDbObjectId id5 = GetLayerIdFromString(LAY_PIPE_HEADFEED); if(id5 == NULL) id5 = GetLayerIdFromString(LAY_VPIPE_HEADFEED); if(id5 == NULL) id5 = GetLayerIdFromString(LAY_PIPE_HEADFEED2); if(id5 == NULL) id5 = GetLayerIdFromString(LAY_PIPE_HEADFEED3); if(id5 != NULL) { if(pEnt->isLayerFrozenInViewport(id5)) m_bRJL = FALSE; } else { CWnd *pWnd = GetDlgItem(IDC_CHECK_RJL); pWnd->EnableWindow(FALSE); m_bRJL = FALSE; } AcDbObjectId id6 = GetLayerIdFromString(LAY_PIPE_FIRE); if(id6 == NULL) id6 = GetLayerIdFromString(LAY_VPIPE_FIRE); if(id6 == NULL) id6 = GetLayerIdFromString(LAY_PIPE_FIRE2); if(id6 == NULL) id6 = GetLayerIdFromString(LAY_PIPE_FIRE3); if(id6 != NULL) { if(pEnt->isLayerFrozenInViewport(id6)) m_bXL = FALSE; } else { CWnd *pWnd = GetDlgItem(IDC_CHECK_XL); pWnd->EnableWindow(FALSE); m_bXL = FALSE; } AcDbObjectId id7 = GetLayerIdFromString(LAY_PIPE_DIRT); if(id7 == NULL) id7 = GetLayerIdFromString(LAY_VPIPE_DIRT); if(id7 != NULL) { if(pEnt->isLayerFrozenInViewport(id7)) m_bWL = FALSE; } else { CWnd *pWnd = GetDlgItem(IDC_CHECK_WL); pWnd->EnableWindow(FALSE); m_bWL = FALSE; } AcDbObjectId id8 = GetLayerIdFromString(LAY_PIPE_RAIN); if(id8 == NULL) id8 = GetLayerIdFromString(LAY_VPIPE_RAIN); if(id8 != NULL) { if(pEnt->isLayerFrozenInViewport(id8)) m_bYL = FALSE; } else { CWnd *pWnd = GetDlgItem(IDC_CHECK_YL); pWnd->EnableWindow(FALSE); m_bYL = FALSE; } AcDbObjectId id9 = GetLayerIdFromString(LAY_PIPE_USED); if(id9 == NULL) id9 = GetLayerIdFromString(LAY_VPIPE_USED); if(id9 == NULL) id9 = GetLayerIdFromString(LAY_PIPE_USED2); if(id9 == NULL) id9 = GetLayerIdFromString(LAY_PIPE_USED3); if(id9 != NULL) { if(pEnt->isLayerFrozenInViewport(id9)) m_bZL = FALSE; } else { CWnd *pWnd = GetDlgItem(IDC_CHECK_ZL); pWnd->EnableWindow(FALSE); m_bZL = FALSE; } AcDbObjectId id10 = GetLayerIdFromString(LAY_PIPE_DRINK); if(id10 == NULL) id10 = GetLayerIdFromString(LAY_VPIPE_DRINK); if(id10 != NULL) { if(pEnt->isLayerFrozenInViewport(id10)) m_bDrink = FALSE; } else { CWnd *pWnd = GetDlgItem(IDC_CHECK_DRINK); pWnd->EnableWindow(FALSE); m_bDrink = FALSE; } AcDbObjectId id11 = GetLayerIdFromString(LAY_PIPE_OTHER); if(id11 == NULL) id11 = GetLayerIdFromString(LAY_VPIPE_OTHER); if(id11 != NULL) { if(pEnt->isLayerFrozenInViewport(id11)) m_bOther = FALSE; } else { CWnd *pWnd = GetDlgItem(IDC_CHECK_OTHER); pWnd->EnableWindow(FALSE); m_bOther = FALSE; } AcDbObjectId id12 = GetLayerIdFromString(LAY_PIPE_PRESSDIRT); if(id12 == NULL) id12 = GetLayerIdFromString(LAY_VPIPE_PRESSDIRT); if(id12 != NULL) { if(pEnt->isLayerFrozenInViewport(id12)) m_bPressDirt = FALSE; } else { CWnd *pWnd = GetDlgItem(IDC_CHECK_PRESSDIRT); pWnd->EnableWindow(FALSE); m_bPressDirt = FALSE; } AcDbObjectId id13 = GetLayerIdFromString(LAY_PIPE_PRESSUSELESS); if(id13 == NULL) id13 = GetLayerIdFromString(LAY_VPIPE_PRESSUSELESS); if(id13 != NULL) { if(pEnt->isLayerFrozenInViewport(id13)) m_bPressUseless = FALSE; } else { CWnd *pWnd = GetDlgItem(IDC_CHECK_PRESSUSELESS); pWnd->EnableWindow(FALSE); m_bPressUseless = FALSE; } AcDbObjectId id14 = GetLayerIdFromString(LAY_PIPE_PRESSRAIN); if(id14 == NULL) id14 = GetLayerIdFromString(LAY_VPIPE_PRESSRAIN); if(id14 != NULL) { if(pEnt->isLayerFrozenInViewport(id14)) m_bPressRain = FALSE; } else { CWnd *pWnd = GetDlgItem(IDC_CHECK_PRESSRAIN); pWnd->EnableWindow(FALSE); m_bPressRain = FALSE; } AcDbObjectId id15 = GetLayerIdFromString(LAY_PIPE_COAGULATE); if(id15 == NULL) id15 = GetLayerIdFromString(LAY_VPIPE_COAGULATE); if(id15 != NULL) { if(pEnt->isLayerFrozenInViewport(id15)) m_bCoagulate = FALSE; } else { CWnd *pWnd = GetDlgItem(IDC_CHECK_COAGULATE); pWnd->EnableWindow(FALSE); m_bCoagulate = FALSE; } } OPENOBJ_END(); if(!m_bFL || !m_bHL || !m_bJL || !m_bRHL || !m_bRJL || !m_bXL || !m_bWL || !m_bYL || !m_bZL|| !m_bDrink|| !m_bOther|| !m_bPressDirt|| !m_bPressUseless|| !m_bPressRain|| !m_bCoagulate) m_bAllLayer = FALSE; } void CSelPipeSysDlg::OnCheckLayer() { UpdateData(TRUE); if(m_bAllLayer){ m_bFL = TRUE; m_bHL = TRUE; m_bJL = TRUE; m_bRHL = TRUE; m_bRJL = TRUE; m_bWL = TRUE; m_bXL = TRUE; m_bYL = TRUE; m_bZL = TRUE; m_bDrink = TRUE; m_bOther = TRUE; m_bPressDirt = TRUE; m_bPressRain = TRUE; m_bPressUseless = TRUE; m_bCoagulate = TRUE; } else{ m_bFL = FALSE; m_bHL = FALSE; m_bJL = FALSE; m_bRHL = FALSE; m_bRJL = FALSE; m_bWL = FALSE; m_bXL = FALSE; m_bYL = FALSE; m_bZL = FALSE; m_bDrink = FALSE; m_bOther = FALSE; m_bPressDirt = FALSE; m_bPressRain = FALSE; m_bPressUseless = FALSE; m_bCoagulate = FALSE; } UpdateData(FALSE); }