布局-选择集
伙计们,以下代码旨在循环浏览每个布局,并将所有文本实体放置在新图层上,如下所示:
“A-TEXT_3;”后跟布局名称。
相反,它将所有文本放置在层“A-text_3;”上,后跟处理的第一个布局名称。
(if (setq s (ssget "_X" '((0 . "TEXT"))))
(progn
(foreach layout (layoutlist)
(setvar 'ctab layout)
(repeat (setq i (sslength s))
(setq e (entget (ssname s (setq i (1- i)))))
(entmod (subst (cons 8 (strcat "A-TEXT_" (getvar 'ctab))) (assoc 8 e) e)) ;_ end of subst
) ;_ end of repeat
) ;_ end of foreach
) ;_ end of progn
) ;_ end of if
我错过了一些简单的事情吗?
干杯 (foreach layout (layoutlist)
(if (setq s (ssget "_X" (list '(0 . "TEXT") (cons 410 layout))))
(repeat (setq i (sslength s))
(setq e (entget (ssname s (setq i (1- i)))))
(entmod (subst (cons 8 (strcat "A-TEXT_" layout)) (assoc 8 e) e))
)
)
)
谢谢李,
我会检查你的密码。
非常感谢。 另一个
(if (setq s (ssget "_X" '((0 . "TEXT")(410 . "~Model"))))
(repeat (setq i (sslength s))
(setq e (entget (ssname s (setq i (1- i)))))
(entmod (subst (cons 8 (strcat "A-TEXT_" (cdr (assoc 410 e)))) (assoc 8 e) e))
(princ)
)
) 这也将起作用:
(cons 410 (apply 'strcat (mapcar '(lambda (x) (strcat x ",")) (layoutlist))))
pBe,你的建议更好-我只是想留下这个作为替代。 伙计们,
谢谢你的回复-我喜欢其他方法!
Grrr-Mapcar和Lamda吓到我了!
有一个特别的时刻,你不需要关心它是如何工作的,只需要知道它做什么:
_$ (cons 410 (apply 'strcat (mapcar '(lambda (x) (strcat x ",")) (layoutlist))))
(410 . "Layout1,Layout2,")
_$
思维敏捷的pBe
谢谢你,LM
页:
[1]