很多人可能知道使用.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 編譯運行
效果如下:
20200526172111.png
總結
隨著硬件國產化、Linux操作系統國產化,CAD/CAE/CAM等三維應用也亟需國產化。基于AnyCAD .NET Core三維控件,借助AnyCAD .NET Core三維控件,也可以快速搭建三維建模和可視化的應用。
作者:三維控件研究
鏈接:
https://www.jianshu.com/p/bf13722fe67d
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯系作者獲得授權并注明出處。