AnyCAD .Net SDK 用户手册

v2013.1

1. 简介

AnyCAD .Net SDK为.Net4.0开发者提供简单易用的三维建模三维可视化的API。SDK主要由三维建模的API和可视化管理API组成。

AnyCAD 三维建模有以下功能:

l 三维基本体,如点、线、多折线、Spline曲线、圆、椭圆、圆弧、球、长方体(立方体)、圆柱、圆锥等

l 复合体:复合线(wire)、复合体等

l 三维特征操作,如拉伸、扫掠、回转、放样、蒙面等

l 布尔操作:交叉并

所有的API都在AnyCAD.Platform名字空间下。

2. 系统设置

2.1. 添加DLL模块引用

新建或在已有的C#工程中加载DLL引用。

选择加载引用AnyCAD.SDK bin目录下的AnyCAD.Foundation.Net.dll:

加载完成后:

3. 三维可视化

代码详见AnyCAD.Basic示例。

3.1. 系统初始化

初始化AnyCAD SDK和三维可视化窗口。

3.1.1. AnyCAD.Platform.Application

Application为系统初始化类,需要在程序启动的时候创建并初始化。

Platform.Application theApplication = new Platform.Application();

//初始化插件

theApplication.Initialize();

3.1.2. AnyCAD.Platform.View

View为可视化窗口,需要在窗口加载的时候创建。一般需要在Form上创建Panel容器,作为三维可视化的窗口。

Platform.View theView;

Size size = panel3d.Size;

theView = theApplication.Create3dView("OSG", panel3d.Handle.ToInt32(), size.Width, size.Height);

3.2. 三维视图绘制

3.2.1. 常规绘制

在Panel的Paint事件中调用View::Redraw()

private void panel3d_Paint(object sender, PaintEventArgs e)

{

if (theView == null)

return;

theView.Redraw();

}

3.2.2. 自动刷新视图

为窗体添加一个计时器对象,在Tick事件中出发绘制命令

private void timerDraw_Tick(object sender, EventArgs e)

{

theView.RequestDraw();

theView.Redraw();

}

4. 三维建模

4.1. 建模API

三维建模API由BrepTools类实现,每个都返回TopoShape对像。详细的API参考VS对象管理器:

4.2. 模型显示

由BerpTools创建的TopoShape对象,需要转换成PrsNode对象才能在三维视图中显示:

private void ShowTopoShape(TopoShape topoShape, int id)

{

PrsNodeManager nodeManager = theView.GetNodeManager();

Entity entity = new Entity();

entity.SetTopoShape(topoShape);

PrsNode node = nodeManager.CreateSceneNode(entity, id, false);

if (node != null)

{

// 显示

nodeManager.AddSceneNode(node);

}

}

5. 参考资料

l http://www.anycad.net

l https://github.com/anycad/AnyCAD_Sample

