视口锁定解锁lisp_求一个cad 图层锁定和解锁的lisp命令?
展开全部
在百思论坛上找到的,用AutoCAD2008自带的Visual LISP编辑器存入,并用加载应用程序运行过,代码如下32313133353236313431303231363533e4b893e5b19e31333264633435
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 . ""))));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)
追问
这个锁定的代码好像有点问题
追答
什么问题呢?AutoLisp的命令我以前没有用过~
已赞过
已踩过<
你对这个回答的评价是?
评论
收起
视口锁定解锁lisp_求一个cad 图层锁定和解锁的lisp命令?相关推荐
- cad线段总和lisp_求一个线段长度总和与生成文本 - AutoLISP/Visual LISP 编程技术 - CAD论坛 - 明经CAD社区 - Powered by Discuz!...
像这种 ;;;;;计算面积,周长.显视在图面上 (defun C:am (/ s text1 text2 ss l i totalarea ename obj insertpt insertpt1) ...
- 折断线lisp_求一个方便实用的画CAD双折断线的程序
本帖最后由 村夫 于 2013-6-24 11:58 编辑 (defun c:zdx (/ osmo cmde orth ang angx dist leng lengx pta ptb lengy ...
- cad面积累计lisp怎么用_求一个cad的lisp:一次计算多个封闭线框的面积,并显示每个面积和总面积...
2019-02-17 回答 ;求spline,polyline,lwpolyline,arc面积 (defun c:ss () (setq 总面积 0) (setq 总亩数 0) (setq 面积 0 ...
- cad面积累计lisp怎么用_求一个cad的lisp:一次计算多个封闭线框的面积,并显示每个面积和总面积。...
匿名用户 1级 2016-12-02 回答 ;求spline,polyline,lwpolyline,arc面积 (defun c:ss () (setq 总面积 0) (setq 总亩数 0) (s ...
- 【ArcGIS风暴】ArcGIS求一个矢量图层中多个图斑的“四至点”坐标案例教程
如图所示,为ArcGIS软件自带的全球矢量数据,怎样求取每个大洲(图斑)的四至坐标(xmin.ymin.xmax.ymax)呢? 参考阅读:[ArcGIS遇上Python]python批量获取栅格数据 ...
- CAD中用lisp程序实现批量偏移_求一个cad lisp 双向偏移的代码
(defunc:gg(/abb1p1dpckbox)(PRINC"\双向偏移\(2005.8.8胡晓航\)")(setqd20p1nilpee(/pi2)e3pckbox(getv ...
- Lisp尺寸标注增加前后缀_求一CAD标注加前缀与后缀lisp
回答: 1.计算所有线段总长度(加载后只需框选所有线段便可得出这些线段的总长度) (defun c:LL () (setvar "cmdecho" 1) (setq en (ssg ...
- CAD图层怎么用?CAD图层使用技巧
CAD图层相当于图纸绘图中使用的重叠图纸,可使用图层按功能在图形中组织信息以及执行线型.颜色及其他标准,控制对象的可见性,将CAD图层的特性指定给对象以及锁定图层以防止对象被修改.那你知道CAD图层怎 ...
- cad隐藏图层命令快捷键_cad解锁图层命令(cad图层全部解锁快捷键)
在百思论坛上找到的,用AutoCAD2008自带的Visual LISP编辑器存入,并用加载应用程序运行过,代码如下 laymod.lsp ;__________________________ ;解 ...
最新文章
- Nacos源码系列——第三章(全网最经典的Nacos集群源码主线剖析)
- 深度学习 vs. 大数据:神经网络权值的版权属于谁?
- 非关语言: 设计模式
- java出现Resource leak: 'input' is never closed 解决方法
- 浅谈VS2012单元测试
- 点击表格弹窗获取另外一套数据之后,原表格相关数据的调用
- 《跟我一起写Makefile》读书笔记(2)
- 语言做的表白魔方_程序员表白教程,这些代码用过的都说浪漫
- spring源码之bean加载(bean解析下篇)
- Java 中equals 与 == 的区别:
- 天天生鲜项目——用户收货地址页
- 如何使用Kdiff3作为GIT merge图形化工具
- Https所涉及名词及相关后缀名解释
- postman中文汉化版
- 知乎高赞:哪些事坚持做3个月就会有巨大改变?
- ffmpeg安装教程(windows版)
- CF 1646D Weight the Tree 树形dp
- 所谓的SaaS服务到底是什么?
- cd28v2虚拟服务器,科技知识:华为荣耀CD28v2路由器初始密码
- 支持向量机-《统计学习方法》学习笔记