修剪变量?
我正在寻找一种方法,可以从我设置的变量中删除一些信息。通过从DXF列表中获取实体的层名称,我将实体的层名称设置为变量,因此它的内容如下:“(8)。”G-GENL-TEXT”),我希望将其精简为:“G-GENL-TEXT”,这样我就可以用它来设置我的当前层。谢谢 答案是CDR函数——虚线对的行为与列表略有不同。
(cdr '(8 . "G-GENL-TEXT"))
原因是允许您通过保留其形式(原子或列表)从关联列表中提取数据:
(cdr '(10 1.0 2.0 3.0))
考虑:
(defun c:FOO (/ eName)
(if (setq eName (car (entsel "\nSelect entity to set layer current: ")))
(setvar 'clayer (cdr (assoc 8 (entget eName))))
)
(princ)
)
... 或者简单地使用LAYMCUR命令。 ......我简直不敢相信我竟然没有想到使用cdr功能来实现这一点。
Blackbox-我稍后在代码中使用了Laycur命令,但我想改用setvar,这样代码就可以更自动地提示用户进行一系列不同的选择。谢谢你的建议。
别担心;每个人都需要不时的提醒。
我只在有利的情况下使用命令。。。我自己通常也更喜欢Setvar方法。
干杯 除了已经提供的优秀信息外,这篇文章可能也很有趣。
页:
[1]