明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2285|回复: 4

[讨论] 关于vla 对象属性的获取

[复制链接]
发表于 2010-12-24 10:22:18 | 显示全部楼层 |阅读模式
我获取多段线各点坐标时,出现直列问题。

画一 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 时输入的各点的坐标。
发表于 2010-12-24 11:29:53 | 显示全部楼层
本帖最后由 Gu_xl 于 2010-12-24 11:30 编辑

得到多段线坐标列表:
(vlax-safearray->list(variant-value(vla-get-coordinates (vlax-ename->vla-object en))))
 楼主| 发表于 2010-12-27 11:09:37 | 显示全部楼层
本帖最后由 winabcd 于 2010-12-27 11:23 编辑

Gu_xl
你给的方法对于没有处理过的多段线可用,但经过
PE命令,选取用S项改成样条拟合后,再用上述方法,就会报错。我找不出什么原因。

我还试过,
用polyline命令画出我多段线,类型为“LWPOLYLINE”,可以用上述方法,
但用3dpoly事出我多段线,类型为“POLYLINE”,则不行。
 楼主| 发表于 2010-12-28 11:10:04 | 显示全部楼层
不知道是什么错误,今天对上面的代码重新测试,可通过了,我想找到代码的错误,可没找到,
发表于 2010-12-28 17:51:53 | 显示全部楼层
回复 winabcd 的帖子

个人认为:应先判断图元是否具有你想要的属性。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-10-2 18:23 , Processed in 0.165414 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表