关于vla 对象属性的获取
我获取多段线各点坐标时,出现直列问题。画一 LWPOLYLINE
用pe命令的 S 选项后
类型变成 POLYLINE
将其用 vlax-ename->vla-object 转换成 vlx 对象 o1 后成为
#<VLA-OBJECT IAcadLWPolyline 0d1239c4>
其后我用下属方法获取属性,可没有成功,不知什么原因,请各位指教。
(vla-get-Coordinates o1 )
错误: Automation 错误。 类无效
(vla-get-type o1)
错误: ActiveX 服务器返回错误: 未知名称: Type
(vla-get-NumberOfControlPoints o1)
错误: ActiveX 服务器返回错误: 未知名称: NumberOfControlPoints
我的目的是想得到原画 LWPOLYLINE 时输入的各点的坐标。
本帖最后由 Gu_xl 于 2010-12-24 11:30 编辑
得到多段线坐标列表:
(vlax-safearray->list(variant-value(vla-get-coordinates (vlax-ename->vla-object en)))) 本帖最后由 winabcd 于 2010-12-27 11:23 编辑
Gu_xl
你给的方法对于没有处理过的多段线可用,但经过
PE命令,选取用S项改成样条拟合后,再用上述方法,就会报错。我找不出什么原因。
我还试过,
用polyline命令画出我多段线,类型为“LWPOLYLINE”,可以用上述方法,
但用3dpoly事出我多段线,类型为“POLYLINE”,则不行。
不知道是什么错误,今天对上面的代码重新测试,可通过了,我想找到代码的错误,可没找到, 回复 winabcd 的帖子
个人认为:应先判断图元是否具有你想要的属性。
页:
[1]