// WaterTankOverfallDlg.cpp : implementation file // #include "stdafx.h" #include #include "WaterTankOverfallDlg.h" #include "twt_pump.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CWaterTankOverfallDlg dialog //*************************************************************************************************** // 进水管 //*************************************************************************************************** void WaterInPipe() { Entity ent; RBList rbMask(RTDXF0, _T("ATS_WATERTANK"),NULL); if(SelectEntity(_T("\n请选择平面方水箱<退出>:"), ent, rbMask) != RTNORM) return; OPENOBJ_BEGIN(ent, AcDb::kForRead, TDbWaterTank, pEquip); if(pEquip){ if(pEquip->GetShape() != 1) return; if(pEquip->GetShowType() != 0) return; } OPENOBJ_END(); XPushVar vOrthoMode(_T("ORTHOMODE"), 1); XPoint p1, p2, p3; if(ads_getpoint(NULL, _T("\n请点取进水管位置<退出>:"), p1) != RTNORM) return; // p1 = Ucs2Wcs(p1); cet 2011.10.11 del if(ads_getpoint(p1, _T("\n请点取进水管引出位置<退出>:"), p2) != RTNORM) return; // p2 = Ucs2Wcs(p2); cet 2011.10.11 del if(ads_getpoint(p1, _T("\n请点取第二个进水管位置<退出>:"), p3) != RTNORM) return; p1 = Ucs2Wcs(p1); // cet 2011.10.11 add p2 = Ucs2Wcs(p2); // cet 2011.10.11 add p3 = Ucs2Wcs(p3); double nEle(0); if(ads_getreal(_T("\n请输入进水管标高<退出>:"), &nEle) != RTNORM) return; OPENOBJ_BEGIN(ent, AcDb::kForWrite, TDbWaterTank, pEquip); if(pEquip){ pEquip->SetWaterIn1(p1); pEquip->SetWaterIn2(p3); pEquip->SetWaterInFrom(p2); pEquip->SetWaterInEle(nEle); } OPENOBJ_END(); } //*************************************************************************************************** // 溢流管 //*************************************************************************************************** void OverfallPipe() { CTemporaryResourceOverride over; CWaterTankOverfallDlg dlg; if(dlg.DoModal() != IDOK) return; if(dlg.m_nOverEle < 0.001) return; Entity ent; RBList rbMask(RTDXF0, _T("ATS_WATERTANK"),NULL); if(SelectEntity(_T("\n请选择平面方水箱<退出>:"), ent, rbMask) != RTNORM) return; OPENOBJ_BEGIN(ent, AcDb::kForRead, TDbWaterTank, pEquip); if(pEquip){ // AcRxObject* pRxobj = TDbWaterTank::desc()->getX(TArchMatchProp::desc()); // return; if(pEquip->GetShape() != 1) return; if(pEquip->GetShowType() != 0) return; } OPENOBJ_END(); XPushVar vOrthoMode(_T("ORTHOMODE"), 1); XPoint p1, p2; if(ads_getpoint(NULL, _T("\n请点取溢流管位置<退出>:"), p1) != RTNORM) return; // p1 = Ucs2Wcs(p1); cet 2011.10.11 del if(ads_getpoint(p1, _T("\n请点取溢流管引出位置<退出>:"), p2) != RTNORM) return; p1 = Ucs2Wcs(p1); // cet 2011.10.11 add p2 = Ucs2Wcs(p2); OPENOBJ_BEGIN(ent, AcDb::kForWrite, TDbWaterTank, pEquip); if(pEquip){ pEquip->SetOverfallStart(p1); pEquip->SetOverfallEnd(p2); pEquip->SetOverfallEle(dlg.m_nOverEle); pEquip->SetRushEle(dlg.m_nRushEle); } OPENOBJ_END(); } CWaterTankOverfallDlg::CWaterTankOverfallDlg(CWnd* pParent /*=NULL*/) : CDialog(CWaterTankOverfallDlg::IDD, pParent) { //{{AFX_DATA_INIT(CWaterTankOverfallDlg) m_nOverEle = 0.0; m_nRushEle = 0.0; //}}AFX_DATA_INIT } void CWaterTankOverfallDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CWaterTankOverfallDlg) DDX_Text(pDX, IDC_EDIT_OVERELE, m_nOverEle); DDX_Text(pDX, IDC_EDIT_RUSHELE, m_nRushEle); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CWaterTankOverfallDlg, CDialog) //{{AFX_MSG_MAP(CWaterTankOverfallDlg) ON_WM_PAINT() //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CWaterTankOverfallDlg message handlers void CWaterTankOverfallDlg::OnPaint() { CPaintDC dc(this); // device context for painting OpenSlide(); } void CWaterTankOverfallDlg::OpenSlide() { UpdateData(TRUE); CWnd *pImageBox = GetDlgItem(IDC_PREVIEW_WATERTANK); DrawSlide(_T("Twt(watertank)"), pImageBox); } BOOL CWaterTankOverfallDlg::OnInitDialog() { CDialog::OnInitDialog(); OpenSlide(); // TODO: Add extra initialization here return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE }