利用AnyCAD在MFC中对话框中增加三维显示

利用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\0*.iges;*.igs\0All Files\0*.*\0\0)");
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));

猜你喜欢

转载自www.cnblogs.com/silentteen/p/9069850.html