yangwenclever 发表于 2014-4-28 18:18:42

有没有批量打印多个布局的工具

求助,布局很多,怎么样批量打印,如果一个一个切换,很慢慢

重慶崽兒 发表于 2014-4-28 18:42:55

那啥选定所有布局---发布

llsheng_73 发表于 2014-4-29 10:56:36

没玩过布局,先飘过

springwillow 发表于 2014-4-29 16:49:38

;;;把所有布局出图;;;;;;
(princ"批量打印布局,命令BJDY\nspringwillow!")
(defun C:bjdy (/ N PLO_LAYOUTS PLO_LAYOUTL dypy1)
;(command "_.layout" "delete" "Layout1")
;del掉原来大师多余的布局
; -取得注册表中默认打印机--------------------------------------------------------
(setvar "cmdecho" 0)
(defun defultprint (/ device)
    (substr (setq device
   (vl-registry-read
       "HKEY_CURRENT_USER\\Software\\Microsoft\\Windows NT\\CurrentVersion\\Windows"
       "Device"
   ) ;_ 结束vl-registry-read
   ) ;_ 结束setq
   1
   (vl-string-search "," device)
    ) ;_ 结束substr
) ;_ 结束defun
; ==取得注册表中默认打印机end========================================================
(command ".ucs" "W")
(command "setvar" "dimzin" "0")
(command "setvar" "DYNMODE" "0")
(setq myprint (defultprint))
(setq ctb_type "acad.ctb")
(command "osnap" "off")
(vl-load-com) ;==================================

;取得打印纸张打印
(setq papersc (getstring "\n出图大小A3/A4:<A3>"))
(setq scale "unknow")
(if (or (= papersc "") (= papersc "3"))
    (setq scale 1)
    (setq scale 0.707)
) ;_ 结束if
(if (or (= papersc "") (= papersc "3"))
    (setq paper "A3")
    (setq paper "A4")
) ;_ 结束if
(setq printtype (getstring "\n打印全部布局/当前布局:<A>"))
(if (not dypy)
(setq dypy "0.000,0.000")
)
(if (/= (setq dypy1 (getstring (strcat "\n打印偏移[居中(C)]:<"dypy">"))) "")
    (setq dypy dypy1)
    )
(setq printt "unknow")
(setq PLO_LAYOUTS (LAYOUTLIST))
(setq PLO_LAYOUTSL (length PLO_LAYOUTS))
(setq N 0)
(cond ((or (= printtype "") (= printtype "A") (= printtype "a"))
      (repeat PLO_LAYOUTSL
      (command "-plot"
      "y";是否需要详细打印配置?[是(Y)/否(N)] <否>: y
      (nth N PLO_LAYOUTS);输入布局名或 [?]
      myprint;输入输出设备的名称或 [?]
      paper;输入图纸尺寸或 [?] <A3>:
      "M";输入图纸单位 [英寸(I)/毫米(M)] <英寸>: m
      "L";输入图形方向 [纵向(P)/横向(L)] <横向>: l
      "";是否反向打印?[是(Y)/否(N)] <否>:
      "E";输入打印区域 [显示(D)/范围(E)/布局(L)/视图(V)/窗口(W)] <范围>: e
      scale;输入打印比例 (打印的 毫米=图形单位) 或 [布满(F)] <1:1>:
      dypy;输入打印偏移 (x,y) 或 [居中打印(C)] <0.00,0.00>: c
      "Y";是否按样式打印?[是(Y)/否(N)] <是>:
      ctb_type;输入打印样式表名称或 [?] (输入 . 表示无) <acad.ctb>:
      "";是否打印线宽?[是(Y)/否(N)] <是>:
      "";是否按打印比例缩放线宽?[是(Y)/否(N)] <否>:
      "";是否先打印图纸空间?[是(Y)/否(N)] <否>:
      "";是否隐藏图纸空间对象?[是(Y)/否(N)] <否>:
      "";是否打印到文件 [是(Y)/否(N)] <N>:
      "Y";是否保存对页面设置的修改 [是(Y)/否(N)]? <N> y
      "";是否继续打印?[是(Y)/否(N)] <Y>:
      ) ;_ 结束command
      (setq N (1+ N))
    ) ;_ 结束repeat
   )
((or (= printtype "D") (= printtype "d"))
      (command "-plot"
      "y";是否需要详细打印配置?[是(Y)/否(N)] <否>: y
      (getvar "ctab");输入布局名或 [?]
      myprint;输入输出设备的名称或 [?]
      paper;输入图纸尺寸或 [?] <A3>:
      "M";输入图纸单位 [英寸(I)/毫米(M)] <英寸>: m
      "L";输入图形方向 [纵向(P)/横向(L)] <横向>: l
      "";是否反向打印?[是(Y)/否(N)] <否>:
      "E";输入打印区域 [显示(D)/范围(E)/布局(L)/视图(V)/窗口(W)] <范围>: e
      scale;输入打印比例 (打印的 毫米=图形单位) 或 [布满(F)] <1:1>:
      "c";输入打印偏移 (x,y) 或 [居中打印(C)] <0.00,0.00>: c
      "Y";是否按样式打印?[是(Y)/否(N)] <是>:
      ctb_type;输入打印样式表名称或 [?] (输入 . 表示无) <acad.ctb>:
      "";是否打印线宽?[是(Y)/否(N)] <是>:
      "";是否按打印比例缩放线宽?[是(Y)/否(N)] <否>:
      "";是否先打印图纸空间?[是(Y)/否(N)] <否>:
      "";是否隐藏图纸空间对象?[是(Y)/否(N)] <否>:
      "";是否打印到文件 [是(Y)/否(N)] <N>:
      "";是否保存对页面设置的修改 [是(Y)/否(N)]? <N> y
      "";是否继续打印?[是(Y)/否(N)] <Y>:
      ) ;_ 结束command
   )
) ;_ 结束if
; ==============================================================================
(princ)
) ;_ 结束defun
有哪位大侠有时间给加个对话框吧,那样就好用了,这个有点繁锁!

lidaxiu 发表于 2014-4-29 19:46:11

秋枫打印就可以吧,高版本的
页: [1]
查看完整版本: 有没有批量打印多个布局的工具