Qselect公司
大家好,如何在lisp中使用QSELECT命令并设置其参数以通过块名称过滤器选择特定块。
干杯
阿里 转而考虑使用ssget。 我有动态块,所以我更喜欢使用QSELECT。 QSelect没有命令行选项。 如果您想自己滚动,可以指定块名并循环选择(删除与vla get effectivename不匹配的部分),然后使用sssetfirst选择剩余部分。
(ssget "_X" (list '(0 . "INSERT") (cons 2 (strcat "`*U*," name))))
这将选择所有动态块和与指定名称匹配的块。从那里,你可以循环(我上面说的)。 几周后,我回到这个话题,我感到困惑!
因此,最好简化情况。
假设我在屏幕上插入了一个动态块,我知道动态块的名称。
如何按名称选择动态块?
干杯
阿里 阿里,
可以使用Autolisp过滤任何需要的实体,但不需要保留选择,因此在选择任何实体后必须执行操作。
例如,这个lisp是我做的,它会要求你选择一个块,它会不停地插入选定的块,直到你点击回车键。试试看。
(defun c:qs (/ a ins)
(setq b (cdr(assoc 2 (entget(car(entsel"\nSelect a Block: "))))))
(while (setq ins (getpoint"\n Insertion point <enter to exit> :"))
(command "_insert" b ins"" "" "" ))
(princ "Written by Tharwat")
(princ))
塔瓦特 你好
你的问题不清楚,它是献给谁的?
请澄清
塔瓦特
当动态块属性被更改时,它将成为匿名块,因此您无法在ssget过滤器中使用其名称来选择它,相反,请使用Alan建议的过滤器,过滤结果集(如果有),并对照EffectiveName属性进行检查。 抱歉在这里掘墓人。我需要能够选择一个块,并让AutoCAD告诉我该块在图形文件中放置了多少次。塔瓦特的常规看起来可以改变来做到这一点,但我不知道如何做到这一点。有人能帮忙吗?
页:
[1]
2