明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3460|回复: 12

怎么在PU清理时保留原有ACAD.DWT模版里已经设定好的图层

  [复制链接]
发表于 2011-5-12 21:31:43 | 显示全部楼层 |阅读模式
ACAD.DWT模版已经预设了经常需要的图层及颜色,但作图时有些图层可能并没有任何对象,执行PU命令时没有任何对象的图层就会被清理掉,请问怎么实现在PU清理时保留原有ACAD.DWT模版里已经设定好的图层而不被清理掉。
发表于 2011-5-13 00:52:17 | 显示全部楼层
本帖最后由 caoyin 于 2011-5-13 00:53 编辑

(vlax-ldata-put "data" "layer-01" (tblobjname "layer" "图层名"))
 楼主| 发表于 2011-5-13 11:24:07 | 显示全部楼层
回复 caoyin 的帖子

谢谢你,辛苦了!
发表于 2011-6-29 21:56:16 | 显示全部楼层
回复 caoyin 的帖子

请教 caoyin 版主,怎样把“(vlax-ldata-put "data" "layer-01" (tblobjname "layer" "图层名"))”加到我的程序中或者怎样改呢?
我想保留所有的标注样式
(defun c:puu()
(command "zoom""e" "purge" "la" "" "n" ""  "purge" "lt" "" "n" "" "purge" "r" "" "n" "" "purge"
"b" "" "n" "" "purge" "p" "" "n" "" "purge" "st" "" "n" "" "qsave"))
我常用的图层有
谢谢了!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2011-6-30 00:19:51 | 显示全部楼层
防止不被清理的最好方法就是使用它。
发表于 2011-6-30 09:31:56 | 显示全部楼层
本帖最后由 mandala 于 2011-6-30 09:32 编辑

介绍一个实用的办法:
新建一个空的dwg,把这些图层加入后保存。写一个pu.lsp,在pu之后插入这个dwg。


发表于 2011-6-30 09:59:55 | 显示全部楼层
回复 mandala 的帖子

自己写pu,把句柄靠前的图层保留
发表于 2011-6-30 12:50:35 | 显示全部楼层
大师写的有条有里,我却看得云里雾里!
发表于 2011-6-30 15:05:27 | 显示全部楼层

  1. (defun c:relay        ()
  2.   (setq oldcmd (getvar "cmdecho"))
  3.   (setvar "cmdecho" 0)
  4.   (setq        laylist        '("00图框"     "3虚线"            "33螺线"         "3细线"
  5.                   "4中心线"    "5标注"            "6点划线"         "7不打印"
  6.                   "8双点线"    "90文字"            "9标注"
  7.                  )
  8.   )
  9.   (setq        lay_n         (length laylist)
  10.         m         0
  11.         lay_list '()
  12.   )
  13.   (while (/= m lay_n)
  14.     (setq lay_name (nth m laylist))
  15.     (if        (/= (TBLOBJNAME "LAYER" lay_name) nil)
  16.       (progn
  17.         (setq lay_c        (cdr (assoc 62 (tblsearch "layer" lay_name)))
  18.               lay_lt        (cdr (assoc 6 (tblsearch "layer" lay_name)))
  19.               lay_n_lst        (list lay_name lay_c lay_lt)
  20.         )
  21.         (setq lay_list (cons lay_n_lst lay_list))
  22.       )
  23.     )
  24.     (setq m (1+ m))
  25.   )
  26.   (command "purge" "a" "" "n")
  27.   (setq        n (length lay_list)
  28.         m 0
  29.   )
  30.   (while (/= m n)
  31.     (setq lay_n_lst (nth m lay_list))
  32.     (if        (= (TBLOBJNAME "LAYER" (nth 0 lay_n_lst)) nil)
  33.       (command "layer" "m" (nth 0 lay_n_lst)"c"(nth 1 lay_n_lst) "" "l" (nth 2 lay_n_lst) "" "")
  34.     )
  35.     (setq m (1+ m))
  36.   )
  37.   (setvar "cmdecho" oldcmd)
  38. )

点评

程序前一步把线型PURGE掉了,后COMMAND.COM重新建立图层,线型已不存在,导致失败!  发表于 2015-12-19 18:51
程序先删除,后建立,但我运行,重建的层,怎么线型全成了实线了,线型回复不了。  发表于 2015-12-19 04:25

评分

参与人数 1金钱 +50 收起 理由
669423907 + 50 好程序

查看全部评分

发表于 2011-6-30 23:49:37 | 显示全部楼层
回复 zhynt 的帖子

zhynt大师,你的程序非常好,非常给力!我把我的部分加进去了,非常好用!
只有一丁点不解:会自动切换当前图层。
不过一点也不影响使用!
再次感谢 zhynt大师 对喜欢CAD 的 lsp 菜鸟们的热情帮助!


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-21 00:41 , Processed in 0.208895 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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