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