修改已有图元图层
求助各位大侠:问题一:如何对图中已有图元按照类别(如:标注、填充、单行文本、多行文本)自动归到相应的图层中去?
liap如何写?
问题二:图中比如有几个图层关闭状态,另外几个打开状态,如何用lisp将图层反向显示,即打开的关闭,关闭的打开状态?
在线期待,谢谢
本帖最后由 Andyhon 于 2011-4-20 14:22 编辑
问题一
(setq ss (ssget "X" '((0 . "HATCH"))))
(command "chprop" ss "" "La" "填充" "")
问题二
图层关闭状态 ?
指的是 off / freeze or 混合状态?
谢谢楼上,
问题二是指,当前打开图纸状态(有部分图层是打开的,也有关闭的),然后要一次把原来关闭的打开,原来打开的关闭。 ;;;反向锁定图层
;;;by x_s_s_1@163.com
(vl-load-com)
(defun ToF (msg)
(if (= msg :vlax-true)
(setq msg :vlax-false)
(setq msg :vlax-true)
) ;_ 结束if
) ;_ 结束defun
(defun c:fs ()
(setq AcadObject (vlax-get-acad-object)
AcadDocument (vla-get-ActiveDocument AcadObject)
mSpace (vla-get-ModelSpace AcadDocument)
) ;_ 结束setq
(setq LayerSel (vla-get-Layers AcadDocument))
(vlax-for LayerObj LayerSel
(vla-put-Lock LayerObj (ToF (vla-get-Lock LayerObj)))
) ;_ 结束vlax-for
(princ)
) ;_ 结束defun
;;;反向显示图层
;;;by x_s_s_1@163.com
(defun c:fx ()
(setq AcadObject (vlax-get-acad-object)
AcadDocument (vla-get-ActiveDocument AcadObject)
mSpace (vla-get-ModelSpace AcadDocument)
) ;_ 结束setq
(setq LayerSel (vla-get-Layers AcadDocument))
(vlax-for LayerObj LayerSel
(vla-put-layeron LayerObj (ToF (vla-get-layeron LayerObj)))
) ;_ 结束vlax-for
(princ)
) ;_ 结束defun
谢谢楼上两位,我试下 来论坛看帖真是学到不少东西
页:
[1]