刘炎华 发表于 2023-2-18 09:39:18

字符串转变量

本帖最后由 刘炎华 于 2024-7-6 23:40 编辑

请教一下大家,字符串如何转变量?

(setq blkname "A4")
(setq blktag "零件号")

xtjd 发表于 2023-2-18 09:39:19

刘炎华 发表于 2024-7-7 10:58
是这样改吗?
(set (read "blkname") "A4")
(set (read "blktag") "零件号")


(defun getva(en attname / return e test ent)
(setq e en return nil test t)
(while(and test(setq e(entnext e)))
    (setq ent(entget e))
    (cond
      ((not(=(cdr(assoc 0 ent))"ATTRIB"))(setq test nil))
      ((=(cdr(assoc 0 ent))"SEQEND")(setq test nil))
      ((=(cdr(assoc 2 ent))attname)(setq return(cdr(assoc 1 ent))test nil))
    )
)
return
)
(setq ss(ssget "x" '((0 . "INSERT")(2 . "A4"))))
(setq es(vl-remove-if 'listp(mapcar 'cadr(ssnamex ss))))
(setq vs(mapcar '(lambda(x)(getva x "零件号"))es))

刘炎华 发表于 2024-7-6 23:42:24

请教一下大家,字符串如何转变量?

yshf 发表于 2024-7-7 09:41:44

;;; (set (read "字符串")值)
_$(set (read "A4") "零件号")
"零件号"
_$ (set (read "A5") 1234.56)
1234.56

_$ a4
"零件号"
_$ a5
1234.56

刘炎华 发表于 2024-7-7 10:58:16

本帖最后由 刘炎华 于 2024-7-7 11:01 编辑

yshf 发表于 2024-7-7 09:41
;;; (set (read "字符串")值)
_$(set (read "A4") "零件号")
"零件号"

是这样改吗?
(set (read "blkname") "A4")
(set (read "blktag") "零件号")
这个工具原来是要选择属性块对应的标记,想改成指定的块和标记(不用选择了)
页: [1]
查看完整版本: 字符串转变量