166 lines
4.8 KiB
C++
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();
|
|
}
|