cchessbd 发表于 2023-3-7 10:20:19

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

本帖最后由 cchessbd 于 2023-3-7 10:21 编辑

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

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

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

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

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

xj6019 发表于 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)
)

e2002 发表于 2023-3-7 11:24:04

本帖最后由 e2002 于 2023-3-7 11:27 编辑

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

后来在和 AutoCAD for Mac 开发团队沟通时也提到这个功能需求,他们就在 AutoCAD for Mac 中补上了缺失的批量应用页面设置的功能。

cchessbd 发表于 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)
            ...
谢谢大侠了。太棒了!这下应用到每一个布局,就可以使用秋枫的批量打印布局功能了,不然那就是个摆设。

daixq021 发表于 2023-3-7 21:06:17

可以使用Msteel的批量打印CAD插件
https://www.msteel.top/rjxz

gaics 发表于 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
页: [1]
查看完整版本: 各位大侠:请问如何将一个布局里面的打印设置应用到所有布局?