AnyCAD .Net SDK 用户手册 v2013.1

AnyCAD .Net SDK 用户手册

v2013.1

clip_image002[1]

clip_image004[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:

clip_image006[1]

加载完成后:

clip_image008[1]

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对象管理器:

image

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

原文地址:https://www.cnblogs.com/happyqiang/p/5422989.html