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的更高级用法可以参考在线文档。
Linux下基于.NET5开发CAX应用的更多相关文章
- Linux下配置PHP开发环境
转载于: http://www.uxtribe.com/php/405.html 该站下有系列PHP文章. 在Linux下搭建PHP环境比Windows下要复杂得多.除了安装Apache,PHP等软件 ...
- linux下http服务器开发
linux下http服务器开发 1.mystery引入 1)超文本传输协议(HTTP)是一种应用于分布式.合作式.多媒体信息系统的应用层协议 2)工作原理 1)客户端一台客户机与服务器建立连接后,会发 ...
- Linux下Power Management开发总结
本文作为一个提纲挈领的介绍性文档,后面会以此展开,逐渐丰富. 1. 前言 在 <开发流程>中介绍了PM开发的一般流程,重点是好的模型.简单有效的接口参数.可量化的测试环境以及可独性强的输出 ...
- Linux下使用Eclipse开发Hadoop应用程序
在前面一篇文章中介绍了如果在完全分布式的环境下搭建Hadoop0.20.2,现在就再利用这个环境完成开发. 首先用hadoop这个用户登录linux系统(hadoop用户在前面一篇文章中创建的),然后 ...
- mac 下基于firebreath 开发多浏览器支持的浏览器插件
mac 下基于firebreath 开发多浏览器支持的浏览器插件 首先要区分什么是浏览器扩展和浏览器插件;插件可以像本地程序一样做的更多 一. 关于 firebreath http://www.fir ...
- linux下avr单片机开发:中断服务程序
不管是什么单片机程序,中断总是非常重要的一部分 ,linux 下的avr开发,主要是依靠avr-gcc,以及avr-libc,它们对中断程序的格式要求,与window下的icc-avr以及win-av ...
- Linux教程:如何在Linux下进行C++开发?
Linux是一类Unix计算机操作系统的统称,Linux操作系统的内核的名字也是“Linux”, 在Linux下进行C++开发,需要注意许多问题,比如:减少不必要的编辑动作,减少编辑的时间. Wind ...
- Linux 下wifi 驱动开发(四)—— USB接口WiFi驱动浅析
源: Linux 下wifi 驱动开发(四)—— USB接口WiFi驱动浅析
- Windows10下配置Linux下C语言开发环境
今天为大家介绍如在Windows10下配置Linux下C语言开发环境,首先安装linux子系统:启用开发者模式 1.打开设置 2.点击更新和安全3.点击开发者选项 4.启用开发人员模式 5.更改系统功 ...
随机推荐
- 处理Ceph osd的journal的uuid问题
前言 之前有一篇文章介绍的是,在centos7的jewel下面如果自己做的分区如何处理自动挂载的问题,当时的环境对journal的地方采取的是文件的形式处理的,这样就没有了重启后journal的磁盘偏 ...
- ceph-fuse卡顿无法写入的问题
问题 ceph fuse closing stale session while still operable (Oliver Dzombic) 问题原文: Hi, i am testing on c ...
- [从源码学设计]蚂蚁金服SOFARegistry之程序基本架构
[从源码学设计]蚂蚁金服SOFARegistry之程序基本架构 0x00 摘要 之前我们通过三篇文章初步分析了 MetaServer 的基本架构,MetaServer 这三篇文章为我们接下来的工作做了 ...
- Weevely使用方法以及通信流量分析
Weevely简介 weevely项目地址:点击查看 weevely是一款针对PHP的webshell的自由软件,可用于模拟一个类似于telnet的连接shell,weevely通常用于web程序的漏 ...
- mongo命令行操作
- HBase高级特性、rowkey设计以及热点问题处理
在阐述HBase高级特性和热点问题处理前,首先回顾一下HBase的特点:分布式.列存储.支持实时读写.存储的数据类型都是字节数组byte[],主要用来处理结构化和半结构化数据,底层数据存储基于hdfs ...
- 下载器Folx怎么安装使用
应该使用哪个下载工具?这个如果是Windows上会有无数答案的问题,在Mac上却变得异常的纠结.比如Leech和Aria2,这两款软件,前者功能相对比较简单,后者的配置又稍微有点复杂,很难找到一款相对 ...
- CorelDRAW绘制的优秀人物肖像插画作品
艺术创作 关于作者 Dmitry Demidenko (LINEKING),1986 年出生于俄罗斯的斯帕斯克达利尼.他自幼痴迷于绘画,而且对矢量图形很有天赋.他从一家小型省立印刷公司的小设计师做起, ...
- 找回消失的IDM嗅探下载浮动条的方法
我们之前讲了IDM资源嗅探的下载浮动条的设置方法,然而在有些时候,这个下载浮动条无法正常显示出来,影响了下载体验,这个问题该如何解决呢? 1.安装IDM扩展程序 一般来说,在IDM安装完成后,会在浏览 ...
- WPF有关控件和模板样式设计的微软官方文档
说明 如果你正在使用WPF开发应用程序,相信这篇博客会对你有用.希望你能认真的阅读 正文 此文主要以Button为例进行介绍此文档的组成部分. Button Parts Button控件没有任何命名的 ...