808 lines
21 KiB
C++
808 lines
21 KiB
C++
// 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;i<lstAll.Length();i++)
|
|
{
|
|
CString csLay = lstAll[i];
|
|
if(lst.Index(csLay) < 0)
|
|
{
|
|
AcDbObjectId idLay = GetLayerIdFromString(csLay);
|
|
if(idLay != NULL)
|
|
ids.append(idLay);
|
|
}
|
|
}
|
|
|
|
OPENOBJ_BEGIN(ent, AcDb::kForWrite, AcDbViewport, pEnt);
|
|
if(pEnt){
|
|
pEnt->thawAllLayersInViewport();
|
|
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;m<len;m++)
|
|
{
|
|
Entity ent = ssAll[m];
|
|
OPENOBJ_BEGIN(ent, AcDb::kForRead, TDbPipe, pPipe);
|
|
if(pPipe){
|
|
int nPipeNum = pPipe->GetHidePipes().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);
|
|
}
|