#include "stdafx.h" #include "PQXSDlg.h" #include "AecDbX3dGroup.h" #include "AecDbX3dPart.h" #include "AecDbObjXDataMap.h" IMPLEMENT_DYNAMIC(CPQXSDlg, CDialog) CPQXSDlg::CPQXSDlg(CWnd* pParent /*=NULL*/) : CDialog(CPQXSDlg::IDD, pParent) , m_nPlan(0) , m_nPartRetain(0) { } CPQXSDlg::~CPQXSDlg() { } void CPQXSDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); DDX_Radio(pDX, IDC_RADIO1, m_nPlan); DDX_Radio(pDX, IDC_RADIO4, m_nPartRetain); } BEGIN_MESSAGE_MAP(CPQXSDlg, CDialog) ON_BN_CLICKED(IDOK, &CPQXSDlg::OnBnClickedOk) ON_BN_CLICKED(IDC_RADIO1, &CPQXSDlg::OnBnClickedRadio1) ON_BN_CLICKED(IDC_RADIO2, &CPQXSDlg::OnBnClickedRadio2) ON_BN_CLICKED(IDC_RADIO3, &CPQXSDlg::OnBnClickedRadio3) END_MESSAGE_MAP() void CPQXSDlg::OnBnClickedOk() { UpdateData(); OnOK(); } BOOL CPQXSDlg::OnInitDialog() { CDialog::OnInitDialog(); UpdateData(FALSE); return TRUE; } int CPQXSDlg::GetX3dPart(AecDbX3dPart*& pGroup) { if (pGroup != NULL) { pGroup->RemoveAll3dSolidRec(); } else { pGroup = new AecDbX3dPart; } AcGePoint3d ptOrg; ptOrg.set(0,0,0); pGroup->SetOrgPoint( ptOrg ); pGroup->SetAxis(X,AcGeVector3d::kXAxis); pGroup->SetAxis(Y,AcGeVector3d::kYAxis); pGroup->SetAxis(Z,AcGeVector3d::kZAxis); pGroup->GetSpecialtyData()->SetAt(_T("m_nPlan"),m_nPlan); pGroup->GetSpecialtyData()->SetAt(_T("Dir"),0); pGroup->GetSpecialtyData()->SetAt(_T("m_nPartRetain"),m_nPartRetain); return TRUE; } int CPQXSDlg::GetX3dSolidRecs(AecDbX3dGroup*& pGroup) { if (pGroup != NULL) { pGroup->RemoveAll3dSolidRec(); } else { pGroup = new AecDbX3dGroup; } AcGePoint3d ptOrg; ptOrg.set(0,0,0); pGroup->SetOrgPoint( ptOrg ); pGroup->SetAxis(X,AcGeVector3d::kXAxis); pGroup->SetAxis(Y,AcGeVector3d::kYAxis); pGroup->SetAxis(Z,AcGeVector3d::kZAxis); pGroup->GetSpecialtyData()->SetAt(_T("m_nPlan"),m_nPlan); pGroup->GetSpecialtyData()->SetAt(_T("Dir"),0); pGroup->GetSpecialtyData()->SetAt(_T("m_nPartRetain"),m_nPartRetain); return TRUE; } void CPQXSDlg::OnBnClickedRadio1() { UpdateData(); ChangePartText(); } void CPQXSDlg::OnBnClickedRadio2() { UpdateData(); ChangePartText(); } void CPQXSDlg::OnBnClickedRadio3() { UpdateData(); ChangePartText(); } void CPQXSDlg::ChangePartText() { switch(m_nPlan) { case 0: { GetDlgItem(IDC_RADIO4)->SetWindowText(_T("前部")); GetDlgItem(IDC_RADIO5)->SetWindowText(_T("后部")); break; } case 1: { GetDlgItem(IDC_RADIO4)->SetWindowText(_T("左侧")); GetDlgItem(IDC_RADIO5)->SetWindowText(_T("右侧")); break; } case 2: { GetDlgItem(IDC_RADIO4)->SetWindowText(_T("上部")); GetDlgItem(IDC_RADIO5)->SetWindowText(_T("下部")); break; } default: break; } }