导航:首页 > 五金知识 > 图层控制工具箱lisp

图层控制工具箱lisp

发布时间:2023-01-24 08:50:50

⑴ CAD如何利用lisp单开打开几个想要的图层,其余隐藏

CAD自带的图层隔离LAYISO功能比较接近你的需求,或者你用图层漫游LAYWALK试试

⑵ 控制图层小灯泡的lisp语言

用一行语句
(command "layer" "off" "图层名" "")
就可以关闭图层,其中的”图层名“是要关闭的图层名称,注意关闭当前层要加多"y"
(command "layer" "off" "图层名" "y" "")
打开图层用下面的语句
(command "layer" "on" "图层名" "")

⑶ CAD lisp代码图层控制

(setqchklay(tblsearch"layer""圆圈"))
(if(=chklaynil)(command"layer""n""圆圈""c""3""圆圈"""));;查找图层,如果没有,就创建这个图层,颜色绿色。

⑷ CAD图层LISP命令待优化

(defunC:XG(/k1kw1objtc1)
(setvar"cmdecho"0)
(setvar"blipmode"0)
(if(nullvlax-mp-object)(vl-load-com))
(if(setqtc1(entsel" 请选择参考图层或默认为当前图层"))
(setqtc1(cdr(assoc8(entget(cartc1)))));选择的对象为参考图层
(setqtc1(getvar"clayer"))
)
(if(setqkw1(ssget));选择对象
(progn
(while(setqk1(ssnamekw10))
(setqkw1(ssdelk1kw1))
(setqobj(vlax-ename->vla-objectk1))
(vla-put-layerobjtc1)
;(vla-put-layerobj"1-A建筑墙体");修改对象图层为"1-A建筑墙体"
);while
)
)
(princ)
)
  1. 上面的程序是选择对象的图层为参考图层

  2. 如果不选择对象,就默认为当前图层。

⑸ CAD快速切换图层LISP代码问题

(defun YH_chlayer (YH_layer / YH_S)
(if (null (tblsearch "LAYER" YH_layer))
(entmake (list
'(0 . "LAYER")
'(100 . "AcDbSymbolTableRecord")
'(100 . "AcDbLayerTableRecord")
(cons 2 YH_layer) ;图层名称
'(70 . 0) ;图层状态
'(62 . 7) ;图层颜色
'(6 . "bylayer") ;图层线型
)
)
)
(setq YH_S (cadr (ssgetfirst)))

(setq ent (ssget)) 就加这一句就行了

(if YH_S

(command "CHPROP" YH_S "" "la" YH_layer "c" "bylayer" "")
(setvar "clayer" YH_layer)
)
(princ)
)

⑹ CAD里怎么用LISP调出图层管理器中的图层过滤器,并且批量更改过滤出来的图层颜色、冻结状态

AcadDoc.layers.Count----得到图中所有的图层 的总层数
遍历所有的层
某一层 LLL=AcadDoc.layers.item i------也就是得到第i层
用--LLL.Name----得到某一层的层名
通过比较 如果该层正是 你想要改颜色的那个 层,那就用 LLL.TureColor ---来设置层的颜色
------------------对了,前提是图中所有图元的颜色都是"ByLayer"--也就是“随层”

⑺ 求一个cad 图层锁定和解锁的lisp命令

