Files
gjm 164968b62e chore
把非utf8-bom编码的cpp/h文件改为 utf8 bom 编码, msvc识别utf8编码时,如果不是bom格式的,会使用当前cp_oem来解码.
2026-10-04 00:04:20 +08:00

804 lines
18 KiB
C++

#include "stdafx.h"
#include "CJXZJDlg.h"
#include "EarThwormDef.h"
#include "CoreTools.h"
#include "uihistory.h"
#include "AecDbRectCornerStair.h"
IMPLEMENT_DYNAMIC(CJXZJDlg, CDialog)
CJXZJDlg::CJXZJDlg(CWnd* pParent /*=NULL*/)
: CDialog(IDD_JXZJ_DLG, pParent)
, m_sH(_T("3000"))
, m_dSteepH(150)
, m_dSteepW(270)
, m_sStairStepS(_T("4"))
, m_bSymmetry(FALSE)
, m_n1StepS(6)
, m_d1StepW(1000)
, m_n2StepS(9)
, m_d2StepW(1500)
, m_n3StepS(12)
, m_d3StepW(1500)
, m_n4StepS(15)
, m_d4StepW(2000)
, m_nUpSide(0)
, m_nFloorShow(FALSE)
, m_bDimUpstair(TRUE)
, m_bLBeam(FALSE)
, m_bRBeam(FALSE)
, m_dBarH(900)
, m_dBarSw(60)
, m_dBarSh(60)
, m_dBarSide(10)
, m_sGarMat(_T(""))
, m_bOutSideHRail(TRUE)
, m_bOutSideRail(TRUE)
, m_bInsideRail(TRUE)
, m_dZGarExt(600)
, m_dGarExt(200)
, m_dRailSw(30)
, m_dRailSh(50)
, m_nRailCirSec(TRUE)
, m_sBarMat(_T(""))
, m_dBomEl(0)
, m_nSSteeps(3)
, m_dStairSW(7500)
, m_dStairMW(8500)
{
GET_CACHE(CJXZJDlg
, %s%f%f%s%d%d%f%d%f%d%f%d%f%d%d%d%d%d%f%f%f%f%s%d%d%d%f%f%f%f%d%s%f%d%f%f
, &m_sH
, &m_dSteepH
, &m_dSteepW
, &m_sStairStepS
, &m_bSymmetry
, &m_n1StepS
, &m_d1StepW
, &m_n2StepS
, &m_d2StepW
, &m_n3StepS
, &m_d3StepW
, &m_n4StepS
, &m_d4StepW
, &m_nUpSide
, &m_nFloorShow
, &m_bDimUpstair
, &m_bLBeam
, &m_bRBeam
, &m_dBarH
, &m_dBarSw
, &m_dBarSh
, &m_dBarSide
, &m_sGarMat
, &m_bOutSideHRail
, &m_bOutSideRail
, &m_bInsideRail
, &m_dZGarExt
, &m_dGarExt
, &m_dRailSw
, &m_dRailSh
, &m_nRailCirSec
, &m_sBarMat
, &m_dBomEl
, &m_nSSteeps
, &m_dStairSW
, &m_dStairMW);
}
CJXZJDlg::~CJXZJDlg()
{
}
void CJXZJDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Text(pDX, IDC_EDIT1, m_sH);
DDX_Text(pDX, IDC_EDIT6, m_dSteepH);
DDX_Text(pDX, IDC_EDIT10, m_dSteepW);
DDX_CBString(pDX, IDC_COMBO2, m_sStairStepS);
DDX_Check(pDX, IDC_CHECK1, m_bSymmetry);
DDX_Text(pDX, IDC_EDIT3, m_n1StepS);
DDX_Text(pDX, IDC_EDIT11, m_d1StepW);
DDX_Text(pDX, IDC_EDIT15, m_n2StepS);
DDX_Text(pDX, IDC_EDIT16, m_d2StepW);
DDX_Text(pDX, IDC_EDIT5, m_n3StepS);
DDX_Text(pDX, IDC_EDIT20, m_d3StepW);
DDX_Text(pDX, IDC_EDIT22, m_n4StepS);
DDX_Text(pDX, IDC_EDIT23, m_d4StepW);
DDX_Radio(pDX, IDC_RADIO1, m_nUpSide);
DDX_Radio(pDX, IDC_RADIO10, m_nFloorShow);
DDX_Check(pDX, IDC_CHECK8, m_bDimUpstair);
DDX_Check(pDX, IDC_CHECK2, m_bLBeam);
DDX_Check(pDX, IDC_CHECK6, m_bRBeam);
DDX_Text(pDX, IDC_EDIT21, m_dBarH);
DDX_Text(pDX, IDC_EDIT24, m_dBarSw);
DDX_Text(pDX, IDC_EDIT25, m_dBarSh);
DDX_Text(pDX, IDC_EDIT31, m_dBarSide);
DDX_CBString(pDX, IDC_COMBO4, m_sGarMat);
DDX_Check(pDX, IDC_CHECK16, m_nRailCirSec);
DDX_Check(pDX, IDC_CHECK9, m_bOutSideHRail);
DDX_Check(pDX, IDC_CHECK13, m_bOutSideRail);
DDX_Check(pDX, IDC_CHECK14, m_bInsideRail);
DDX_Text(pDX, IDC_EDIT33, m_dZGarExt);
DDX_Text(pDX, IDC_EDIT32, m_dGarExt);
DDX_Text(pDX, IDC_EDIT30, m_dRailSw);
DDX_Text(pDX, IDC_EDIT28, m_dRailSh);
DDX_CBString(pDX, IDC_COMBO6, m_sBarMat);
DDX_Text(pDX, IDC_EDIT40, m_dBomEl);
DDX_Text(pDX, IDC_EDIT36, m_nSSteeps);
DDX_Text(pDX, IDC_EDIT18, m_dStairSW);
DDX_Text(pDX, IDC_EDIT17, m_dStairMW);
}
BEGIN_MESSAGE_MAP(CJXZJDlg, CDialog)
ON_BN_CLICKED(IDOK, &CJXZJDlg::OnBnClickedOk)
ON_EN_CHANGE(IDC_EDIT3, &CJXZJDlg::OnEnChangeSteep1s)
ON_EN_CHANGE(IDC_EDIT15, &CJXZJDlg::OnEnChangeSteep2s)
ON_EN_CHANGE(IDC_EDIT5, &CJXZJDlg::OnEnChangeSteep3s)
ON_EN_CHANGE(IDC_EDIT22, &CJXZJDlg::OnEnChangeSteep4s)
ON_EN_CHANGE(IDC_EDIT1, &CJXZJDlg::OnEnChangeH)
ON_EN_CHANGE(IDC_EDIT6, &CJXZJDlg::OnEnChangeStweepH)
ON_EN_CHANGE(IDC_EDIT18, &CJXZJDlg::OnEnChangeL)
ON_EN_CHANGE(IDC_EDIT17, &CJXZJDlg::OnEnChangeW)
ON_EN_CHANGE(IDC_EDIT11, &CJXZJDlg::OnEnChangeSteep1W)
ON_EN_CHANGE(IDC_EDIT16, &CJXZJDlg::OnEnChangeSteep2W)
ON_EN_CHANGE(IDC_EDIT20, &CJXZJDlg::OnEnChangeSteep3W)
ON_EN_CHANGE(IDC_EDIT23, &CJXZJDlg::OnEnChangeSteep4W)
ON_CBN_SELCHANGE(IDC_COMBO2, &CJXZJDlg::OnEnChangeStairStepS)
END_MESSAGE_MAP()
BOOL CJXZJDlg::OnInitDialog()
{
CDialog::OnInitDialog();
if (BST_CHECKED == IsDlgButtonChecked(IDC_CHECK1))
{
//选中
if (m_sStairStepS == _T("3"))
{
m_n3StepS = m_n1StepS;
}
else if (m_sStairStepS == _T("4"))
{
m_n3StepS = m_n1StepS;
m_n4StepS = m_n2StepS;
}
}
//IDC_STATIC
// 子类化控件对象
if (!m_wndViewCtrl.SubclassDlgItem(IDC_STATIC_FRM, this))
{
return FALSE;
}
PreView3d();
//PreView2d();
UpdateData(FALSE);
return TRUE;
}
void CJXZJDlg::OnBnClickedOk()
{
UpdateData();
SET_CACHE(CJXZJDlg
, %s%f%f%s%d%d%f%d%f%d%f%d%f%d%d%d%d%d%f%f%f%f%s%d%d%d%f%f%f%f%d%s%f%d%f%f
, m_sH
, m_dSteepH
, m_dSteepW
, m_sStairStepS
, m_bSymmetry
, m_n1StepS
, m_d1StepW
, m_n2StepS
, m_d2StepW
, m_n3StepS
, m_d3StepW
, m_n4StepS
, m_d4StepW
, m_nUpSide
, m_nFloorShow
, m_bDimUpstair
, m_bLBeam
, m_bRBeam
, m_dBarH
, m_dBarSw
, m_dBarSh
, m_dBarSide
, m_sGarMat
, m_bOutSideHRail
, m_bOutSideRail
, m_bInsideRail
, m_dZGarExt
, m_dGarExt
, m_dRailSw
, m_dRailSh
, m_nRailCirSec
, m_sBarMat
, m_dBomEl
, m_nSSteeps
, m_dStairSW
, m_dStairMW);
CDialog::OnOK();
}
void CJXZJDlg::OnEnChangeSteep1s()
{
UpdateData();
double h = _ttof(m_sH);
if (m_sStairStepS == _T("2"))
{
m_dSteepH = h / (m_n1StepS + m_n2StepS);
}
else if (m_sStairStepS == _T("3"))
{
if (m_bSymmetry)
{
m_dSteepH = h / (m_n1StepS * 2 + m_n2StepS);
}
else
{
m_dSteepH = h / (m_n1StepS + m_n2StepS + m_n3StepS);
}
}
else
{
if (m_bSymmetry)
{
m_dSteepH = h / ((m_n1StepS + m_n2StepS) * 2);
}
else
{
m_dSteepH = h / (m_n1StepS + m_n2StepS + m_n3StepS + m_n4StepS);
}
}
UpdateData(FALSE);
}
void CJXZJDlg::OnEnChangeSteep2s()
{
UpdateData();
double h = _ttof(m_sH);
if (m_sStairStepS == _T("2"))
{
m_dSteepH = h / (m_n1StepS + m_n2StepS);
}
else if (m_sStairStepS == _T("3"))
{
if (m_bSymmetry)
{
m_dSteepH = h / (m_n1StepS * 2 + m_n2StepS);
}
else
{
m_dSteepH = h / (m_n1StepS + m_n2StepS + m_n3StepS);
}
}
else
{
if (m_bSymmetry)
{
m_dSteepH = h / ((m_n1StepS + m_n2StepS) * 2);
}
else
{
m_dSteepH = h / (m_n1StepS + m_n2StepS + m_n3StepS + m_n4StepS);
}
}
UpdateData(FALSE);
}
void CJXZJDlg::OnEnChangeSteep3s()
{
UpdateData();
double h = _ttof(m_sH);
if (m_sStairStepS == _T("2"))
{
m_dSteepH = h / (m_n1StepS + m_n2StepS);
}
else if (m_sStairStepS == _T("3"))
{
if (m_bSymmetry)
{
m_dSteepH = h / (m_n1StepS * 2 + m_n2StepS);
}
else
{
m_dSteepH = h / (m_n1StepS + m_n2StepS + m_n3StepS);
}
}
else
{
if (m_bSymmetry)
{
m_dSteepH = h / ((m_n1StepS + m_n2StepS) * 2);
}
else
{
m_dSteepH = h / (m_n1StepS + m_n2StepS + m_n3StepS + m_n4StepS);
}
}
UpdateData(FALSE);
}
void CJXZJDlg::OnEnChangeSteep4s()
{
UpdateData();
double h = _ttof(m_sH);
if (m_sStairStepS == _T("2"))
{
m_dSteepH = h / (m_n1StepS + m_n2StepS);
}
else if (m_sStairStepS == _T("3"))
{
if (m_bSymmetry)
{
m_dSteepH = h / (m_n1StepS * 2 + m_n2StepS);
}
else
{
m_dSteepH = h / (m_n1StepS + m_n2StepS + m_n3StepS);
}
}
else
{
if (m_bSymmetry)
{
m_dSteepH = h / ((m_n1StepS + m_n2StepS) * 2);
}
else
{
m_dSteepH = h / (m_n1StepS + m_n2StepS + m_n3StepS + m_n4StepS);
}
}
UpdateData(FALSE);
}
void CJXZJDlg::OnEnChangeH()
{
UpdateData();
double h = _ttof(m_sH);
if (m_sStairStepS == _T("2"))
{
m_n1StepS = (int)((h / m_dSteepH) / 2);
m_n2StepS = m_n1StepS + 1;
}
else if (m_sStairStepS == _T("3"))
{
m_n1StepS = (int)((h / m_dSteepH) / 3);
m_n2StepS = m_n1StepS + 1;
m_n3StepS = m_n1StepS;
}
else
{
m_n1StepS = (int)((h / m_dSteepH) / 4);
m_n2StepS = m_n1StepS + 1;
m_n3StepS = m_n1StepS;
m_n4StepS = m_n2StepS;
}
UpdateData(FALSE);
}
void CJXZJDlg::OnEnChangeStweepH()
{
UpdateData();
double h = _ttof(m_sH);
if (m_sStairStepS == _T("2"))
{
m_n1StepS = (int)((h / m_dSteepH) / 2);
m_n2StepS = m_n1StepS + 1;
}
else if (m_sStairStepS == _T("3"))
{
m_n1StepS = (int)((h / m_dSteepH) / 3);
m_n2StepS = m_n1StepS + 1;
m_n3StepS = m_n1StepS;
}
else
{
m_n1StepS = (int)((h / m_dSteepH) / 4);
m_n2StepS = m_n1StepS + 1;
m_n3StepS = m_n1StepS;
m_n4StepS = m_n2StepS;
}
UpdateData(FALSE);
}
void CJXZJDlg::OnEnChangeL()
{
UpdateData();
/*if (m_sStairStepS == _T("2"))
{
m_n2StepS = (int)((m_dStairSW - m_d1StepW) / m_dSteepW);
}
else if (m_sStairStepS == _T("3"))
{
m_n2StepS = (int)((m_dStairSW - m_d1StepW - m_d3StepW) / m_dSteepW);
}
else
{
m_n2StepS = (int)((m_dStairSW - m_d1StepW - m_d3StepW) / m_dSteepW);
m_n4StepS = (int)((m_dStairSW - m_d1StepW - m_d3StepW) / m_dSteepW);
}*/
UpdateData(FALSE);
}
void CJXZJDlg::OnEnChangeW()
{
UpdateData();
/*if (m_sStairStepS == _T("2"))
{
m_n1StepS = (int)((m_dStairMW - m_d2StepW) / m_dSteepW);
}
else if (m_sStairStepS == _T("3"))
{
m_n1StepS = (int)((m_dStairMW - m_d2StepW) / m_dSteepW);
m_n3StepS = (int)((m_dStairMW - m_d2StepW) / m_dSteepW);
}
else
{
m_n1StepS = (int)((m_dStairMW - m_d2StepW - m_d4StepW) / m_dSteepW);
m_n3StepS = (int)((m_dStairMW - m_d2StepW - m_d4StepW) / m_dSteepW);
}*/
UpdateData(FALSE);
}
void CJXZJDlg::OnEnChangeSteep1W()
{
UpdateData();
double dLen;
if (m_sStairStepS == _T("2"))
{
dLen = m_dStairMW - m_d2StepW;
if (m_dSteepW > dLen)
{
AfxMessageBox(_T("请改变楼梯宽度!"));
}
}
else if (m_sStairStepS == _T("3"))
{
dLen = m_dStairMW - m_d2StepW;
if (m_dSteepW > dLen)
{
AfxMessageBox(_T("请改变楼梯宽度!"));
}
}
else
{
dLen = m_dStairMW - m_d2StepW - m_d4StepW;
if (m_dSteepW > dLen)
{
AfxMessageBox(_T("请改变楼梯宽度!"));
}
}
UpdateData(FALSE);
}
void CJXZJDlg::OnEnChangeSteep2W()
{
UpdateData();
double dLen;
if (m_sStairStepS == _T("2"))
{
dLen = m_dStairSW - m_d1StepW;
if (m_dSteepW > dLen)
{
AfxMessageBox(_T("请改变楼梯长度!"));
}
}
else if (m_sStairStepS == _T("3"))
{
dLen = m_dStairSW - m_d1StepW - m_d3StepW;
if (m_dSteepW > dLen)
{
AfxMessageBox(_T("请改变楼梯长度!"));
}
}
else
{
dLen = m_dStairSW - m_d1StepW - m_d3StepW;
if (m_dSteepW > dLen)
{
AfxMessageBox(_T("请改变楼梯长度!"));
}
}
UpdateData(FALSE);
}
void CJXZJDlg::OnEnChangeSteep3W()
{
UpdateData();
double dLen;
if (m_sStairStepS == _T("3"))
{
dLen = m_dStairMW - m_d2StepW;
if (m_dSteepW > dLen)
{
AfxMessageBox(_T("请改变楼梯宽度!"));
}
}
else
{
dLen = m_dStairMW - m_d2StepW - m_d4StepW;
if (m_dSteepW > dLen)
{
AfxMessageBox(_T("请改变楼梯宽度!"));
}
}
UpdateData(FALSE);
}
void CJXZJDlg::OnEnChangeSteep4W()
{
UpdateData();
double dLen;
if (m_sStairStepS == _T("4"))
{
dLen = m_dStairSW - m_d1StepW - m_d3StepW;
if (m_dSteepW > dLen)
{
AfxMessageBox(_T("请改变楼梯长度!"));
}
}
UpdateData(FALSE);
}
void CJXZJDlg::OnEnChangeStairStepS()
{
UpdateData();
if (m_sStairStepS == _T("2"))
{
m_n1StepS = (int)((m_dStairMW - m_d2StepW) / m_dSteepW);
m_n2StepS = (int)((m_dStairSW - m_d1StepW) / m_dSteepW);
}
else if (m_sStairStepS == _T("3"))
{
m_n1StepS = (int)((m_dStairMW - m_d2StepW) / m_dSteepW);
m_n2StepS = (int)((m_dStairSW - m_d1StepW - m_d3StepW) / m_dSteepW);
m_n3StepS = (int)((m_dStairMW - m_d2StepW) / m_dSteepW);
}
else if (m_sStairStepS == _T("4"))
{
m_n1StepS = (int)((m_dStairMW - m_d2StepW - m_d4StepW) / m_dSteepW);
m_n2StepS = (int)((m_dStairSW - m_d1StepW - m_d3StepW) / m_dSteepW);
m_n3StepS = (int)((m_dStairMW - m_d2StepW - m_d4StepW) / m_dSteepW);
m_n4StepS = (int)((m_dStairSW - m_d1StepW - m_d3StepW) / m_dSteepW);
}
UpdateData(FALSE);
}
void CJXZJDlg::PreView3d()
{
AcDbObjectId idLayStair = KTSetting::InitLayer(_T("LAY_CSTAIR"), true);
AecDbRectCornerStair* pStair = new AecDbRectCornerStair;
SFSPStair data;
::memset(&data, 0, sizeof(SFSPStair));
GetSFPXStair(data);
pStair->setLayer(idLayStair);
pStair->SetSFPXStair(data);
pStair->SetSection(data.dBarSize[0], 0.0);
AcGeVector3d X(AcGeVector3d::kXAxis), Y(AcGeVector3d::kYAxis), Z(AcGeVector3d::kZAxis);
AcGePoint3d ptS = AcGePoint3d::kOrigin + Y * data.dStairSW * .5;
ptS -= X * data.dStairTW * .5;
AcGePoint3d ptE = ptS + AcGeVector3d::kXAxis * 100;
AcDbLine ln;
ln.setStartPoint(ptS);
ln.setEndPoint(ptE);
pStair->SetBaseCurve(&ln);
pStair->GetSpecialtyData()->SetAt(KEY_2DSTYLE, 0);
//CoreTools::CloneAndAddToModelSpace(pStair);
m_wndViewCtrl.clearAll();
m_wndViewCtrl.init(true);
m_wndViewCtrl.SetOrbitFlag(OBF_PAN | OBF_ZOOM | OBF_COTE);
AcDbExtents ext;
pStair->getGeomExtents(ext);
m_wndViewCtrl.InitFromCurrentView3D(ext, true);
AcGeMatrix3d mat;
mat.setToScaling(.1, AcGePoint3d::kOrigin);
//pStair->transformBy(mat);
m_wndViewCtrl.Add(pStair);
pStair->close();
m_wndViewCtrl.view()->invalidate();
m_wndViewCtrl.Invalidate();
m_wndViewCtrl.RedrawWindow();
}
void CJXZJDlg::PreView2d()
{
AcDbObjectId idLayStair = KTSetting::InitLayer(_T("LAY_CSTAIR"), true);
AecDbRectCornerStair* pStair = new AecDbRectCornerStair;
SFSPStair data;
::memset(&data, 0, sizeof(SFSPStair));
GetSFPXStair(data);
pStair->setLayer(idLayStair);
pStair->SetSFPXStair(data);
pStair->SetSection(data.dBarSize[0], 0.0);
AcDbLine ln;
ln.setStartPoint(AcGePoint3d::kOrigin);
ln.setEndPoint(AcGePoint3d::kOrigin + AcGeVector3d::kYAxis * 100);
CoreTools::CloneAndAddToModelSpace(&ln);
pStair->SetBaseCurve(&ln);
pStair->GetSpecialtyData()->SetAt(KEY_2DSTYLE, 0);
m_wndViewCtrl.clearAll();
m_wndViewCtrl.init(true);
m_wndViewCtrl.SetOrbitFlag(OBF_PAN | OBF_ZOOM | OBF_COTE);
AcDbExtents ext;
pStair->getGeomExtents(ext);
m_wndViewCtrl.InitFromCurrentView2D(ext, true);
m_wndViewCtrl.Add(pStair);
pStair->close();
m_wndViewCtrl.view()->invalidate();
m_wndViewCtrl.Invalidate();
m_wndViewCtrl.RedrawWindow();
}
bool CJXZJDlg::GetSFPXStair(SFPXStair &data) const
{
data.dH = _ttof(m_sH); //楼梯高度
data.nSteepS = _ttoi(m_sStairStepS);//跑步数
data.dSteepH = m_dSteepH; //踏步高度
data.dSteepW = m_dSteepW; //踏步宽度
data.dStairTW = m_dStairSW; //长度
data.dStairSW = m_dStairMW; //宽度
data.bSymmetry = m_bSymmetry; //是否对称
data.n1SteepS = m_n1StepS; //一跑步数
data.d1SteepW = m_d1StepW; //一跑段宽
data.nSteep2s = m_n2StepS; //二跑步数
data.d2SteepW = m_d2StepW; //二跑段宽
data.nSteep3s = m_n3StepS; //三跑步数
data.d3SteepW = m_d3StepW; //三跑段宽
data.nSteep4s = m_n4StepS; //四跑步数
data.d4SteepW = m_d4StepW; //四跑段宽
data.dStairTW = m_dStairSW; //梯间宽度
data.dStairSW = m_dStairMW; //梯段宽度
data.dStairMW = m_dStairMW; //无
data.nSSteeps = m_nSSteeps; //剖切步数
data.dWell = 100; //井宽 100 国标
data.bLBeam = m_bLBeam; //内边梁
data.bRBeam = m_bRBeam; //外边梁
data.nUpSide = m_nUpSide; //上梯位置
data.nSteepAlign = 0; //踏步取齐
data.nFloorShow = m_nFloorShow; //层显示类型
data.bDimUpstair = m_bDimUpstair; //标注上楼方向
//平台参数 不用
data.nRestShape = 0; //休息平台形状
data.dRestPtW = 1200; //休息平台宽
data.dStiffnW = 100; //加强筋宽 钢梯无效
data.dStiffnH = 100; //加强筋高 钢梯无效
data.dSbThick = 100; //平台板厚
data.bOutSideHRail = m_bOutSideHRail;//有外侧扶手
data.bOutSideRail = m_bOutSideRail; //有外侧栏杆
data.bInsideRail = m_bInsideRail; //有内侧栏杆
data.dBomEl = m_dBomEl; //楼梯底部标高
//扶手护栏
data.dBarH = m_dBarH; //扶手高度
data.dGarSize[0] = m_dBarSw;
data.dGarSize[1] = m_dBarSh;
data.dGarExt = m_dGarExt; //转角扶手伸出 60 默认 上端
data.dZGarExt = m_dZGarExt; //层间伸出 60 默认 下端
data.nGShape = 1; //截面类型0 Rect 1 C
_tcscpy(data.szGarMat, m_sGarMat); //材质
data.dBarSp = 600; //护栏间距 预留
data.dBarSize[0] = m_dRailSw; //护栏截面尺寸
data.dBarSize[1] = m_dRailSh;
data.dBarSide = m_dBarSide; //扶手距边
data.nBShape = m_nRailCirSec; //护栏截面类型0 Rect 1 C
_tcscpy(data.szBarMat, m_sBarMat); //材质
return true;
}
void CJXZJDlg::SetSFPXStair(const SFPXStair& data)
{
m_sH.Format(_T("%lf"), data.dH); //楼梯高度
m_sStairStepS.Format(_T("%d"), data.nSteepS); //跑步数
m_dSteepH = data.dSteepH; //踏步高度
m_dSteepW = data.dSteepW; //踏步宽度
m_dStairSW = data.dStairTW; //长度
m_dStairMW = data.dStairSW; //宽度
m_bSymmetry = data.bSymmetry; //是否对称
m_n1StepS = data.n1SteepS; //一跑步数
m_d1StepW = data.d1SteepW; //一跑段宽
m_n2StepS = data.nSteep2s; //二跑步数
m_d2StepW = data.d2SteepW; //二跑段宽
m_n3StepS = data.nSteep3s; //三跑步数
m_d3StepW = data.d3SteepW; //三跑段宽
m_n4StepS = data.nSteep4s; //四跑步数
m_d4StepW = data.d4SteepW; //四跑段宽
m_dStairSW = data.dStairTW; //梯间宽度
m_dStairMW = data.dStairSW; //梯段宽度
m_dStairMW = data.dStairMW; //无
m_nSSteeps = data.nSSteeps; //剖切步数
m_bLBeam = data.bLBeam; //内边梁
m_bRBeam = data.bRBeam; //外边梁
m_nUpSide = data.nUpSide; //上梯位置
m_nFloorShow = data.nFloorShow; //层显示类型
m_bDimUpstair = data.bDimUpstair; //标注上楼方向
m_bOutSideHRail = data.bOutSideHRail; //有外侧扶手
m_bOutSideRail = data.bOutSideRail; //有外侧栏杆
m_bInsideRail = data.bInsideRail; //有内侧栏杆
m_dBomEl = data.dBomEl; //楼梯底部标高
//扶手护栏
m_dBarH = data.dBarH; //扶手高度
m_dBarSw = data.dGarSize[0];
m_dBarSh = data.dGarSize[1];
m_dGarExt = data.dGarExt; //转角扶手伸出 60 默认 上端
m_dZGarExt = data.dZGarExt; //层间伸出 60 默认 下端
m_nRailCirSec = data.nGShape; //截面类型0 Rect 1 C
m_sGarMat = data.szGarMat; //材质
m_dRailSw = data.dBarSize[0]; //护栏截面尺寸
m_dRailSh = data.dBarSize[1];
m_dBarSide = data.dBarSide; //扶手距边
m_nRailCirSec = data.nBShape; //护栏截面类型0 Rect 1 C
m_sBarMat = data.szBarMat; //材质
}