Skip to content

环境搭建 - .NET4

1 准备工作

1.1 安装 vc_resit 2022

WARNING

若本机已经安装了Visual Studio 2022则可略过此步骤。

在Windows下,AnyCAD Rapid SDK依赖Vistual C++ 运行时库,64位版本需要在客户机上安装vc_redist.x64.exe,32位版本需要安装vc_redist.x86.exe。

TIP

建议vc_redist.x64.exe和vc_redist.x86.exe都安装

微软官方下载地址:

1.2 .NET Framework 4.x

WARNING

AnyCAD支持.NET4.52、.NET4.72、.NET4.8,其他的版本的.NET Framework请升级到对应的高版本。

1.3 下载AnyCAD Rapid .NET SDK

AnyCAD基于nuget包管理工具来管理.NET库,提供两种方式下载:

  • nuget.org

在Visual Studio的nuget包管理器中搜索anycad。

或者打开AnyCAD Nuget Package,下载离线包。

1.4 示例代码下载

使用git直接clone:

直接下载sample示例:

2 添加程序集引用

使用nuget自动添加.NET程序集引用

打开Nuget包管理器

搜索AnyCAD Rapid .NET

下载安装

耐心等待下载完成

TIP

  • 若访问nuget很慢,可以关注anycad微信公众号,下载最新离线版本的Nuget包。
  • 参考《本地Nuget服务器配置》一文配置本地Nuget服务

3 工程项目属性设置

WinForms .NET项目默认为AnyCPU,为满足三维应用程序的高性能要求,建议设置项目首选64位环境,即禁用首选32位选项,如下图所示:

项目属性设置

4 SDK初始化

假如在窗体中增加了一个splitContainer1控件,其右边部分用于显示三维内容。

创建一个Split Pannel用来显示三维控件

只需要在窗体的构造函数InitializeComponent()后添加几行代码,就能把三维控件添加到窗体容器中:

一行代码初始化三维控件:

csharp
    public partial class MainForm : Form
    {
        RenderControl mRenderView;
        public MainForm()
        {
            InitializeComponent();

            mRenderView = new RenderControl(this.splitContainer1.Panel2);
            // 这里不能调用AnyCAD其他的API
        }
        ...
    }

TIP

目前只支持使用代码动态添加控件到窗体中,不支持直接从toolbox中添加。

初始化和释放控件占用的全局资源:

csharp
    static class Program
    {
        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main()
        {
            // 初始化
            AnyCAD.Foundation.GlobalInstance.Initialize();
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new MainForm());
            AnyCAD.Foundation.GlobalInstance.Destroy();
        }
    }

至此,可以编译和运行程序,此时应该可以看到AnyCAD的三维渲染界面:

初始化显示界面

5 导入STEP模型验证

在File菜单上增加Open菜单项,增加响应函数:

csharp

        private void stepToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            OpenFileDialog dialog = new OpenFileDialog();
            dialog.Filter = "STEP (*.stp;*.step)|*.stp;*.step";
            if (dialog.ShowDialog() != DialogResult.OK)
                return;

            var shape = ShapeIO.Open(dialog.FileName);
            if (shape == null)
                return;

            mRenderView.ShowShape(shape, Vector3.LightGray); // 用灰白色来显示模型

            mRenderView.ZoomAll(); // 把模型缩放到合适位置
        }

打开一个模型测试一下:

初始化显示界面

6 小结

通过引入AnyCAD程序集、设置项目属性、初始化控件三步,即可完成WinForms与AnyCAD三维控件集成。 再结合ShapeIO就可打造一个能够浏览STEP和IGES模型的CAD Viewer了。

7 延申阅读


上海图无形科技有限公司旗下产品
Copyright © 2013-2024 AnyCAD