在百思论坛上找到的,用AutoCAD2008自带的Visual LISP编辑器存入,并用加载应用程序运行过,代码如下
laymod.lsp
;__________________________
;解决R14“bonus”工具的移植
;图层管理工具
;-------------------------------------------
;图层对象选择,将标注归入dim层,文字归入txt层
;___________________________________________
(defun C:laymod(/ lm_ssd lm_sst)
(if (not (tblsearch "layer" "DIM"))
(command "-layer" "n" "DIM" "c" "1""DIM"""));endif
(if (not (tblsearch "layer" "TXT"))
(command "-layer" "n" "TXT" "c" "1""TXT"""));endif
(setq lm_ssd (ssget "X" '((0 . "DIMENSION")))
lm_sst (ssget "X" '((-4 . "<or")(0 . "TEXT")(0 . "MTEXT")(-4 . "or>"))));endsetq
(if lm_ssd (command "chprop" lm_ssd "" "la" "DIM"""))
(if lm_sst (command "chprop" lm_sst "" "la" "TXT"""))
);end defun
;-------------------------------------
;图层孤立显示,通过选择对象单显某图层
;_____________________________________
(defun C:layiso(/ l9_ss l9_ent l9_lay ii)
(setq l9_ss "" ii 0)
(princ "\n选择要保留显示的图层:")
(setq l9_ss (ssget))
(if l9_ss (command "-layer""off""*""y"""))
(repeat (sslength l9_ss)
(setq l9_ent (entget (ssname l9_ss ii)))
(setq l9_lay (cdr (assoc 8 l9_ent)) ii (1+ ii))
(command "-layer""on" l9_lay "")
);end repeat
);end defun layiso
;--------------------------
;打开所有图层
;__________________________
(defun C:layon()(command "-layer""on""*"""))
;--------------------------
;解除所有图层锁定
;__________________________
(defun C:layul()(command "-layer""u""*"""))
;--------------------------
;解除所有图层冻结
;__________________________
(defun C:layuk()(command "-layer""t""*"""))
;--------------------------
;通过选择解除图层锁定
;__________________________
(defun C:layulk(/ l9_ss l9_ent l9_lay)
(setq l9_ss (entsel "\n选择要解锁的图层:"))
(while l9_ss
(setq l9_ent (entget (car l9_ss)))
(setq l9_lay (cdr (assoc 8 l9_ent)))
(command "layer""u" l9_lay"")
(setq l9_ss (entsel "\n选择要解锁的图层:"))
);end while
);end defun
;--------------------------
;通过选择锁定图层
;__________________________
(defun C:laylck(/ l9_ss l9_ent l9_lay)
(setq l9_ss (entsel "\n选择要锁定的图层:"))
(while l9_ss
(setq l9_ent (entget (car l9_ss)))
(setq l9_lay (cdr (assoc 8 l9_ent)))
(command "layer""u" l9_lay"")
(setq l9_ss (entsel "\n选择要锁定的图层:"))
);end while
);end defun
;--------------------------
;通过选择冻结图层
;_________________
(defun C:layfrz(/ l9_ss l9_ent l9_lay l9_clay ii)
(setq l9_clay (getvar "clayer"))
(princ "\n选取冻结图层参考对象: ")
(setq l9_ss (ssget))
(setq ii 0)
(command "-layer")
(repeat (sslength l9_ss)
(setq l9_ent (entget (ssname l9_ss ii)))
(setq l9_lay (cdr (assoc 8 l9_ent)))
(command "f" l9_lay)
(setq ii (1+ ii))
);end repeat
(command "")
);end defun layfrz
;--------------------------
;通过选择隐藏图层
;__________________________
(defun C:layoff(/ l9_ss l9_ent l9_lay l9_clay ii)
(princ "\n选取隐藏图层参考对象: ")
(setq l9_ss (ssget))
(setq l9_clay (getvar "clayer"))
(setq ii 0)
(command "-layer")
(repeat (sslength l9_ss)
(setq l9_ent (ssname l9_ss ii))
(setq l9_lay (cdr (assoc 8 (entget l9_ent))))
(if (/= l9_lay l9_clay)
(command "off" l9_lay)(command "off" l9_lay"y")
);end if
(setq ii (1+ ii))
);end repeat
(command "")
);end defun layoff
;--------------------------
(princ "\n---------->> 图层调整

(laymod)layiso/layon/layuk/layulk/laylck/layfrz/layoff<<----------")
(prin1)

⑻ 求一个cad lisp命令!

;图层锁定及解锁
(defunc:tes(/entlay1)
(vl-load-com)
(while(and(setqent(entsel" 请选择要锁定或解锁的图元"))(setqlay1(cdr(assoc8(entget(carent))))))
(w1712251lay1)
)
(princ)
)

(defunw1712251(lay1/laylay1)
(vlax-forlay(vla-get-layers(vla-get-activedocument(vlax-get-acad-object)))
(if(=(vla-get-namelay)lay1)
(progn
(if(=(vla-get-locklay):vlax-true);如果图层锁定
(vla-put-locklay:vlax-false);解锁
(vla-put-locklay:vlax-true);锁定
)
)
)
)
)

阅读全文

与图层控制工具箱lisp相关的资料

热点内容
扬州有那些五金机电城 浏览:454
16款君越仪表盘怎么看油耗 浏览:480
机械表3问是什么原因 浏览:422
南京有哪些卖厨房设备 浏览:681
检测设备哪里可以检查 浏览:185
良缘五金机电工具批发部怎么样 浏览:522
轴承防尘盖怎么做出来的 浏览:226
吉林宏力机械有限公司怎么样 浏览:574
2018沈阳电动工具展 浏览:202
苹果搜狗工具箱在哪里 浏览:202
搅拌车制冷效果怎么样 浏览:929
纺织厂都有什么设备 浏览:830
碳钢设备内衬不锈钢如何防渗碳 浏览:48
女生在家用什么器材练背 浏览:731
石材切割机轴承什么号 浏览:247
和面机轴承坏了怎么卸开H 浏览:683
越野摩托车没有仪表怎么做保养 浏览:688
加热装置有什么作用 浏览:754
冰箱低压管热冰箱不制冷怎么回事 浏览:943
液化气阀门指针不动 浏览:969