在MFC程序中使用AnyCAD三維控件

AnyCAD三維控件有.Net版本和C++兩個版本,使用C++要比C#稍微繁雜一點。SDK中提供了針對MFC的文檔視圖的封裝,只需改一下幾個基類便可。spa

準備

  • VS20103d

  • 下載C++版本的AnyCAD圖形控件:http://pan.baidu.com/s/1c06hmPacode

項目設置

$(AnyCADSDK)替換爲您的工程相對於AnyCAD C++ SDK的位置,您也能夠把AnyCADSDK加到環境變量中。orm

  • 頭文件對象

  $(AnyCADSDK)\inc文檔

  • Lib查找目錄it

       $(AnyCADSDK)\lib\$(Configuration)\io

  •   依賴的libform

  AnyPlatformAPI.lib; AnyPlatformMFC.libclass

  •   在stdafx.h中包含

      #include "View/AnySDK.h"

MFC相關基類修改

  •  CWinApp/CWinAppEx

         把以上的類替換爲AuWinApp<CWinApp>或者AuWinApp<CWinAppEx>,包括cpp文件。

  • CMainFrame:對於多文檔應用CMainFrame的基類改成AuMainFrame<CMDIFrameWnd>;對於單文檔應用基類改成AuMainFrame<CFrameWnd>

  • CView:把須要三維顯示的類替換爲AuView3d,包括cpp文件。

         經過訪問AuView3d的m_View3d成員能夠獲取顯示引擎相關的對象。

使用Ribbon風格的界面

顯示第一個模型

void  CSampleView::OnButtonSphere()
{
     using  namespace  AnyCAD::API;
     auto  sphere = BrepTools().MakeSphere(Vector3(0,0,0),100);
     ShowGeometry(sphere, 101, 1);
}

so far so easy!

注:以上示例代碼包含在SDK隨帶的Sample工程中。

相關文章
相關標籤/搜索