明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1290|回复: 6

[讨论] 各位大侠:请问如何将一个布局里面的打印设置应用到所有布局?

  [复制链接]
发表于 2023-3-7 10:20:19 | 显示全部楼层 |阅读模式
本帖最后由 cchessbd 于 2023-3-7 10:21 编辑

由于经常需要在布局里面打印,但是我用的是cad2008,2006,这个发布经常出问题,打印不出来平面图。

或者我打印的时候预览是正常的,一发布就是个纵横错位的,或者y向偏移了1cm左右。简直是把我给搞醉了。

所以我就想能不能用lisp编程。我先在一个布局里面调好打印设置。

然后运行这个lisp命令,就把上一次的打印设置应用到其他的布局。

由于循环遍历所有布局的代码我已经在论坛找到了。所以只需要如何用lisp,在新布局应用"上一次打印“的代码即可。

点评

先保存为命名的页面设置啊。这样就不需要用什么“上一次打印”的设置了。  发表于 2023-3-7 11:25
发表于 2023-3-7 10:27:13 | 显示全部楼层
本帖最后由 xj6019 于 2023-3-7 10:28 编辑

(defun C:JNM(/ *doc* putpagesetup)
        (defun putPagesetup (document layout setup)
                (if
                        (vl-catch-all-error-p
                                (vl-catch-all-apply
                                        (function
                                                (lambda ()
                                                        (vla-copyfrom
                                                                (vla-item (vla-get-layouts document) layout)
                                                                (vla-item (vla-get-plotconfigurations document) setup)
                                                        )
                                                )
                                        )
                                )
                        )
                        nil
                        t
                )
        )        
        (setq *doc* (vla-get-activedocument (vlax-get-acad-object)))
        (foreach x (layoutlist) (putPagesetup *doc* x "打印配置自己设置的名字"))
        (princ)
)

本帖子中包含更多资源

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

x
回复 支持 1 反对 0

使用道具 举报

发表于 2023-3-7 11:24:04 | 显示全部楼层
本帖最后由 e2002 于 2023-3-7 11:27 编辑

这个需求很常规,不过一直以来AutoCAD for windows 没有提供一个批量处理的工具。
然后我就专门写了个工具。

后来在和 AutoCAD for Mac 开发团队沟通时也提到这个功能需求,他们就在 AutoCAD for Mac 中补上了缺失的批量应用页面设置的功能。
 楼主| 发表于 2023-3-7 12:20:11 | 显示全部楼层
本帖最后由 cchessbd 于 2023-3-7 12:33 编辑
xj6019 发表于 2023-3-7 10:27
(defun C:JNM(/ *doc* putpagesetup)
        (defun putPagesetup (document layout setup)
            ...

谢谢大侠了。太棒了!这下应用到每一个布局,就可以使用秋枫的批量打印布局功能了,不然那就是个摆设。
发表于 2023-3-7 21:06:17 | 显示全部楼层
可以使用Msteel的批量打印CAD插件
https://www.msteel.top/rjxz
发表于 2023-8-26 14:20:40 | 显示全部楼层
(command "_.PLOT" "Y" "" plot page  "M" D "N" "W" p1 p2 "F" "C" "Y" style "Y" "A"  "N" "Y" "N")

;;;命令:-PLOT
;;;是否需要详细打印配置?[是(Y)/否(N)] <否>: y
;;;输入布局名或 [?] <模型>:
;;;输入输出设备的名称或 [?] <pdfFactory Pro>:
;;;输入图纸尺寸或 [?] <A3>:
;;;输入图纸单位 [英寸(I)/毫米(M)] <毫米>:
;;;输入图形方向 [纵向(P)/横向(L)] <横向>:
;;;是否上下颠倒打印?[是(Y)/否(N)] <否>:
;;;输入打印区域 [显示(D)/范围(E)/图形界限(L)/视图(V)/窗口(W)] <窗口>:
;;;输入窗口的左下角 <2710.973558,5069.926660>:
;;;输入窗口的右上角 <4135.973558,7094.926660>:
;;;输入打印比例 (打印的 毫米=图形单位) 或 [布满(F)] <布满>:
;;;输入打印偏移 (x,y) 或 [居中打印(C)] <中心>: c
;;;是否按样式打印?[是(Y)/否(N)] <是>: y
;;;输入打印样式表名称或 [?] (输入 . 表示无) <0彩.ctb>:
;;;是否打印线宽?[是(Y)/否(N)] <是>:
;;;输入着色打印设置 [按显示(A)/传统线框(W)/传统隐藏(H)/视觉样式(V)/渲染(R)] <按显示>:
;;;是否打印到文件 [是(Y)/否(N)] <N>: n
;;;是否保存对页面设置的修改 [是(Y)/否(N)]? <N> y
;;;是否继续打印?[是(Y)/否(N)] <Y>: n
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-17 02:39 , Processed in 0.163090 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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