#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); }