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

  • 相关阅读:
    奇数阶魔方问题
    《DSP using MATLAB》示例9.3
    《DSP using MATLAB》示例9.2
    《DSP using MATLAB》示例9.1
    找个目标很重要
    《DSP using MATLAB》示例Example 8.30
    《DSP using MATLAB》示例Example 8.29
    《DSP using MATLAB》示例Example 8.28
    《DSP using MATLAB》示例Example 8.27
    《DSP using MATLAB》示例Example 8.26
  • 原文地址:https://www.cnblogs.com/happyqiang/p/5422989.html
Copyright © 2011-2022 走看看