我想要做的是尝试将多个实体转换为 prder 中的 VLA-OBJECTS 以使用它们可用的 Vlisp 函数。我想做的是:
(while (<= masa masas)
(set (read (strcat "off" (itoa masa) )) (cdr (assoc -1 (eval (read (strcat "offset" (itoa masa)))))))
(set (read (strcat "obj" (itoa masa) )) (vlax-ename->vla-object (read (strcat "off" (itoa masa) ))))
(setq masa (+ masa 1))
)
其中 masa 是允许退出 while 循环的计数器,而 masas 是变量限制。在 wy 代码中,while 循环内的第一行和第三行运行良好,但是我试图将每个 ename 转换为 VLA 对象的第二行给了我错误错误参数类型:lentityp OFF1因为在这种情况下,off 从 1 开始,我认为问题不是 read 的大写结果,因为 lisp 不区分大小写,而是我无法解决的类型问题。我也尝试使用 eval 或直接使用 assoc -1 但我并不幸运。