各位大侠:请问如何将一个布局里面的打印设置应用到所有布局?
本帖最后由 cchessbd 于 2023-3-7 10:21 编辑由于经常需要在布局里面打印,但是我用的是cad2008,2006,这个发布经常出问题,打印不出来平面图。
或者我打印的时候预览是正常的,一发布就是个纵横错位的,或者y向偏移了1cm左右。简直是把我给搞醉了。
所以我就想能不能用lisp编程。我先在一个布局里面调好打印设置。
然后运行这个lisp命令,就把上一次的打印设置应用到其他的布局。
由于循环遍历所有布局的代码我已经在论坛找到了。所以只需要如何用lisp,在新布局应用"上一次打印“的代码即可。
本帖最后由 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:27 编辑
这个需求很常规,不过一直以来AutoCAD for windows 没有提供一个批量处理的工具。
然后我就专门写了个工具。
后来在和 AutoCAD for Mac 开发团队沟通时也提到这个功能需求,他们就在 AutoCAD for Mac 中补上了缺失的批量应用页面设置的功能。 本帖最后由 cchessbd 于 2023-3-7 12:33 编辑
xj6019 发表于 2023-3-7 10:27
(defun C:JNM(/ *doc* putpagesetup)
(defun putPagesetup (document layout setup)
...
谢谢大侠了。太棒了!这下应用到每一个布局,就可以使用秋枫的批量打印布局功能了,不然那就是个摆设。
可以使用Msteel的批量打印CAD插件
https://www.msteel.top/rjxz (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]