malasky 发表于 2010-7-21 18:51:00

[求助]本站的《AutoCAD .NET 开发人员手册》中的疑问

http://www.mjtd.com/helpcenter/netguide/

控制 AutoCAD 环境->控制“图形”窗口->缩放和平移当前视图->操纵当前视图 (Manipulate the Current View)

下的C#代码中:
static void Zoom 函数有一段:


          // Create an extents object using a line          using (Line acLine = new Line(pMin, pMax))          {            eExtents = new Extents3d(acLine.Bounds.Value.MinPoint,                                       acLine.Bounds.Value.MaxPoint);          }
acLine.Bounds这里报错!提示 Line中并不包含Bounds的定义!
我想可能是版本的问题,我是ObjectArx 2007的,Line中的定义与Bounds.Value.MinPoint接近的只有EndPoint了,
于是改成以下:

                         eExtents = new Extents3d(acLine.EndPoint, acLine.StartPoint);

编译通过了,但调试时运行到这时过不去,崩溃了,
改成                  eExtents = new Extents3d(pMin,pMax);并且把using 那一行去掉,
也不行,运行过不去。

问题是:
为什么要用Line来创建Extents 对象呢?,代码从头到尾只有这一处有Line的对象,直接创建Extents(用pMin,pMax)为什么
运行失败了呢?这地方到底是怎么一回事?

还有,是不是这个AutoCAD .NET 开发人员手册是基于比较新的版本,一些对象的定义都更新了,那么用比较旧的版本,有没有其他方法实现呢?

雪山飞狐_lzh 发表于 2010-7-21 21:12:00

zoom的代码以前我应该是贴过的,你搜下吧

cumtjh 发表于 2010-7-23 17:21:00

AutoCAD .NET 开发人员手册

malasky 发表于 2010-7-26 15:56:00

回复:(lzh741206)zoom的代码以前我应该是贴过的,你...

&nbsp;我是按照本站中的 《开发手册》 做的,现在问题没有解决。。。<br/><br/>估计是版本问题<br/><br/>我是CAD2007的,有些函数不存在<br/>

雪山飞狐_lzh 发表于 2010-7-26 16:03:00

<p>开发手册对应的版本是2010,呵呵</p>
<p>当然,大多数代码在2008下应该是可以实现的</p>
<p>Cad的通病,双数版本还是稳定些</p>
页: [1]
查看完整版本: [求助]本站的《AutoCAD .NET 开发人员手册》中的疑问