MMS 发表于 2022-7-6 08:59:50

为多台发电机创建列表

我的代码有问题,尤其是创建列表多选。我选择了多个对象,但结果仍然有一个列表。
_$

GETDYNPROPS

<Selection set: 1b>
0
nil
4
_$
有人能解释一下我的代码哪里出了问题吗。
 
;mencari data
(defun getdynprops (obj / v)
(vl-remove-if 'null
   (mapcar '(lambda (x)
             (if (setq v (vlax-variant-value (vla-get-value x)))
             (cons (vla-get-propertyname x) v)))
   (vlax-safearray->list
   (vlax-variant-value
       (vla-getdynamicblockproperties obj)))))
)
;--------------
(vl-load-com)
(setq ss (ssget ))
(setq i 0)
;(setq ssd (ssadd))
(setq LiSS '())
(repeat (sslength ss)
(setq i i)
(setq ename (ssname ss i))
(setq vevo (vlax-ename->vla-object ename))
(setq LVevo (cdr(car(getdynprops vevo))))
(setq LiVevo (cons LVevo LiSS))
(setq i (1+ i))
);repeat

Lee Mac 发表于 2022-7-6 09:53:28

更改:
 

(setq LiVevo (cons LVevo LiSS))至:
 
(setq LiSS (cons LVevo LiSS))
 
然后检查“LiSS”变量的值。
 
不过,请确保将变量本地化!!

MMS 发表于 2022-7-6 10:21:04

 
嗨,李,
 
谢谢你的解释。多恩
页: [1]
查看完整版本: 为多台发电机创建列表