218 lines
4.1 KiB
C++
218 lines
4.1 KiB
C++
#include "stdafx.h"
|
|
#include "PTLTDlg.h"
|
|
#include "AecDbLineStair.h"
|
|
#include "AecDbArcStair.h"
|
|
|
|
DLLIMPEXP CString IDCreate();
|
|
|
|
IMPLEMENT_DYNAMIC(CPTLTDlg, CDialog)
|
|
|
|
CPTLTDlg::CPTLTDlg(CWnd* pParent /*=NULL*/)
|
|
: CDialog(CPTLTDlg::IDD, pParent)
|
|
, m_dBarH(1080)
|
|
, m_dBarSp(1200)
|
|
, m_dBarH1(650)
|
|
, m_dBarD(30)
|
|
, m_dSteepH(200)
|
|
, m_dSteept(8)
|
|
, m_dSteepW(400)
|
|
, m_dW(1000)
|
|
, m_dSideW(200)
|
|
, m_dSidet(40)
|
|
, m_dBomEl(0)
|
|
, m_dTopEl(4000)
|
|
, m_sMaterial(_T("不锈钢"))
|
|
, m_sFactory(_T("厂家自制"))
|
|
, m_sNo(_T(""))
|
|
, m_bNOSetDefault(TRUE)
|
|
{
|
|
GET_CACHE(CPTLTDlg
|
|
, %f%f%f%f%f%f%f%f%f%f%f%f%s%s%s
|
|
, &m_dBarH
|
|
, &m_dBarSp
|
|
, &m_dBarH1
|
|
, &m_dBarD
|
|
, &m_dSteepH
|
|
, &m_dSteept
|
|
, &m_dSteepW
|
|
, &m_dW
|
|
, &m_dSideW
|
|
, &m_dSidet
|
|
, &m_dBomEl
|
|
, &m_dTopEl
|
|
, &m_sMaterial
|
|
, &m_sFactory
|
|
, &m_sNo );
|
|
|
|
if (m_bNOSetDefault)
|
|
m_sNo = IDCreate();
|
|
}
|
|
|
|
CPTLTDlg::~CPTLTDlg()
|
|
{
|
|
}
|
|
|
|
void CPTLTDlg::DoDataExchange(CDataExchange* pDX)
|
|
{
|
|
CDialog::DoDataExchange(pDX);
|
|
DDX_Text(pDX, IDC_EDIT1, m_dBarH);
|
|
DDX_Text(pDX, IDC_EDIT2, m_dBarSp);
|
|
DDX_Text(pDX, IDC_EDIT13, m_dBarH1);
|
|
DDX_Text(pDX, IDC_EDIT12, m_dBarD);
|
|
DDX_Text(pDX, IDC_EDIT4, m_dSteepH);
|
|
DDX_Text(pDX, IDC_EDIT5, m_dSteept);
|
|
DDX_Text(pDX, IDC_EDIT18, m_dSteepW);
|
|
DDX_Text(pDX, IDC_EDIT20, m_dW);
|
|
DDX_Text(pDX, IDC_EDIT7, m_dSideW);
|
|
DDX_Text(pDX, IDC_EDIT8, m_dSidet);
|
|
DDX_Text(pDX, IDC_EDIT10, m_dBomEl);
|
|
DDX_Text(pDX, IDC_EDIT11, m_dTopEl);
|
|
DDX_Text(pDX, IDC_EDIT23, m_sMaterial);
|
|
DDX_Text(pDX, IDC_EDIT24, m_sFactory);
|
|
DDX_Text(pDX, IDC_EDIT29, m_sNo);
|
|
DDX_Check(pDX, IDC_CHECK7, m_bNOSetDefault);
|
|
}
|
|
|
|
BEGIN_MESSAGE_MAP(CPTLTDlg, CDialog)
|
|
ON_BN_CLICKED(IDOK, &CPTLTDlg::OnBnClickedOk)
|
|
ON_BN_CLICKED(IDC_CHECK7, &CPTLTDlg::OnBnClickedCheck7)
|
|
END_MESSAGE_MAP()
|
|
|
|
BOOL CPTLTDlg::OnInitDialog()
|
|
{
|
|
CDialog::OnInitDialog();
|
|
|
|
if (m_bNOSetDefault)
|
|
{
|
|
GetDlgItem(IDC_EDIT29)->EnableWindow(FALSE);
|
|
}
|
|
|
|
UpdateData(FALSE);
|
|
|
|
return TRUE;
|
|
}
|
|
|
|
void CPTLTDlg::GetLineStairData(LineStair& data) const
|
|
{
|
|
data.bar.dD = m_dBarD;
|
|
data.bar.dt = 2.0;
|
|
data.bar.dBomEl = m_dBomEl;
|
|
data.bar.dH1 = m_dBarH1;
|
|
data.bar.dH = m_dBarH;
|
|
data.bar.dP = m_dBarSp;
|
|
data.dSteepH = m_dSteepH;
|
|
data.dSteept = m_dSteept;
|
|
data.dSteepW = m_dSteepW;
|
|
data.dSidet = m_dSidet;
|
|
data.dSideW = m_dSideW;
|
|
data.dW = m_dW;
|
|
data.dBomEl = m_dBomEl;
|
|
data.dTopEl = m_dTopEl;
|
|
|
|
_tcscpy(data.m_sMaterial,m_sMaterial);
|
|
_tcscpy(data.m_sFactory,m_sFactory);
|
|
_tcscpy(data.m_sNo,m_sNo);
|
|
}
|
|
|
|
void CPTLTDlg::SetFromId(AcDbObjectId& id)
|
|
{
|
|
AcDbEntity* pEnt = NULL;
|
|
if (Acad::eOk == acdbOpenAcDbEntity(pEnt,id,AcDb::kForRead))
|
|
{
|
|
AecDbLineStair* pLS = AecDbLineStair::cast(pEnt);
|
|
if (pLS != NULL)
|
|
{
|
|
LineStair data;
|
|
pLS->GetLineStairData(data);
|
|
|
|
m_dBarD = data.bar.dD;
|
|
|
|
m_dBomEl = data.bar.dBomEl;
|
|
|
|
m_dBarH1 = data.bar.dH1;
|
|
|
|
m_dBarH = data.bar.dH;
|
|
m_dBarSp = data.bar.dP;
|
|
|
|
m_sMaterial = data.m_sMaterial;
|
|
m_sFactory = data.m_sFactory;
|
|
|
|
m_dSteepH = data.dSteepH ;
|
|
m_dSteept = data.dSteept;
|
|
m_dSteepW = data.dSteepW;
|
|
m_dSidet = data.dSidet;
|
|
m_dSideW = data.dSideW;
|
|
m_dW = data.dW;
|
|
m_dBomEl = data.dBomEl;
|
|
m_dTopEl = data.dTopEl;
|
|
m_sNo = data.m_sNo;
|
|
}
|
|
|
|
AecDbArcStair* pAS = AecDbArcStair::cast(pEnt);
|
|
if (pAS != NULL)
|
|
{
|
|
LineStair data;
|
|
pAS->GetLineStairData(data);
|
|
|
|
m_dBarD = data.bar.dD;
|
|
|
|
m_dBomEl = data.bar.dBomEl;
|
|
|
|
m_dBarH1 = data.bar.dH1;
|
|
|
|
m_dBarH = data.bar.dH;
|
|
m_dBarSp = data.bar.dP;
|
|
|
|
m_sMaterial = data.m_sMaterial;
|
|
m_sFactory = data.m_sFactory;
|
|
|
|
m_dSteepH = data.dSteepH ;
|
|
m_dSteept = data.dSteept;
|
|
m_dSteepW = data.dSteepW;
|
|
m_dSidet = data.dSidet;
|
|
m_dSideW = data.dSideW;
|
|
m_dW = data.dW;
|
|
m_dBomEl = data.dBomEl;
|
|
m_dTopEl = data.dTopEl;
|
|
m_sNo = data.m_sNo;
|
|
}
|
|
|
|
pEnt->close();
|
|
}
|
|
}
|
|
|
|
void CPTLTDlg::OnBnClickedOk()
|
|
{
|
|
UpdateData(TRUE);
|
|
SET_CACHE(CPTLTDlg
|
|
, %f%f%f%f%f%f%f%f%f%f%f%f%s%s%s
|
|
, m_dBarH
|
|
, m_dBarSp
|
|
, m_dBarH1
|
|
, m_dBarD
|
|
, m_dSteepH
|
|
, m_dSteept
|
|
, m_dSteepW
|
|
, m_dW
|
|
, m_dSideW
|
|
, m_dSidet
|
|
, m_dBomEl
|
|
, m_dTopEl
|
|
, m_sMaterial
|
|
, m_sFactory
|
|
, m_sNo);
|
|
OnOK();
|
|
}
|
|
|
|
void CPTLTDlg::OnBnClickedCheck7()
|
|
{
|
|
if (m_bNOSetDefault)
|
|
{
|
|
GetDlgItem(IDC_EDIT29)->EnableWindow(FALSE);
|
|
}
|
|
else
|
|
{
|
|
GetDlgItem(IDC_EDIT29)->EnableWindow(TRUE);
|
|
}
|
|
}
|