146 lines
2.8 KiB
C++
146 lines
2.8 KiB
C++
#include "stdafx.h"
|
|
#include "SCDBDlg.h"
|
|
#include "CoreTools.h"
|
|
|
|
|
|
IMPLEMENT_DYNAMIC(CSCDBDlg, CDialog)
|
|
|
|
CSCDBDlg::CSCDBDlg( CWnd* pParent /*=NULL*/)
|
|
: CDialog(CSCDBDlg::IDD, pParent)
|
|
{
|
|
m_nStyle = 0;
|
|
m_dXAngle = 10.0;
|
|
m_dYAngle = 0.0;
|
|
m_dTaperAngle = 60;
|
|
m_dh = 500;
|
|
m_dTH = 1200;
|
|
m_dTAngle = 60;
|
|
m_dH = 1200.0;
|
|
m_sExtrudeDir = _T("1,0,0");
|
|
m_sPolyline = _T("");
|
|
m_nXY = 0;
|
|
m_ptAlign.set(0,0,0);
|
|
m_sOffsetDir = _T("0,0");
|
|
m_dOffset = 0.0;
|
|
}
|
|
|
|
CSCDBDlg::~CSCDBDlg(void)
|
|
{
|
|
}
|
|
|
|
void CSCDBDlg::DoDataExchange(CDataExchange* pDX)
|
|
{
|
|
CDialog::DoDataExchange(pDX);
|
|
DDX_Radio(pDX,IDC_RADIO1,m_nStyle);
|
|
DDX_Radio(pDX,IDC_RADIO6,m_nXY);
|
|
DDX_Text(pDX,IDC_EDIT13,m_dXAngle);
|
|
DDX_Text(pDX,IDC_EDIT14,m_dYAngle);
|
|
|
|
DDX_Text(pDX,IDC_EDIT1, m_dTaperAngle);
|
|
DDX_Text(pDX,IDC_EDIT2, m_sOffsetDir);
|
|
DDX_Text(pDX,IDC_EDIT12,m_dH);
|
|
DDX_Text(pDX,IDC_EDIT15,m_dOffset);
|
|
|
|
DDX_Text(pDX,IDC_EDIT3,m_dh);
|
|
|
|
DDX_Text(pDX,IDC_EDIT16,m_dTH);
|
|
DDX_Text(pDX,IDC_EDIT17,m_dTAngle);
|
|
|
|
DDX_Text(pDX,IDC_EDIT4,m_sExtrudeDir);
|
|
}
|
|
|
|
BEGIN_MESSAGE_MAP(CSCDBDlg, CDialog)
|
|
ON_BN_CLICKED(IDC_BUTTON1, &CSCDBDlg::OnBnClickedButton1)
|
|
ON_BN_CLICKED(IDOK, &CSCDBDlg::OnBnClickedOk)
|
|
ON_BN_CLICKED(IDC_RADIO6, &CSCDBDlg::OnBnClickedRadio6)
|
|
ON_BN_CLICKED(IDC_RADIO7, &CSCDBDlg::OnBnClickedRadio7)
|
|
ON_BN_CLICKED(IDC_RADIO8, &CSCDBDlg::OnBnClickedRadio8)
|
|
ON_BN_CLICKED(IDC_RADIO9, &CSCDBDlg::OnBnClickedRadio9)
|
|
END_MESSAGE_MAP()
|
|
|
|
BOOL CSCDBDlg::OnInitDialog()
|
|
{
|
|
CDialog::OnInitDialog();
|
|
|
|
UpdateData(FALSE);
|
|
|
|
return TRUE;
|
|
}
|
|
|
|
void CSCDBDlg::OnBnClickedButton1()
|
|
{
|
|
EnableWindow(FALSE);
|
|
CWnd* pFrame = acedGetAcadFrame();
|
|
pFrame->EnableWindow(TRUE);
|
|
ShowWindow(SW_HIDE);
|
|
pFrame->SetFocus();
|
|
|
|
ads_point pt1,pt2;
|
|
ads_name ent;
|
|
|
|
int nRes = acedEntSel(_T("\n选择池底板拉伸截面pline线:"),ent,pt1);
|
|
if (nRes == RTNORM)
|
|
{
|
|
//选择中心对齐点
|
|
acedGetPoint(NULL,_T("\n选择中心对齐点:"),pt2);
|
|
|
|
ads_point pt22;
|
|
acdbUcs2Wcs(pt2,pt22,false);
|
|
|
|
m_ptAlign = asPnt3d(pt22);
|
|
|
|
AcDbObjectId id;
|
|
acdbGetObjectId(id,ent);
|
|
|
|
AcDbEntity* pEnt = NULL;
|
|
if ( Acad::eOk == acdbOpenAcDbEntity(pEnt,id,AcDb::kForRead))
|
|
{
|
|
AcDbPolyline* pPl = AcDbPolyline::cast(pEnt);
|
|
if (pPl != NULL)
|
|
{
|
|
CoreTools::PolylineToString(pPl,m_sPolyline,true);
|
|
}
|
|
pEnt->close();
|
|
}
|
|
}
|
|
|
|
pFrame->EnableWindow(FALSE);
|
|
ShowWindow(SW_SHOW);
|
|
EnableWindow(TRUE);
|
|
}
|
|
|
|
void CSCDBDlg::OnBnClickedOk()
|
|
{
|
|
UpdateData(TRUE);
|
|
|
|
OnOK();
|
|
}
|
|
|
|
void CSCDBDlg::OnBnClickedRadio6()
|
|
{
|
|
UpdateData(TRUE);
|
|
m_sExtrudeDir = _T("1,0,0");
|
|
UpdateData(FALSE);
|
|
}
|
|
|
|
void CSCDBDlg::OnBnClickedRadio7()
|
|
{
|
|
UpdateData(TRUE);
|
|
m_sExtrudeDir = _T("0,1,0");
|
|
UpdateData(FALSE);
|
|
}
|
|
|
|
void CSCDBDlg::OnBnClickedRadio8()
|
|
{
|
|
UpdateData(TRUE);
|
|
m_sOffsetDir = _T("1,0");
|
|
UpdateData(FALSE);
|
|
}
|
|
|
|
void CSCDBDlg::OnBnClickedRadio9()
|
|
{
|
|
UpdateData(TRUE);
|
|
m_sOffsetDir = _T("0,1");
|
|
UpdateData(FALSE);
|
|
}
|