Files
envi-code/SourceCode/Code2026/EarthWormCmd/PQXSDlg.cpp
T
2026-09-28 15:28:50 +08:00

142 lines
2.6 KiB
C++

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