Linux下基於.NET5開發CAX應用
<<.NET5下的三維應用程式開發>>一文中介紹了如何在.NET5下使用AnyCAD開發應用程式。相比.NET4.x,.NET5一大進步便是可以跨平台,即可以在Linux、Mac也可以使用,實現程式碼最大程度的復用。本文介紹如何在Linux下基於.NET5來開發三維應用程式。
1. 環境準備
1.1 下載按照包
鏈接: //pan.baidu.com/s/1bygB0ugyiUYLaS4dY3nW4Q
提取碼: 95q8
以上鏈接包括.NET5 SDK for Linux和AnyCAD Rapid .NET5 SDK for Linux。
1.2 .NET5 SDK
解壓dotnet-sdk-5.0.100-linux-x64.tar.gz到 $HOME/dotnet/,即在$HOME/dotnet/目錄下可以找到dotnet可執行程式。可執行程式dotnet是編譯.NET程式的入口。
p.s. 這裡使用的是免安裝方式,你也可以參考微軟官方教程安裝.NET5 SDK。
1.3 解壓AnyCAD SDK
解壓anycad.rapid.NET.linux.zip 到某一目錄,裡面包含示常式序和SDK
2. 編譯和運行
SDK里已經準備好了build的shell腳本,在終端運行即可:
./build.sh
在bin目錄即可看到編譯好的HiCAD可執行程式。
在終端運行之:
./bin/Debug/HiCAD
可以看到運行介面:
3. 項目結構
項目主要有工程文件和程式碼文件組成。
3.1 HiCAD.csproj
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net5.0</TargetFramework>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
<OutputPath>./bin/$(Configuration)</OutputPath>
</PropertyGroup>
<ItemGroup>
<Reference Include="AnyCAD.Foundation.NET5">
<HintPath>./bin/$(Configuration)/AnyCAD.Foundation.NET5.dll</HintPath>
</Reference>
</ItemGroup>
</Project>
3.2 Program.cs
using AnyCAD.Foundation;
using System;
namespace anycad.test
{
class Program
{
static void Main(string[] args)
{
//初始化程式
GlobalInstance.Initialize();
//創建三維窗口
WindowCanvas canvas = new WindowCanvas("AnyCAD .NET5", true);
canvas.Initialize(0, 600, 400);
//創建個盒子
var box = ShapeBuilder.MakeBox(GP.XOY(), 10,20,30);
var node = BrepSceneNode.Create(box, null, null, 0.01);
var scene = canvas.GetContext().GetScene();
scene.AddNode(node);
// 顯示窗口
canvas.Run();
//釋放資源
canvas.Destroy();
GlobalInstance.Destroy();
}
}
}
小結
在Linux下使用.NET5目前比較遺憾的是還不能使用WinForms和WPF。
本文創建的程式比較簡單,關於AnyCAD Rapid SDK的更高級用法可以參考在線文檔。