展开全部

在百思论坛上找到的,用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命令?相关推荐

  1. cad线段总和lisp_求一个线段长度总和与生成文本 - AutoLISP/Visual LISP 编程技术 - CAD论坛 - 明经CAD社区 - Powered by Discuz!...

    像这种 ;;;;;计算面积,周长.显视在图面上 (defun C:am (/ s text1 text2 ss l i totalarea ename obj insertpt insertpt1) ...

  2. 折断线lisp_求一个方便实用的画CAD双折断线的程序

    本帖最后由 村夫 于 2013-6-24 11:58 编辑 (defun c:zdx (/ osmo cmde orth ang angx dist leng lengx pta ptb lengy ...

  3. cad面积累计lisp怎么用_求一个cad的lisp:一次计算多个封闭线框的面积,并显示每个面积和总面积...

    2019-02-17 回答 ;求spline,polyline,lwpolyline,arc面积 (defun c:ss () (setq 总面积 0) (setq 总亩数 0) (setq 面积 0 ...

  4. cad面积累计lisp怎么用_求一个cad的lisp:一次计算多个封闭线框的面积,并显示每个面积和总面积。...

    匿名用户 1级 2016-12-02 回答 ;求spline,polyline,lwpolyline,arc面积 (defun c:ss () (setq 总面积 0) (setq 总亩数 0) (s ...

  5. 【ArcGIS风暴】ArcGIS求一个矢量图层中多个图斑的“四至点”坐标案例教程

    如图所示,为ArcGIS软件自带的全球矢量数据,怎样求取每个大洲(图斑)的四至坐标(xmin.ymin.xmax.ymax)呢? 参考阅读:[ArcGIS遇上Python]python批量获取栅格数据 ...

  6. CAD中用lisp程序实现批量偏移_求一个cad lisp 双向偏移的代码

    (defunc:gg(/abb1p1dpckbox)(PRINC"\双向偏移\(2005.8.8胡晓航\)")(setqd20p1nilpee(/pi2)e3pckbox(getv ...

  7. Lisp尺寸标注增加前后缀_求一CAD标注加前缀与后缀lisp

    回答: 1.计算所有线段总长度(加载后只需框选所有线段便可得出这些线段的总长度) (defun c:LL () (setvar "cmdecho" 1) (setq en (ssg ...

  8. CAD图层怎么用?CAD图层使用技巧

    CAD图层相当于图纸绘图中使用的重叠图纸,可使用图层按功能在图形中组织信息以及执行线型.颜色及其他标准,控制对象的可见性,将CAD图层的特性指定给对象以及锁定图层以防止对象被修改.那你知道CAD图层怎 ...

  9. cad隐藏图层命令快捷键_cad解锁图层命令(cad图层全部解锁快捷键)

    在百思论坛上找到的,用AutoCAD2008自带的Visual LISP编辑器存入,并用加载应用程序运行过,代码如下 laymod.lsp ;__________________________ ;解 ...

最新文章

  1. Nacos源码系列——第三章(全网最经典的Nacos集群源码主线剖析)
  2. 深度学习 vs. 大数据:神经网络权值的版权属于谁?
  3. 非关语言: 设计模式
  4. java出现Resource leak: 'input' is never closed 解决方法
  5. 浅谈VS2012单元测试
  6. 点击表格弹窗获取另外一套数据之后,原表格相关数据的调用
  7. 《跟我一起写Makefile》读书笔记(2)
  8. 语言做的表白魔方_程序员表白教程,这些代码用过的都说浪漫
  9. spring源码之bean加载(bean解析下篇)
  10. Java 中equals 与 == 的区别:
  11. 天天生鲜项目——用户收货地址页
  12. 如何使用Kdiff3作为GIT merge图形化工具
  13. Https所涉及名词及相关后缀名解释
  14. postman中文汉化版
  15. 知乎高赞:哪些事坚持做3个月就会有巨大改变?
  16. ffmpeg安装教程(windows版)
  17. CF 1646D Weight the Tree 树形dp
  18. 所谓的SaaS服务到底是什么?
  19. cd28v2虚拟服务器,科技知识:华为荣耀CD28v2路由器初始密码
  20. 支持向量机-《统计学习方法》学习笔记

热门文章

  1. USACO 1.3.1 挤牛奶
  2. python 开源cms_一起来探讨下国外开源系统CMS
  3. openwrt修改生成BIN文件大小以用于8M FLASH(WR703N)
  4. MIPCMS如何用火车头采集自定义字段?
  5. VMWare 15安装以及创建Ubuntu虚拟机
  6. 工业智能网关BL110应用之26:实现三菱 PLC FX3U 接入OPC UA云平台
  7. 兜兜的乐扣刷题算法小记(不停更)
  8. 男朋友工资5K,又爱打游戏,该分手吗?
  9. 当代大学生开展团队学习的意义
  10. 数组排序(O(n的二次方))