Files
envi-code/SourceCode/Code2026/EarthWormCmd/XLKDlg.cpp
T
2026-09-28 15:28:50 +08:00

166 lines
4.8 KiB
C++

#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();
}