本帖最后由 落魄山人 于 2022-4-8 19:36 编辑
各位同学,还在为不停的封装基础函数苦恼吗?还在为实现一个功能却发现要将桌子提供的api组装成可复用的类库吗?
那么为什么就不能只专注于功能的实现,而不是要一次又一次的去封装基础的类库呢?
现在,重磅推出非狐的cad工具类库--NFox--。我们要做到减少老手时间,减少新手痛苦,用了NFox类库,从此你腰也不酸了,腿也不疼了,一口气写100行代码也不累了。
那么这个类库到底有多好用呢?到底如何使用呢?到底能在哪来下载到dll呢?
这是工具类库项目主页的一个帮助示例:
- 打开vs,新建一个standard类型的类库项目。(这里是重点啊,必须得是standard类型的项目)
- 右键项目文件,选择管理nuget程序包。
- 在nuget程序里搜索AutoCAD.NET,根据你的cad的版本选择包的版本号,然后点击安装。这里要注明的是:
- AutoCAD.NET包是有桌子公司提供的,但是最低的版本为autocad2015以上,因此要开发autocad2015以下的版本的程序,请安装个人发布的程序包。
- 经过测试,对于cad2013版本以上,可以直接使用net4.0进行开发,cad2012一下可以使用net3.5开发。同时经不完全测试,4.0以上的版本在高版本编译后可以用在低版本上。
- 本内裤采用net4.5开发,主要依据为桌子公司提供的AutoCAD.NET包最低为net4.5版本的。
- 在nuget程序里搜索NFox,直接选择最新的版本,然后点击安装。可以只安装NFox,因为NFox依赖AutoCAD.NET,nuget会自动将依赖安装,但是安装将是最新的版本,所以如果要控制版本的话,可以在项目文件里进行版本号指定。
- 添加引用
- using Autodesk.AutoCAD.ApplicationServices;
- using Autodesk.AutoCAD.EditorInput;
- using Autodesk.AutoCAD.Runtime;
- using Autodesk.AutoCAD.Geometry;
- using Autodesk.AutoCAD.DatabaseServices;
- using NFox.Cad;
- [CommandMethod("hello")]
- public void Hello() {
- using (DBTransaction tr = new DBTransaction()) {
- Line line1 = new Line(new Point3d(0, 0, 0), new Point3d(1, 1, 0));
- Circle circle = new Circle(new Point3d(0, 0, 0), Vector3d.ZAxis, 10);
- var btr = tr.OpenCurrentSpace(); tr.AddEntity(btr, line1, circle);
- }
- }
这段代码就是在cad的当前空间内添加了一条直线和一个圆。
- F6生成,然后打开cad,netload命令将刚刚生成的dll加载。
- 运行hello命令,然后缩放一下视图,现在一条直线和一个圆已经显示在屏幕上了。
还等什么,项目已经开源,如果你是新手,不用考虑直接使用,快速入门。如果你是老手,你可以提交issue。NFOX已暂停开发,全部转入nfox的重构版本IFoxCAD。。
项目地址:IFoxCAD: 基于.NET的Cad二次开发类库 (gitee.com)
最后这个项目其实是版主雪山飞狐的哦。。。。非狐版主出品,必属精品。。。。
|