#include "stdafx.h" #include "XLKDlg.h" #include "AecDbEarthWorm.h" #include "KTCADUtilityEx.h" #include "uitools.h" #include "CCSYDlg.h" IMPLEMENT_DYNAMIC(CXLKDlg, CBaseDialog) CXLKDlg::CXLKDlg(CWnd* pParent /*=NULL*/) : CBaseDialog(CXLKDlg::IDD, _T("XLLK"), 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_GaiBan_W(0) , m_fFangZi_GaiBan_Thickness(0) , m_fX(5050.0f) { } CXLKDlg::~CXLKDlg() { } void CXLKDlg::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_GaiBan_W); DDV_MinMaxFloat(pDX, m_fFangZi_GaiBan_W, 0.1f, 500000.0f); DDX_Text(pDX, IDC_EDITH10, m_fFangZi_GaiBan_L); DDV_MinMaxFloat(pDX, m_fFangZi_GaiBan_L, 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_EDIT37, m_fX); } BEGIN_MESSAGE_MAP(CXLKDlg, CBaseDialog) ON_BN_CLICKED(IDOK, &CXLKDlg::OnBnClickedOk) ON_BN_CLICKED(IDC_BUTTON2, &CXLKDlg::OnBnClickedButton2) END_MESSAGE_MAP() BOOL CXLKDlg::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_GaiBan_W = AS_M2MM(m_data.fNodeDef[16]); m_fFangZi_GaiBan_L = AS_M2MM(m_data.fNodeDef[17]); m_fFangZi_GaiBan_Thickness = AS_M2MM(m_data.fNodeDef[18]); m_fX = AS_M2MM(m_data.fNodeDef[19]); UpdateData(FALSE); return TRUE; } void CXLKDlg::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 CXLKDlg::SetDefaultFnctNode(EWFnctNode &fncNode) { memset(&fncNode, 0, sizeof(EWFnctNode)); //2.线缆类投料口 fncNode.dDistFromPre = AS_MUNIT(13500.0);//13.5米位置 fncNode.eFnType = kCableDoghouse; fncNode.nRoomIndex = 0;//wDlg.m_nRoomIndex;//舱0 fncNode.fNodeDef[0] = AS_MUNITF(1000.0f);//沿管廊方向内长 fncNode.fNodeDef[1] = AS_MUNITF(1000.0f);//管廊断面方向宽 fncNode.fNodeDef[2] = AS_MUNITF(1600.0f);//左室定位尺寸 _tcscpy(fncNode.szNodeSpec, _T("线缆类投料口")); fncNode.fNodeDef[10] = AS_MUNITF(1350.0f);//房子左室定位尺寸 fncNode.fNodeDef[11] = AS_MUNITF(1500.0f);//房子横向宽 fncNode.fNodeDef[12] = AS_MUNITF(1750.0f);//房子纵向长 fncNode.fNodeDef[13] = AS_MUNITF(3000.0f);//房子高度 fncNode.fNodeDef[14] = AS_MUNITF(250.0f); //墙厚 fncNode.fNodeDef[15] = 1.0f; //钢筋混凝土活动盖板数量 fncNode.fNodeDef[16] = AS_MUNITF(1500.0f);//钢筋混凝土活动盖板宽 fncNode.fNodeDef[17] = AS_MUNITF(1750.0f);//钢筋混凝土活动盖板长 fncNode.fNodeDef[18] = AS_MUNITF(50.0f); //钢筋混凝土活动盖板厚 fncNode.fNodeDef[19] = AS_MUNITF(5050.f); //料口侧偏离管廊 X: } void CXLKDlg::OnBnClickedOk() { UpdateData(TRUE); if (m_idxRoom < 0) { 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_L); m_data.fNodeDef[18] = AS_MUNITF(m_fFangZi_GaiBan_Thickness); m_data.fNodeDef[19] = AS_MUNITF(m_fX); //料口侧偏离管廊 X: CBaseDialog::OnOK(); } void CXLKDlg::OnBnClickedButton2() { CCCSYDlg dlg; dlg.SetBmpFileName(_T("XLLK.bmp")); dlg.DoModal(); }