利用AnyCAD在MFC中对话框中增加三维显示
主要包含以下几步:
1.第一步:配置AnyCAD
配置方法:AnyCAD配置(MFC版)
2.第二步:添加控件
添加一个Picture Control控件,ID为IDC_STATIC_3D,并且把Notify属性设置为True
3.第三步:添加关联变量
使用向导将IDC_STATIC_3D添加一个CStatic类型的关联变量m_window3D
4.第四步:修改关联变量类型
将.h文件中关联变量m_window3D的类型修改为AuWindow3d
5.第五步:显示
如下面为生成一个球的按键响应程序
auto shape = GlobalInstance::brepTools.MakeSphere(Vector3::ZERO, 100);
auto node = m_Window3D.ShowGeometry(shape, ElementId(1));
m_Window3D.GetView().RequestDraw(1);
6.补充:读取IGES文件并显示
在相应按键响应程序中添加如下代码
CFileDialog igesDlg(TRUE);
igesDlg.m_ofn.lpstrTitle = _T("读取IGES文件");
igesDlg.m_ofn.lpstrFilter = _T("IGES(*.iges *.iges;*.igs All Files *.* )");
if (!igesDlg.DoModal())
{
AfxMessageBox(_T("模型导入失败!"));
return;
}
#ifdef UNICODE
USES_CONVERSION;
string path = T2A(igesDlg.GetPathName());
#else
string path = igesDlg.GetPathName().GetBuffer(0);
#endif
TopoDataExchangeIges iges;
TopoShape igesShape = iges.Read(path);
auto node = m_Window3D.ShowGeometry(igesShape, ElementId(2));