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

96 lines
2.2 KiB
C++

#include "stdafx.h"
#include "PNGDlg.h"
#include "CoreTools.h"
#include "PipelineTools.h"
#include "AecDbSludgePipe.h"
IMPLEMENT_DYNAMIC(PNGDlg, CDialogEx)
PNGDlg::PNGDlg(CWnd* pParent /*=nullptr*/)
: CDialog(IDD_PNG_DLG, pParent)
, m_dOuter(200.)
, m_dT(5.)
, m_dHoldR(20.)
, m_dHoldSp(150.)
, m_dHeadSp(100.)
, m_dTailSp(100.)
{
}
PNGDlg::~PNGDlg()
{
}
void PNGDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Text(pDX, IDC_EDIT1, m_dOuter);
DDV_MinMaxDouble(pDX, m_dOuter, 0.1, 1000000);
DDX_Text(pDX, IDC_EDIT2, m_dT);
DDV_MinMaxDouble(pDX, m_dT, 0.1, 1000000);
DDX_Text(pDX, IDC_EDIT3, m_dHoldR);
DDV_MinMaxDouble(pDX, m_dHoldR, 0.1, 1000000);
DDX_Text(pDX, IDC_EDIT4, m_dHoldSp);
DDV_MinMaxDouble(pDX, m_dHoldSp, 0.1, 1000000);
DDX_Text(pDX, IDC_EDIT5, m_dHeadSp);
DDV_MinMaxDouble(pDX, m_dHeadSp, 0.1, 1000000);
DDX_Text(pDX, IDC_EDIT6, m_dTailSp);
DDV_MinMaxDouble(pDX, m_dTailSp, 0.1, 1000000);
}
BOOL PNGDlg::OnInitDialog()
{
CDialog::OnInitDialog();
GET_CACHE(PNGDlg, %f%f%f%f%f%f, &m_dOuter, &m_dT, &m_dHoldR, &m_dHoldSp, &m_dHeadSp, &m_dTailSp);
UpdateData(false);
return 0;
}
BEGIN_MESSAGE_MAP(PNGDlg, CDialog)
ON_BN_CLICKED(IDOK, &PNGDlg::OnBnClickedOk)
END_MESSAGE_MAP()
void PNGDlg::OnBnClickedOk()
{
UpdateData(true);
GET_CACHE(PNGDlg, %f%f%f%f%f%f, m_dOuter, m_dT, m_dHoldR, m_dHoldSp, m_dHeadSp, m_dTailSp);
CDialog::OnOK();
}
void PNGDlg::Start()
{
CAcModuleResourceOverride myResources;
PNGDlg dlg;
if (dlg.DoModal() != IDOK) return;
if (dlg.m_dOuter <= dlg.m_dT)
{
AfxMessageBox(_T("壁厚不能大于外径!"));
return;
}
ads_point adspt1, adspt2;
if (acedGetPoint(NULL, _T("选择起点:"), adspt1) != RTNORM) return;
if (acedGetPoint(adspt1, _T("选择终点:"), adspt2) != RTNORM) return;
AecDbSludgePipe *p = new AecDbSludgePipe();
p->SetBaseCurve(asPnt3d(adspt1), asPnt3d(adspt2));
p->SetHeadSpa(dlg.m_dHeadSp);
p->SetTailSpa(dlg.m_dTailSp);
p->SetOuter(dlg.m_dOuter);
p->SetInner(dlg.m_dOuter - dlg.m_dT);
p->SetSpacing(dlg.m_dHoldSp);
p->SetHoldD(dlg.m_dHoldR);
p->AppendAngle(1.25 * PI);
p->AppendAngle(1.75 * PI);
p->InitPipeBase();
CoreTools::AddToModelSpace(p);
}