zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    hadoop streaming 中跑python程序,自定义模块的导入
    许久未更新~~重启~~
    什么叫共轭先验或者共轭分布?
    Call for Papers International Conference for Smart Health (ICSH) 2014
    IEEE/ACM International Conference on Advances in Social Network Analysis and Mining (ASONAM) 2014 Industry Track Call for Papers
    linux 查看文件方法
    Double 保留小数点后N位
    java获取当前日期所在的周的周一,并以周一为一周开始
    Core Data Programming Guid
    UIDatePicker应用 常用属性和方法
  • 原文地址:https://www.cnblogs.com/happyqiang/p/5422989.html
Copyright © 2011-2022 走看看