WfunCharp.CustomEnt.Arch.
$ dotnet add package WfunCharp.CustomEnt.Arch这个包可以帮助cad二次开发人员快速的用C#实现自定义实体实体,不需要学习复杂的C++, 样例代码仓库 由于本包内部使用了C++,所以需要严格版本对应,具体对应关系:
| net版本 | 对应CAD版本 | Rx版本 |
|---|---|---|
| net35 | 2010 | R18 |
| net40 | 2013-2014 | R19 |
| net45 | 2015-2016 | R20 |
| net46 | 2017 | R21 |
| net461 | 2018 | R22 |
| net47 | 2019-2020 | R23 |
| net48 | 2021-2024 | R24 |
仅支持x64,32位暂未有支持计划
protected override void SubDataOut(DataIO data) { base.SubDataOut(data); DataIO dataThis = new DataIO(); // dataThis.SetData(value); data.SetData(dataThis); } protected override void SubDataIn(DataIO data) { base.SubDataIn(data); DataIO dataThis = data.GetData(); // dataThis.GetData(ref value); }
protected override bool SubDraw(DrawEnt mode) { mode.Draw(new Circle() {Center = Center, Radius = Radius }); return true; }
protected override void SubEntList() { ed.WriteMessage($"\n 半径:{Radius}"); }
protected override bool SubEntTransformBy(Matrix3d xform) { Center = Center.TransformBy(xform); return true; }
protected override bool SubEntGetGripPoints(List<Point3d> gripPts) { gripPts.Add(Center); return true; } protected override bool SubEntSetGripPoints(Vector3d offset, int nIndex) { if (0 == nIndex) { Center = Center + offset; } return true; }