zoukankan      html  css  js  c++  java
  • 在MFC程序中使用AnyCAD图形控件

    AnyCAD图形控件有.Net版本和C++两个版本,使用C++要比C#稍微繁杂一点。SDK中提供了针对MFC的文档视图的封装,只需改一下几个基类即可。

    准备

    • VS2010
    • 下载C++版本的AnyCAD图形控件:http://pan.baidu.com/s/1c06hmPa

    项目设置

    $(AnyCADSDK)替换为您的工程相对于AnyCAD C++ SDK的位置,您也可以把AnyCADSDK加到环境变量中。

    • 头文件

      $(AnyCADSDK)inc

    • Lib查找目录

           $(AnyCADSDK)lib$(Configuration)

    •   依赖的lib

      AnyPlatformAPI.lib; AnyPlatformMFC.lib

    •   在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工程中。

  • 相关阅读:
    我的第一个项目--总结
    c++中的继承
    指针带来的意想不到的功能紊乱
    一个很难发现的内存泄漏
    我的第一个项目--迭代开发总结
    内存访问冲突问题(非法内存访问)
    Debug Assertion Failed mfc140ud.dll
    javaweb 开发总结五-----servlet开发(一)
    javaweb学习总结四---http协议
    Tomcat服务器学习和使用二·
  • 原文地址:https://www.cnblogs.com/anycad/p/graphics-platform-for-cpp.html
Copyright © 2011-2022 走看看