Linux下基于.NET5开发CAX应用
<<.NET5下的三维应用程序开发>>一文中介绍了如何在.NET5下使用AnyCAD开发应用程序。相比.NET4.x,.NET5一大进步便是可以跨平台,即可以在Linux、Mac也可以使用,实现代码最大程度的复用。本文介绍如何在Linux下基于.NET5来开发三维应用程序。
1. 环境准备
1.1 下载按照包
链接: https://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的更高级用法可以参考在线文档。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端