AnyCAD .Net SDK 用户手册 v2013.1的更多相关文章

  1. AnyCAD C++ SDK与OpenCASCADE互操作

    AnyCAD SDK有.Net和C++两个版本,使用C++版本的AnyPlatformOcc模块可以实现与OpenCASCADE互操作. C++版本(VS2010 32bit)下载 在AOBridge ...

  2. AnyCAD.NET C#开发CAD软件实践(一)

    免费的AnyCAD.NET发布了!俺喜欢的C#有了大展前途的机会了. 打算用这个框架搭建一套实用的CAD系统,目标是能买出去10套以上. 先看看AnyCAD.NET的自我介绍. http://www. ...

  3. 在Qt中使用AnyCAD三维建模控件

    AnyCAD C++ SDK专为Qt框架增加了AnyPlatformQt.lib模块,在Qt中使用AnyCAD三维建模控件变得十分简单. 下载 Qt高速下载:http://pan.baidu.com/ ...

  4. 在MFC程序中使用AnyCAD图形控件

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

  5. 3D模型文件读写.Net SDK

    AnyCAD .Net/C++ SDK支持多种3D/2D文件格式,比如BREP.STEP.IGES.STL.DXF.3DS.OBJ.FBX.SKP.IFC.DAE……等,根据使用场景提供不同的API. ...

  6. AnyCAD脚本模型

    采用AnyCAD建立的模型, 基于AnyCAD.Net SDK在C#中展示模型:

  7. iOS开发——百度云推送

    由于公司项目是集成的极光推送,详见下一篇博客. 集成百度推送大体相当,最好都参考官方文档集成,官方文档或官方网站教程是最好的博客. 百度Push服务SDK用户手册(iOS版) http://push. ...

  8. [IOT] 自制蓝牙工牌办公室定位系统 (一)—— 阿里物联网平台概览及打通端到云(硬核·干货)

    目录:老少皆宜.超长干货文警告 1.快速入门创建产品 -- 小白,打包带走去吹牛 2.代码分析 -- 老炮,快速了解能用上 2.1 从start.sh分析开发环境如何自动构建 2.2 从sample. ...

  9. Linux下基于.NET5开发CAX应用

    <<.NET5下的三维应用程序开发>>一文中介绍了如何在.NET5下使用AnyCAD开发应用程序.相比.NET4.x,.NET5一大进步便是可以跨平台,即可以在Linux.Ma ...

随机推荐

  1. HDU 3308 LCIS

    题意: U A B: 把第A个数变成BQ A B: 输出[A,B]最长连续上升子序列(注意是连续  相当于子串) 思路:单点更新 ,区间合并几下左边开头最小  和右边结束最大的两个数即可. #incl ...

  2. 最大流 总结&&做题记录

    最近一直很忙,为了节省时间,从今以后的题解会 一个专题 写一篇. 刷了一些题后,有了以下总结: 模型要点: 1.构造流量平衡,在满足流量平衡的情况下,找到要让什么最大. 2.一般用于判断性问题,即所有 ...

  3. ASP.NET使用Razor语法无法正确识别.cshtml文件

    ASP.NET使用WebPage编程的好处之一是可以使用强大的Razor语法, 但初次使用Razor语法会碰到一个比较头疼的问题就是无法直接写一个.cshtml让浏览器去识别,查资料也没有找到相关问题 ...

  4. UITableView使用的一些技巧

    1.如果想自己在视图中加一条线,和UITableView的cell的分割线颜色粗细一样,那么可以: UIView *lineView = [[UIView alloc] initWithFrame:C ...

  5. 说一说vector<bool>

    vector<T>标准库模版类应该是绝大多数c++程序员使用频率比较高的一个类了.不过vector<bool>也许就不那么被程序员所了解.关于vector<bool> ...

  6. [安卓]windows下如何安装Android源码

    本文改写于:http://www.cnblogs.com/skyme/archive/2011/05/14/2046040.html 1.下载并安装git: 在git-scm.com上下载并安装git ...

  7. Spring 核心概念以及入门教程

    初始Spring 在学习Spring之前我们首先要了解一下企业级应用.企业级应用是指那些为商业组织,大型企业而创建并部署的解决方案及应用. 这些大型企业级应用的结构复杂,涉及的外部资源众多,事务密集, ...

  8. Python 基礎 - 數據類型

    標準數據類型 Python3 中有六個標準的數據類型 1 Number(數字) 2 String(字符串) 3 List (列表) 4 Tuple (元組) 5 Sets (集合) 6 Diction ...

  9. SVG裁剪和平移的顺序

    SVG 里为元素添加 clip-path 属性即可做出裁剪效果,添加 transfrom 属性可以平移.旋转元素. 根据需求不同,有两种情况: 先裁剪元素,再把裁剪后的图形平移 先平移元素,再按区域裁 ...

  10. Android-->Genymotion虚拟机(模拟器)的配置

    --> Genymotion 是一套完整的工具,它提供了Android虚拟环境.它简直就是开发者.测试人员.推销者甚至是游戏玩家的福音. 我只能说非常好用,模拟器中顶级,具体好处可以度娘. -- ...