明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2193|回复: 5

求如果是不打印的图层则关闭的代码

[复制链接]
发表于 2014-3-27 09:08 | 显示全部楼层 |阅读模式
2明经币
本帖最后由 清风明月名字 于 2014-3-27 09:49 编辑

我想求一个不打印的图层则关闭,打印的图层维持原状的插件。这样就方便检查本次打印的内容了。
如果没有这个插件,则到底打印了哪些图元,心里没有数,看预览,由于图太长不方便
请坛友帮助。
假设A为块参照,A中含图元B、C,B在打印图层,C在不打印图层。。
如果A在不打印图层,B不会被打印。
如果A在打印图层,C不会被打印。所以如果图中有块参照A,且块参照A位于不打印图层,则A中的所有图元(特指打印图层上的图元)都需要被隐藏或关闭,这才能使得我们在模型中看到的图元确实是要打印的图元。
A为组时按上法类推。

最佳答案

查看完整内容

(defun c:tt ( / el l l1 ta table x) (defun gatable (table / l str ta) (while (setq ta (tblnext table nil)) (setq l (cons (cdr (assoc 2 ta)) l)) ) (setq l (cons (cdr (assoc 2 (tblnext table t))) (reverse l))) ) (setq l (gatable "LAYER") l1 nil) (mapcar '(lambda(x) (setq el (entget (tblobjname "LAYER" x)) l1 (cons (list (cdr (assoc 2 el)) (cdr (assoc 290 el))) l1))) l) ...
发表于 2014-3-27 09:08 | 显示全部楼层
本帖最后由 q3_2006 于 2014-3-27 20:37 编辑

(defun c:tt ( / el l l1 ta table x)
(defun gatable (table / l str ta)
    (while (setq ta (tblnext table nil))
     (setq l (cons (cdr (assoc 2 ta)) l))
    )
    (setq l (cons (cdr (assoc 2 (tblnext table t))) (reverse l)))
)
(setq l (gatable "LAYER") l1 nil)
(mapcar '(lambda(x)
(setq el (entget (tblobjname "LAYER" x))
l1 (cons (list (cdr (assoc 2 el)) (cdr (assoc 290 el))) l1))) l)
(mapcar '(lambda(x) (if (= 0 (cadr x)) (vl-cmdf "-layer" "off" (car x) ""))) l1)
)

点评

反过来更方便核查---只显示不打印的内容  发表于 2014-8-23 17:56

评分

参与人数 1明经币 +1 收起 理由
清风明月名字 + 1 赞一个!

查看全部评分

回复

使用道具 举报

发表于 2018-8-11 22:48 | 显示全部楼层
看帖回帖是美德
回复

使用道具 举报

发表于 2018-8-13 13:22 | 显示全部楼层
二楼的程序不错哦。。。挺实用的。谢谢
回复

使用道具 举报

发表于 2018-8-13 14:52 | 显示全部楼层
这个直接在图层管理器里面按打印标志排序,然后批量选择显示或者不显示就可以了,无需程序。
回复

使用道具 举报

发表于 2020-9-19 19:52 | 显示全部楼层
“”反过来更方便核查---只显示不打印的内容“”这个好,编个呗
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-27 10:04 , Processed in 0.188728 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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