您的位置:首页 > 运维架构

VC2010 创建 MFC Open Cascade 单文档 3d view

2012-02-18 21:21 615 查看
参照:

2d view 单文档

http://blog.csdn.ofcdn.net/augusdi/article/details/5642368

occ 之hello world

/article/3598270.html

参照1

编译成功但是并不会出现box

原因1少创建view

在这里创建view

void CoccDemo5View::OnInitialUpdate()
{
CView::OnInitialUpdate();

// TODO: Add your specialized code here and/or call the base class
CoccDemo5Doc* pDoc = GetDocument();
_View = pDoc->GetViewer()->CreateView();
Handle_AIS_InteractiveContext myAISContext = pDoc->GetAIS();
Handle_WNT_Window hWindow;
hWindow = new WNT_Window(((CoccDemo5App*)AfxGetApp())->GetGraphicDevice(), GetSafeHwnd());

_View->SetWindow(hWindow);
if (!hWindow->IsMapped())
hWindow->Map();

Standard_Integer nWidth = 100, nHeight = 100;
hWindow->Size(nWidth,nHeight);

::PostMessageA(GetSafeHwnd(),WM_SIZE,SIZE_RESTORED,nWidth+nHeight*65536);
}


这一步很重要!

运行起我出现了如下错误

会出现graphic engine initial error,定位出错代码:

try
{
_GraphicDevice = new Graphic3d_WNTGraphicDevice();
}
catch(Standard_Failure)
{
AfxMessageBox(L"Fatal error during graphic initialization",MB_ICONSTOP);
ExitProcess(1);
}


我debug出的原因的是

TKOpenGl.dll 有问题,可能是我编译debug版本的OCClib出现问题

解决的方案,替换次dll

其中v3d中对view的操作大多是照搬OCC demo 的操作,可以运转,但是缺少select模块后期应该添加。

拥有zoom,pan,rotation,功能。

这个小demo算是我的V0.001版吧。

上图:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: