合并文本样式。。。
我发现了一个LISP,可以将文本样式合并为一个。但正如现在写的那样,我必须为每个文本样式重复代码。是否可以接受此代码并包含其他文本样式?基本上给出一个列表,并将所有内容合并到一个样式中。(defun C:SM ( / CurEnt CurObj CurSet1 CurSet2)
(vl-load-com)
(command "-style" "Existing" "simplex" "" "" "" "no" "no" "no")
(command "-style" "Proposed" "Gill Sans MT" "" "" "" "no" "no")
(setq CurSet1 (ssget "_x" '((0 . "TEXT")(7 . "E100"))))
(if CurSet1
(while (setq CurEnt (ssname CurSet1 0))
(setq CurObj (vlax-ename->vla-object CurEnt))
(ssdel CurEnt CurSet1)
(vla-put-StyleName CurObj "Existing")
(vla-Update CurObj)
)
)
(princ)
)
我知道这不管用,但有点像:
(defun C:SM ( / CurEnt CurObj CurSet1 CurSet2)
(vl-load-com)
(command "-style" "Existing" "simplex" "" "" "" "no" "no" "no")
(command "-style" "Proposed" "Gill Sans MT" "" "" "" "no" "no")
(setq CurSet1 (ssget "_x" '((0 . "TEXT")(7 . "E100, E120, E50, E60, ETC."))))
(if CurSet1
(while (setq CurEnt (ssname CurSet1 0))
(setq CurObj (vlax-ename->vla-object CurEnt))
(ssdel CurEnt CurSet1)
(vla-put-StyleName CurObj "Existing")
(vla-Update CurObj)
)
)
(princ)
)
提前谢谢!! 我没有检查这个过程,只知道在定义wcmatch列表时,空格也是一个字符,因此必须在过滤器列表中消除空格,如下所示:
(defun C:SM ( / CurEnt CurObj CurSet1 CurSet2)
(vl-load-com)
(command "-style" "Existing" "simplex" "" "" "" "no" "no" "no")
(command "-style" "Proposed" "Gill Sans MT" "" "" "" "no" "no")
(setq CurSet1 (ssget "_x" '((0 . "TEXT")(7 . "E100,E120,E50,E60"))))
(if CurSet1 (while (setq CurEnt (ssname CurSet1 0))
(setq CurObj (vlax-ename->vla-object CurEnt))
(ssdel CurEnt CurSet1)
(vla-put-StyleName CurObj "Existing")
(vla-Update CurObj)
)
)
(princ)
)
成功了!非常感谢你。除了那一个,我试了所有的组合。 不客气。
页:
[1]