Linux下開發基於.NET的三維繪圖程序


很多人可能知道使用.NET Core可以開發跨平台(包括Windows,Linux、MacOS)的App,但知道在Linux下使用.NET Core可以開發三維程序的恐怕就很少了。本文通過借助.NET三維繪圖控件,可以方便地用C#編程語言在Linux下搭建一個集三維建模和三維顯示於一身的.NET Core App。

1 .NET Core環境搭建

Linux下的編輯器推薦使用VS Code。
以Ubuntu20.04為例,搭建開發環境的步驟為:

1.1 配置一下微軟的包服務器

配置一下包服務器

wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb

1.2 下載和安裝SDK:

sudo apt-get update
sudo apt-get install apt-transport-https
sudo apt-get update
sudo apt-get install dotnet-sdk-3.1

1.3 下載和安裝.NET Core運行時

sudo apt-get update
sudo apt-get install apt-transport-https
sudo apt-get update
sudo apt-get install dotnet-runtime-3.1

2 創建一個.NET Core App

在控制台創建一個控制台App

 dotnet new console -o MyFirstApp 

編譯一下:

dotnet build

就可以生成一個可執行程序。接下來我們要基於這個程序增加代碼,來集成AnyCAD .NET Core三維控件。

3 集成AnyCAD .NET Core

3.1 引用程序集

修改csproj文件

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp3.1</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <Reference Include="AnyCAD.Foundation.NetCore">
      <HintPath>netcoreapp3.1/AnyCAD.Foundation.NetCore.dll</HintPath>
    </Reference>
  </ItemGroup>
</Project>

 

 

3.2 添加代碼創建一個長方體

修改program.cs

using AnyCAD.Foundation;
using System;

namespace anycad.netcore.test
{
    class Program
    {
        static void Main(string[] args)
        {
            GlobalInstance.Initialize();

            WindowCanvas canvas = new WindowCanvas("AnyCAD DotNetCore");
            canvas.Initialize(0, 600, 400);

            var box = ShapeBuilder.MakeBox(GP.XOY(), 10,20,30);
            var node = ShapeSceneNode.Create(box, 0.01);
            var scene = canvas.GetContext().GetScene();
            scene.AddNode(node);
            canvas.Run();
            canvas.Destroy();

            GlobalInstance.Destroy();

            Console.WriteLine("Hello World!");
        }
    }
}

 

 

如果想創建更復雜的模型,可以參考AnyCAD github上的例子: https://github.com/anycad/anycad.rapid.net.sample

3.3 編譯運行

效果如下:

 

 
 

總結

隨着硬件國產化、Linux操作系統國產化,CAD/CAE/CAM等三維應用也亟需國產化。基於AnyCAD .NET Core三維控件,借助AnyCAD .NET Core三維控件,也可以快速搭建三維建模和可視化的應用。


免責聲明!

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



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