#include "stdafx.h" #include "RTLKDlg.h" #include "AecDbEarthWorm.h" #include "KTCADUtilityEx.h" #include "CCSYDlg.h" #include "UITools.h" IMPLEMENT_DYNAMIC(CRTLKDlg, CBaseDialog) CRTLKDlg::CRTLKDlg(CWnd* pParent /*=NULL*/) : CBaseDialog(CRTLKDlg::IDD, _T("RTLK"), IDC_STATIC_FRM, pParent) , m_fKou_Len(0) , m_fKou_W(0) , m_fKou_Left(0) , m_fFangZi_Size(0) , m_fFangZi_W(0) , m_fFangZi_Len(0) , m_fFangZi_H(0) , m_fFangZi_Wall_Thickness(0) , m_fFangZi_Count(0) , m_fFangZi_GaiBan_W(0) , m_fFangZi_GaiBan_Thickness(0) , m_fX(5050.f) { } CRTLKDlg::~CRTLKDlg() { } void CRTLKDlg::DoDataExchange(CDataExchange* pDX) { CBaseDialog::DoDataExchange(pDX); DDX_Text(pDX, IDC_EDITH, m_fKou_Len); DDV_MinMaxFloat(pDX, m_fKou_Len, 0.1f, 500000.0f); DDX_Text(pDX, IDC_EDITH2, m_fKou_W); DDV_MinMaxFloat(pDX, m_fKou_W, 0.1f, 500000.0f); DDX_Text(pDX, IDC_EDITH3, m_fKou_Left); DDV_MinMaxFloat(pDX, m_fKou_Left, 0.1f, 500000.0f); DDX_Text(pDX, IDC_EDITH4, m_fFangZi_Size); DDV_MinMaxFloat(pDX, m_fFangZi_Size, 0.1f, 500000.0f); DDX_Text(pDX, IDC_EDITH6, m_fFangZi_W); DDV_MinMaxFloat(pDX, m_fFangZi_W, 0.1f, 500000.0f); DDX_Text(pDX, IDC_EDITH5, m_fFangZi_Len); DDV_MinMaxFloat(pDX, m_fFangZi_Len, 0.1f, 500000.0f); DDX_Text(pDX, IDC_EDITH7, m_fFangZi_H); DDV_MinMaxFloat(pDX, m_fFangZi_H, 0.1f, 500000.0f); DDX_Text(pDX, IDC_EDITH9, m_fFangZi_Wall_Thickness); DDV_MinMaxFloat(pDX, m_fFangZi_Wall_Thickness, 0.1f, 500000.0f); DDX_Text(pDX, IDC_EDITH8, m_fFangZi_Count); DDV_MinMaxFloat(pDX, m_fFangZi_Count, 0.1f, 500000.0f); DDX_Text(pDX, IDC_EDITH10, m_fFangZi_GaiBan_W); DDV_MinMaxFloat(pDX, m_fFangZi_GaiBan_W, 0.1f, 500000.0f); DDX_Text(pDX, IDC_EDITH11, m_fFangZi_GaiBan_Thickness); DDV_MinMaxFloat(pDX, m_fFangZi_GaiBan_Thickness, 0.1f, 500000.0f); DDX_Text(pDX, IDC_EDIT33, m_fX); } BEGIN_MESSAGE_MAP(CRTLKDlg, CBaseDialog) ON_BN_CLICKED(IDOK, &CRTLKDlg::OnBnClickedOk) ON_BN_CLICKED(IDC_BUTTON2, &CRTLKDlg::OnBnClickedButton2) END_MESSAGE_MAP() BOOL CRTLKDlg::OnInitDialog() { CBaseDialog::OnInitDialog(); m_fKou_Len = AS_M2MM(m_data.fNodeDef[0]); m_fKou_W = AS_M2MM(m_data.fNodeDef[1]); m_fKou_Left = AS_M2MM(m_data.fNodeDef[2]); m_fFangZi_Size = AS_M2MM(m_data.fNodeDef[10]); m_fFangZi_W = AS_M2MM(m_data.fNodeDef[11]); m_fFangZi_Len = AS_M2MM(m_data.fNodeDef[12]); m_fFangZi_H = AS_M2MM(m_data.fNodeDef[13]); m_fFangZi_Wall_Thickness = AS_M2MM(m_data.fNodeDef[14]); m_fFangZi_Count = m_data.fNodeDef[15]; m_fFangZi_GaiBan_W = AS_M2MM(m_data.fNodeDef[16]); m_fFangZi_GaiBan_Thickness = AS_M2MM(m_data.fNodeDef[17]); m_fX = AS_M2MM(m_data.fNodeDef[18]); UpdateData(FALSE); return TRUE; } void CRTLKDlg::SetDefaultFnctNode(EWFnctNode &fncNode) { memset(&fncNode, 0, sizeof(EWFnctNode)); fncNode.dDistFromPre = AS_MUNIT(5000.0);//5米位置 fncNode.eFnType = kHeatDoghouse; _tcscpy(fncNode.szNodeSpec, _T("热力投料口")); fncNode.nRoomIndex = 0;//舱0 fncNode.fNodeDef[0] = AS_MUNITF(7000.0f);//沿管廊方向开口内长 fncNode.fNodeDef[1] = AS_MUNITF(1200.0f);//管廊断面方向宽 fncNode.fNodeDef[2] = AS_MUNITF(1600.0f);//左室定位尺寸 _tcscpy(fncNode.szNodeDefSpec, _T("热力投料口")); fncNode.fNodeDef[10] = AS_MUNITF(1350.0f);//房子左室定位尺寸 fncNode.fNodeDef[11] = AS_MUNITF(1500.0f);//房子横向宽 fncNode.fNodeDef[12] = AS_MUNITF(7500.0f);//房子纵向长 fncNode.fNodeDef[13] = AS_MUNITF(3000.0f);//房子高度 fncNode.fNodeDef[14] = AS_MUNITF(250.0f); //墙厚 fncNode.fNodeDef[15] = 14.0f; //钢筋混凝土活动盖板数量 fncNode.fNodeDef[16] = AS_MUNITF(500.0f); //钢筋混凝土活动盖板宽 fncNode.fNodeDef[17] = AS_MUNITF(50.0f); //钢筋混凝土活动盖板厚 fncNode.fNodeDef[18] = AS_MUNITF(4500.0f); //房子伸出部分距离 X: } void CRTLKDlg::OnViewLButtonDownMsg() { UpdateData(); if (m_idxRoom != -1 && m_pRectCell != NULL) { AcGePoint2d pt1,pt2; m_pRectCell->getPointAt(0,pt1); m_pRectCell->getPointAt(1,pt2); m_fFangZi_W = pt2.distanceTo(pt1) * 1000.0f; m_fFangZi_Size = 50.0f; UpdateData(FALSE); } } void CRTLKDlg::OnBnClickedOk() { UpdateData(TRUE); if (GetIdxOfRoom() == -1) { AfxMessageBox(_T("没有选择舱室,请选择舱室!")); return; } m_data.fNodeDef[0] = AS_MUNITF(m_fKou_Len); m_data.fNodeDef[1] = AS_MUNITF(m_fKou_W); m_data.fNodeDef[2] = AS_MUNITF(m_fKou_Left); m_data.fNodeDef[10] = AS_MUNITF(m_fFangZi_Size); m_data.fNodeDef[11] = AS_MUNITF(m_fFangZi_W); m_data.fNodeDef[12] = AS_MUNITF(m_fFangZi_Len); m_data.fNodeDef[13] = AS_MUNITF(m_fFangZi_H); m_data.fNodeDef[14] = AS_MUNITF(m_fFangZi_Wall_Thickness); m_data.fNodeDef[15] = m_fFangZi_Count; m_data.fNodeDef[16] = AS_MUNITF(m_fFangZi_GaiBan_W); m_data.fNodeDef[17] = AS_MUNITF(m_fFangZi_GaiBan_Thickness); m_data.fNodeDef[18] = AS_MUNITF(m_fX); //房子伸出部分距离 X: CBaseDialog::OnOK(); } void CRTLKDlg::OnBnClickedButton2() { CCCSYDlg dlg; dlg.SetBmpFileName(_T("RTLK.bmp")); dlg.DoModal(); }