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

105 lines
2.1 KiB
C++

#include "stdafx.h"
#include "KGDGDlg.h"
#include "AcDbX3dSolid.h"
#include "AecDbX3dGroup.h"
extern CString IDCreate();
IMPLEMENT_DYNAMIC(CKGDGDlg, CDialog)
CKGDGDlg::CKGDGDlg(CWnd* pParent /*=NULL*/)
: CDialog(CKGDGDlg::IDD, pParent)
, m_sName(_T("RM6中压开关柜"))
, m_dL(900)
, m_dW(700)
, m_dT(30)
, m_sModel(_T("RM6中压开关柜"))
, m_sProvider(_T("施耐德电气"))
{
}
CKGDGDlg::~CKGDGDlg()
{
}
void CKGDGDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Text(pDX, IDC_EDIT6, m_sName);
DDX_Text(pDX, IDC_EDIT1, m_dL);
DDX_Text(pDX, IDC_EDIT2, m_dW);
DDX_Text(pDX, IDC_EDIT3, m_dT);
DDX_Text(pDX, IDC_EDIT4, m_sModel);
DDX_Text(pDX, IDC_EDIT5, m_sProvider);
}
BEGIN_MESSAGE_MAP(CKGDGDlg, CDialog)
ON_BN_CLICKED(IDOK, &CKGDGDlg::OnBnClickedOk)
END_MESSAGE_MAP()
BOOL CKGDGDlg::OnInitDialog()
{
CDialog::OnInitDialog();
UpdateData(FALSE);
return TRUE;
}
void CKGDGDlg::OnBnClickedOk()
{
UpdateData();
if (m_dL < 10 || m_dW < 10 || m_dT < 10)
{
AfxMessageBox(_T("配电柜尺寸太小!请输入配电柜尺寸!"));
return;
}
OnOK();
}
int CKGDGDlg::GetX3dSolidRecs( AecDbX3dGroup*& pGroup)
{
if (pGroup != NULL)
{
pGroup->RemoveAll3dSolidRec();
}
else
{
pGroup = new AecDbX3dGroup;
}
AcDbX3dSolid* pXSolid = NULL;
AcGePoint3d ptOrg;
ptOrg.set(0,0,0);
AcGeVector3d vtZ = AcGeVector3d::kZAxis;
X3dSolidRec rec;
pXSolid = new AcDbX3dSolid;
pXSolid->Create(AcDbX3dSolid::kBox,ptOrg,vtZ,3,AS_MUNIT(m_dW),AS_MUNIT(m_dT),AS_MUNIT(m_dL));
rec.pXSolid = pXSolid;
rec.bType = AcDb::kBoolUnite;
_tcscpy(rec.szLockId,IDCreate());
pGroup->AddX3dSolidRec(rec);
pGroup->SetOrgPoint( ptOrg );
pGroup->SetAxis(X,AcGeVector3d::kXAxis);
pGroup->SetAxis(Y,AcGeVector3d::kYAxis);
pGroup->SetAxis(Z,AcGeVector3d::kZAxis);
//序列化BIM数据
pGroup->GetSpecialtyData()->SetAt(_T("m_dW"),m_dW);
pGroup->GetSpecialtyData()->SetAt(_T("m_dL"),m_dL);
pGroup->GetSpecialtyData()->SetAt(_T("m_dT"),m_dT);
pGroup->GetSpecialtyData()->SetAt(_T("m_sName"),m_sName);
pGroup->GetSpecialtyData()->SetAt(_T("m_sProvider"),m_sProvider);
pGroup->GetSpecialtyData()->SetAt(_T("m_sModel"),m_sModel);
return TRUE;
}