同步操作将从 zixuan203344/NFox 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
非狐的Cad工具类库,提供了大量的函数来简化cad的开发。
诚邀各路朋友参与开发这个cad工具类库。您可以提交代码,可以写注释,可以提交建议,可以写用法示例,可以帮忙宣传。
NFox 工具类库主要分为两个命名空间,一个是跟cad的操作直接相关的命名空间 NFox.Cad,一个是通用性的工具命名空间 NFox.Basal。
由于NFox内裤采用的是standard类型的类库,因此建议采用nuget形式进行安装和使用。
采用standard类型类库和nuget的方式的好处是:
快速入门
打开vs,新建一个standard类型的类库项目。
右键项目文件,选择管理nuget程序包。
在nuget程序里搜索AutoCAD.NET,根据你的cad的版本选择包的版本号,然后点击安装。这里要注明的是:
在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的当前空间内添加了一条直线和一个圆。
天秀的自动加载与初始化
为了将程序集的初始化和通过写注册表的方式实现自动加载统一设置,减少每次重复的工作量,内裤提供了AutoRegAssem
抽象类来完成此功能,只要在需要初始化的类继承AutoRegAssem
类,然后实现Initialize()
和Terminate()
两个函数就可以了。特别强调的是,一个程序集里只能有一个类继承,不管是不是一个命名空间。
public class Test : AutoRegAssem //继承
{
public override void Initialize() //实现接口函数
{
throw new NotImplementedException();
}
public override void Terminate() //实现接口函数
{
throw new NotImplementedException();
}
}
天秀的打开模式提权
由于cad的对象是有打开模式,是否可写等等,为了安全起见,在处理对象时,一般是用读模式打开,然后需要写数据的时候在提权为写模式,然后在降级到读模式,但是这个过程中,很容易漏掉某些步骤,然后cad崩溃。为了处理这些情况,内裤提供了提权类来保证读写模式的有序转换。
using(line.UpgradeOpenAndRun()) //开启对象写模式提权事务
{
//处理代码
} //关闭事务自动处理读写模式
未完待续。。。。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。