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

  • 相关阅读:
    MapInfo 文件解析
    XML 序列化与反序列化
    GPS定位RTK解决方案
    JS遍历OCX方法
    Oracle 11g的日志路径
    临时表空间
    Oracle Stream 同步数据
    通过merge语句完成表数据同步
    处理机调度
    特征选取方法PCA与LDA
  • 原文地址:https://www.cnblogs.com/anycad/p/graphics-platform-for-cpp.html
Copyright © 2011-2022 走看看