十行代碼搭建基於.NET6三維應用程序


本文介紹在.NET6環境下如何集成Rapid SDK三維控件,請首先確保已經安裝了Vistual Studio 2022,社區版就夠用了。

1 創建項目

選擇創建Windows窗體應用

給程序起一個酷酷的名字,選一個酷酷的位置:

選一下.NET6

2 配置項目

從nuget.org上或者本地安裝AnyCAD Rapid SDK 2022。

下載鏈接: https://pan.baidu.com/s/1FQQpwjImo-T3thUk5E1sQw
提取碼: 9d86

3 設計界面

給三維界面留個位置,采用經典的所有窗口。右邊用來顯示三維內容。

4 創建三維控件

using AnyCAD.Forms;
namespace WinFormsStarter
{
    public partial class Form1 : Form
    {
        RenderControl mRenderView; 
        public Form1()
        {
            InitializeComponent();
            mRenderView = new RenderControl(this.splitContainer1.Panel2);
        }
    }
}

運行一下:

5 顯示模型

using AnyCAD.Forms;
using AnyCAD.Foundation;

namespace WinFormsStarter
{
    public partial class Form1 : Form
    {
        RenderControl mRenderView; 
        public Form1()
        {
            InitializeComponent();

            mRenderView = new RenderControl(this.splitContainer1.Panel2);
            //構造函數里不能在使用Rapid SDK的其他的API,需要放在Load里面
        }

        // 窗口加載后,創建個球
        private void Form1_Load(object sender, EventArgs e)
        {
            var shape = ShapeBuilder.MakeSphere(new GPnt(0, 0, 0), 10);
            mRenderView.ShowShape(shape, ColorTable.PaleVioletRed);
        }
    }
}

再運行一下:

6 資源釋放

在調試模式下,程序退出的時候在輸出窗口中,你可能會發現這樣的錯誤:

程序“[81560] WinFormsStarter.exe”已退出,返回值為 3221225477 (0xc0000005) 'Access violation'。

這是因為AnyCAD Rapid SDK沒有正確的釋放資源。為保證三維控件資源能夠正確釋放,程序能夠得到正常的返回值,只需要這樣加一下:

namespace WinFormsStarter
{
    internal static class Program
    {
        /// <summary>
        ///  The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main()
        {
            AnyCAD.Foundation.GlobalInstance.Initialize();
            ApplicationConfiguration.Initialize();
            Application.Run(new Form1());
            AnyCAD.Foundation.GlobalInstance.Destroy();
        }
    }
}

7 總結

.NET6為開發者帶來了高效的開發體驗,而AnyCAD Rapid SDK也一樣,通過簡單幾步即可為應用添加三維能力,讓程序顯得高大上!

AnyCAD Rapid SDK的包括三維顯示、造型、STEP/IGES讀取等場景的三維功能,能夠滿足大部分的三維工業軟件應用場景,比如CAD設計、CAE仿真、CAM加工,機器人模擬等,可以應用在建築、機械、電力、化工、自動化等多個領域。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM