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.更改系统功 ...
随机推荐
- 在线动态修改ulimit
前言 系统中有些地方会进行资源的限制,其中的一个就是open file的限制,操作系统默认限制的是1024,这个值可以通过各种方式修改,本篇主要讲的是如何在线修改,生产上是不可能随便重启进程的 实践 ...
- mysql之数据锁
- JPA、Hibernate、Spring-Data-Jpa的本质区别
什么是JPA? 全称Java Persistence API,可以通过注解或者XML描述[对象-关系表]之间的映射关系,并将实体对象持久化到数据库中. 为我们提供了: 1)ORM映射元数据:JPA支持 ...
- .NET 开源工作流: Slickflow流程引擎高级开发(八) -- 审批网关(ApprovalOrSplit)模式的应用
前言:业务流程流转过程中,审批类型的节点是比较常见的,在审批操作中,常见的操作就是就是主管人员对待办事项进行同意或者拒绝.所以网关处理节点,就是需要对这两种审批结果进行预备处理,审批网关是在或分支(O ...
- 巧妙利用Camtasia制作网课
随着互联网的快速发展,网络学习变得非常流行.这种躺在床上就可以获取知识的方法让大家渐渐地都喜欢上了学习,那么我们是否想要了解一下网课的幕后制作呢. 今天我给大家带来的便是巧妙利用Camtasia进行网 ...
- pytest失败重跑
一.说明 平常在做功能测试的时候,经常会遇到某个模块不稳定,偶然会出现一些bug,对于这种问题我们会针对此用例反复执行多次,最终复现出问题来.自动化运行用例时候,也会出现偶然的bug,可以针对单个用例 ...
- LGOJ5022 旅行 noip tg 2018
旅行 标签(空格分隔): noip2018 提高组 今天我给大家带来一份题解. 题目的大大致意思是这样的: $$ 有一颗 树/基环树 求最小遍历顺序 $$ 树的情况自然不必多讲.做一些末端的微处理(将 ...
- 【抓取】6-DOF GraspNet 论文解读
[抓取]6-DOF GraspNet 论文解读 [注]:本文地址:[抓取]6-DOF GraspNet 论文解读 若转载请于明显处标明出处. 前言 这篇关于生成抓取姿态的论文出自英伟达.我在读完该篇论 ...
- Spring Framework 5.0简述
从Spring框架5.0开始,Spring需要JDK 8+ (Java SE 8+),并且已经为JDK 9提供了现成的支持. Spring框架还支持依赖注入(JSR 330)和通用注释(JSR 250 ...
- Mellanox 4036配置
1.前言 内置factory-default 会重置所有参数到出厂设置. 内置reboot.拔电源就是重启. 外置reset就是重置芯片中数据,不会恢复到出厂设置. 2.感受下恢复出厂过程 4036- ...