最近有人提到他用.NET在2008版上开发了一款软件,其中使用了获取直线长度的功能(就是利用Line.Length属性),现在想在2007版本下也使用该软件,但是2007版本中.NET编程接口不支持Line.Length属性,如果他自己来实现该方法,觉得工作量比较大,想知道有没有好的解决方法。
AutoCAD ActiveX API里面的AcadLine对象支持Length属性,所以最简单的解决方法就是从.NET程序中调用ActiveX API,将.NET中的Line对象转化成AcadLine对象,获取这个Length属性。
我用C#写了个范例,主要代码如下:
注:你需要在工程中增加对AutoCAD/ObjectDBX Common 17.0 Type Library的参考。
using Autodesk.AutoCAD.Runtime;
using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD