明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 9401|回复: 18

CAD层的快速转换-----“change”出的快速世界

  [复制链接]
发表于 2011-12-15 12:26 | 显示全部楼层 |阅读模式
来看一些lisp语句,有兴趣的朋友可以将这些语句添加到acad。lsp文件中去。

;变换当前层
(DEFUN C: L0 () (COMMAND "LAYER" "M" "0" "c" "7" "" "lw" "0.05" "" ""))
(DEFUN C: L1 () (COMMAND "LAYER" "M" "1" "c" "1" "" "lw" "0.05" "" ""))
(DEFUN C: L2 () (COMMAND "LAYER" "M" "2" "c" "2" "" "lw" "0.25" "" ""))
(DEFUN C: L3 () (COMMAND "LAYER" "M" "3" "c" "3" "" "lw" "0.15" "" ""))
(DEFUN C: L4 () (COMMAND "LAYER" "M" "4" "c" "4" "" "lw" "0.05" "" ""))
(DEFUN C: L5 () (COMMAND "LAYER" "M" "5" "c" "5" "" "lw" "0.15" "" ""))
(DEFUN C: L6 () (COMMAND "LAYER" "M" "6" "c" "6" "" "lw" "0.09" "" ""))
(DEFUN C: L8 () (COMMAND "LAYER" "M" "8" "c" "30" "" "lw" "0.09" "" ""))
(DEFUN C: L- () (COMMAND "LAYER" "M" "-" "c" "7" "" "lw" "0.05" "" ""))

下面是演示动画,注意看层的颜色。


下面是快速转换层的lisp程序
;改变元素层或颜色
(defun C:C0 ()
(ssget)
(command "change" "p" "" "P" "l a" "0" ""))
(defun C:C1 ()
(ssget)
(command "change" "p" "" "P" "l a" "1" ""))
(defun C:C2 ()
(ssget)
(command "change" "p" "" "P" "l a" "2" ""))
(defun C:C3 ()
(ssget)
(command "change" "p" "" "P" "l a" "3" ""))
(defun C:C4 ()
(ssget)
(command "change" "p" "" "P" "la" "4" ""))
(defun C:C5 ()
(ssget)
(command "change" "p" "" "P" "l a" "5" ""))
(defun C:C6 ()
(ssget)
(command "change" "p" "" "P" "l a" "6" ""))
(defun C:C8 ()
(ssget)
(command "change" "p" "" "P" "l a" "8" ""))

下面是演示动画

下载 (418.72 KB)
2011-9-5 15:24



通过上述方法可以不用点开layer窗口直接把要改层的图素直接改变层。达到方便快捷的目的,同时上面的命令从C1-C8均适合记忆。实际上是调用Change命令直接修改图素。

同时也解答了以前对层名的约束,最好不要用“粗线层”“中心线”等中文名的原因。

同样,对于上述命令的扩展也可以派生出许多其他命令,可以让程序在若干不同层的图素中自动寻找相应的层,并改变它们。
下面是演示动画。


发表于 2020-7-5 09:36 | 显示全部楼层
实际上楼主想的太简单了,现实绘图中,会能很多限制条件的。
①先判断有无该图层,无则新建,有则须进一步判断
②对已有图层,要判断有无冻结、锁定等情况,有则要解冻,解锁
③对选择对象移层,要先判断是否选择了对象,空集会使命令错误。
发表于 2023-1-10 08:51 | 显示全部楼层
G〆h 发表于 2020-7-5 09:36
实际上楼主想的太简单了,现实绘图中,会能很多限制条件的。
①先判断有无该图层,无则新建,有则须进一步 ...

确实,初学实践一下还行,实际应用的时候必须考虑各种情况,逻辑思维要好
发表于 2023-1-8 14:40 | 显示全部楼层
这种技术含量太低了,无非就是调用CAD的“change”命令,几乎所有的绘图命令都可以用这种方式实现。

点评

这属于刚开始学习 AutoLISP 的用户典型的初步成果,虽然很简陋,也没有考虑到条件判断,容错处理等,但毕竟是开始了其深入探索AutoCAD世界的第一步...!  发表于 2023-1-9 15:18
 楼主| 发表于 2011-12-15 12:27 | 显示全部楼层
在别的网站上转的,学习一下
发表于 2011-12-21 13:59 | 显示全部楼层
不错,学习了!
发表于 2012-10-17 21:17 | 显示全部楼层
这个看不懂11!!!!
发表于 2013-1-1 21:15 | 显示全部楼层
好东西好东西
发表于 2013-1-17 08:35 | 显示全部楼层
不错,学习了!
发表于 2013-1-17 09:14 | 显示全部楼层
学习了  谢谢
发表于 2013-1-21 15:20 | 显示全部楼层
学习勒  感谢楼主的无私奉献
发表于 2013-2-4 17:43 | 显示全部楼层
呵呵 感觉挺好用的 学习下
发表于 2013-9-14 17:29 | 显示全部楼层
不错,学习了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-4-20 03:09 , Processed in 0.202258 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表