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

221 lines
4.1 KiB
C++

#include "stdafx.h"
#include "ZXPTDlg.h"
#include "AecDbClimbStair.h"
DLLIMPEXP CString IDCreate();
IMPLEMENT_DYNAMIC(CZXPTDlg, CDialog)
CZXPTDlg::CZXPTDlg(CWnd* pParent /*=NULL*/)
: CDialog(CZXPTDlg::IDD, pParent)
, m_dD(1100)
, m_dSegSp(800)
, m_dSteepH(270)
, m_dH(6000)
, m_dW(800)
, m_dBomEl(0)
, m_dH1(1600)
, m_dH2(400)
, m_sFactory(_T("³§¼Ò×ÔÖÆ"))
, m_dd(30)
, m_dt(1.5)
, m_dbt(6)
, m_dbw(10)
, m_sMaterial(_T("ÆÕ̼ͨ¸Ö"))
, m_sNo(_T("P-001"))
, m_nType(2)
, m_dSpWall(180)
, m_bNOSetDefault(TRUE)
{
GET_CACHE(CZXPTDlg
, %f%f%f%f%f%f%f%f%f%f%f%f%s%s%s
, &m_dD
, &m_dSegSp
, &m_dSteepH
, &m_dH
, &m_dW
, &m_dBomEl
, &m_dH1
, &m_dH2
, &m_dd
, &m_dt
, &m_dbt
, &m_dbw
, &m_sFactory
, &m_sMaterial
, &m_sNo);
m_id.setNull();
if (m_bNOSetDefault)
m_sNo = IDCreate();
}
CZXPTDlg::~CZXPTDlg()
{
}
void CZXPTDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Text(pDX, IDC_EDIT3, m_dSteepH);
DDX_Text(pDX, IDC_EDIT12, m_dH);
DDX_Text(pDX, IDC_EDIT20, m_dW);
DDX_Text(pDX, IDC_EDIT13, m_dBomEl);
DDX_Text(pDX, IDC_EDIT31, m_dSpWall);
DDX_Text(pDX, IDC_EDIT14, m_sFactory);
DDX_Text(pDX, IDC_EDIT28, m_sNo);
DDX_Text(pDX, IDC_EDIT15, m_dd);
DDX_Text(pDX, IDC_EDIT16, m_dt);
DDX_Text(pDX, IDC_EDIT17, m_dbt);
DDX_Text(pDX, IDC_EDIT21, m_dbw);
DDX_Text(pDX, IDC_EDIT22, m_sMaterial);
DDX_Check(pDX, IDC_CHECK6, m_bNOSetDefault);
}
BEGIN_MESSAGE_MAP(CZXPTDlg, CDialog)
ON_BN_CLICKED(IDOK, &CZXPTDlg::OnBnClickedOk)
ON_BN_CLICKED(IDC_CHECK6, &CZXPTDlg::OnBnClickedCheck6)
END_MESSAGE_MAP()
void CZXPTDlg::OnBnClickedOk()
{
UpdateData();
SET_CACHE(CZXPTDlg
, %f%f%f%f%f%f%f%f%f%f%f%f%s%s%s
, m_dD
, m_dSegSp
, m_dSteepH
, m_dH
, m_dW
, m_dBomEl
, m_dH1
, m_dH2
, m_dd
, m_dt
, m_dbt
, m_dbw
, m_sFactory
, m_sMaterial
, m_sNo);
AcAxDocLock lock;
if (m_id.isValid())
{
AcDbEntity* pEnt = NULL;
if (Acad::eOk == acdbOpenAcDbEntity(pEnt,m_id,AcDb::kForWrite))
{
AecDbClimbStair* pClimbStair = AecDbClimbStair::cast(pEnt);
if (pClimbStair != NULL)
{
ClimbStair data;
memset(&data,0,sizeof(ClimbStair));
GetLineStairData(data);
AcDbCurve* pCr = pClimbStair->GetNativeCurve();
if (pCr != NULL)
{
AcDbLine* pL = AcDbLine::cast(pCr);
if (pL != NULL)
{
AcGePoint3d ptS = pL->startPoint();
ptS.z = m_dBomEl;
AcGePoint3d ptE = ptS;
ptE.z += data.dH;
pL->setStartPoint(ptS);
pL->setEndPoint(ptE);
}
}
pClimbStair->SetSection(data.dd,0.0);
pClimbStair->SetClimbStairData(data);
}
pEnt->close();
}
}
OnOK();
}
void CZXPTDlg::GetLineStairData(ClimbStair& data) const
{
data.dD = m_dD;
data.dSegSp = m_dSegSp;
data.dSteepH = m_dSteepH;
data.dH = m_dH;
data.dW = m_dW;
data.dBomEl = m_dBomEl;
data.dH1 = m_dH1;
data.dH2 = m_dH2;
data.dd = m_dd;
data.dt = m_dt;
data.dbt = m_dbt;
data.dbw = m_dbw;
data.dSpWall = m_dSpWall;
data.nType = m_nType;
_tcscpy(data.m_sMaterial,(LPCTSTR)m_sMaterial);
_tcscpy(data.m_sFactory,(LPCTSTR)m_sFactory);
_tcscpy(data.m_sNo,(LPCTSTR)m_sFactory);
}
void CZXPTDlg::SetFromId(AcDbObjectId& id)
{
AcDbEntity* pEnt = NULL;
if (Acad::eOk == acdbOpenAcDbEntity(pEnt,id,AcDb::kForRead))
{
AecDbClimbStair* pClimbStair = AecDbClimbStair::cast(pEnt);
if (pClimbStair != NULL)
{
m_id = id;
ClimbStair data;
pClimbStair->GetClimbStairData(data);
m_dD = data.dD;
m_dSegSp = data.dSegSp;
m_dSteepH = data.dSteepH;
m_dH = data.dH;
m_dW = data.dW;
m_dBomEl = data.dBomEl;
m_dH1 = data.dH1;
m_dH2 = data.dH2;
m_dd = data.dd;
m_dt = data.dt;
m_dbt = data.dbt;
m_dbw = data.dbw;
m_dSpWall = data.dSpWall;
m_nType = data.nType;
m_sMaterial = data.m_sMaterial;
m_sFactory = data.m_sFactory;
m_sNo = data.m_sNo;
}
pEnt->close();
}
}
BOOL CZXPTDlg::OnInitDialog()
{
CDialog::OnInitDialog();
if (m_bNOSetDefault)
{
GetDlgItem(IDC_EDIT28)->EnableWindow(FALSE);
}
return TRUE;
}
void CZXPTDlg::OnBnClickedCheck6()
{
if (m_bNOSetDefault)
{
GetDlgItem(IDC_EDIT28)->EnableWindow(FALSE);
}
else
{
GetDlgItem(IDC_EDIT28)->EnableWindow(TRUE);
}
}