869471067 发表于 2020-4-5 10:52:14

请问为什么(vlax-get-property obj 'hasAttributes)返回的是:vlax-false

如图,想提取块内的各个图元名,写了这个想测试下,但是第三步的(vlax-get-property ent-obj 'hasAttributes)一直都是返回:vlax-false,我对VLax的函数还不太熟,麻烦各位帮我看看这段函数的问题出在哪。

869471067 发表于 2020-4-5 10:52:41


(defun c:tts( )
       (setq ent1(car (entsel "\n请选择一个块")))
       (setq ent-obj (vlax-ename->vla-object ent1))
       (vlax-get-property ent-obj 'hasAttributes);返回Vlax-true表示有属性存在
       (setq Xvar (vla-getattributes ent-obj))
       (setq svar (vlax-variant-value xvar))
       (setq att-obj-list (vlax-safearray->list svar))
)

869471067 发表于 2020-4-5 10:55:04

代码放在上面了。

fangmin723 发表于 2020-4-5 13:43:18

本帖最后由 fangmin723 于 2020-4-5 13:55 编辑

用vlax-for遍历块中图元,我也是新手,也就知道这么多,别问我是怎么知道的,我也不知道http://bbs.mjtd.com/static/image/smiley/qq/face101.gifhttp://bbs.mjtd.com/static/image/smiley/qq/face101.gifhttp://bbs.mjtd.com/static/image/smiley/qq/face101.gif

x_s_s_1 发表于 2020-4-5 13:55:43

嵌套块吧,您自己新建一个有属性的块测试一下不就知道了,或者直接上图

869471067 发表于 2020-4-5 14:26:55

x_s_s_1 发表于 2020-4-5 13:55
嵌套块吧,您自己新建一个有属性的块测试一下不就知道了,或者直接上图

我想我知道问题出在哪了。我的不是属性块。谢谢你的提醒。
页: [1]
查看完整版本: 请问为什么(vlax-get-property obj 'hasAttributes)返回的是:vlax-false