明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: hao3ren

[求助]求批量打印程序

  [复制链接]
 楼主| 发表于 2010-7-25 12:32:00 | 显示全部楼层

(defun GetPlotDevices ()
  (vlax-safearray->list
    (vlax-variant-value
      (vla-getplotdevicenames
 (vla-item (vla-get-layouts
      (vla-get-activedocument (vlax-get-acad-object))
    )
    "Model"
 )
      )
    )
  )
)
(defun c:AA ()
  (setq prt (GetPlotDevices))
  (setq ii (vl-list-length prt))
  (setq nn 0)
  (princ "\n请选择打印机:")
  (while (< nn ii)
    (setq prt1 (getstring (strcat (nth nn prt) ",是《1》否《0》__<0>")))
    (if (not prt1)
      (setq prt1 "0")
    )
    (if (= prt1 "1")
      (progn
 (setq prt2 (nth nn prt))
 (setq nn ii)
      )
    )
    (setq nn (1+ nn))
  )
  (if (= prt2 nil)
    (exit)
  )
  (setq a 1)
  (setq b 0)
  (setq lst1 ())
  (while (< b a)
    (setq pnt1 (getpoint "\n请输入第一个角点:"))
    (setq pnt2 (getcorner pnt1 "\n请输入第二个角点"))
    (setq lst (list pnt1 pnt2))
    (setq lst1 (cons lst lst1))
    (setq ss (getstring "\n是否继续?[是(Y)/否(N)]<否>:"))
    (if (not ss)
      (setq ss "N")
    )
    (if (or (= ss "N")
     (= SS "n")
 )
      (setq b 1)
    )
  )
  (setq aa (vl-list-length lst1))
  (setq nn 0)
  (while (< nn aa)
    (setq lst2 (nth nn lst1))
    (setq pnt1 (nth 0 lst2))
    (setq pnt2 (nth 1 lst2))
    (print lst2)
    (print pnt1)
    (print pnt2)
    (command "-PLOT"  "Y" ;_是否需要详细打印配置?[是(Y)/否(N)] <否>: y
      "" ;_输入布局名或 [?] <模型>:
      prt2 ;_输入输出设备的名称或 [?] <在 网管 上自动 HP LaserJet 5100 PCL 6>:
      "A3" ;_输入图纸尺寸或 [?] <A3>:
      "m" ;_输入图纸单位 [英寸(I)/毫米(M] <毫米>:
      "L" ;_输入图形方向 [纵向(P)/横向(L)] <横向>:
      "N" ;_是否反向打印?[是(Y)/否(N)] <否>:
      "w" ;_输入打印区域 [显示(D)/范围(E)/图形界限(L)/视图(V)/窗口(W)] <范围>: w
      pnt1  pnt2  "F" ;_输入打印比例 (打印的 毫米=图形单位) 或 [布满(F)] <Fit>: fit
      "c" ;_输入打印偏移 (x,y) 或 [居中打印(C)] <0.00,0.00>: c
      "y" ;_是否按样式打印?[是(Y)/否(N)] <是>:
      "." ;_输入打印样式表名称或 [?] (输入 . 表示无) <hp5100.ctb>:
      "Y" ;_是否打印线宽?[是(Y)/否(N)] <是>:
      "N" ;_是否删除隐藏线?[是(Y)/否(N)] <否>:
      "N" ;_是否打印到文件 [是(Y)/否(N)] <N>: y
      "Y" ;_是否保存模型选项卡的修改 .
      "Y" ;_是否继续打印 .
     )
    (setq nn (1+ nn))
  )
)

 

 

谢谢piao1887给的上面这段程序,主要是打印机的问题

 

 

发表于 2010-7-25 14:13:00 | 显示全部楼层

窗口连续选择进行批量打印程序

 

使用方法:appload命令加载ckdy.vlx程序后,在命令行输入ckdy 回车按提示操作即可。
注:在使用ckdy.vlx程序前,应成功执行一次plot打印操作,注意应在弹出的打印对话框中“将修改保存到布局”复选按钮钩选再打印。(目的为了设置打印页面)


 

http://ljttjl.ys168.com 20100307连续窗口打印 目录下载

 

 

本帖子中包含更多资源

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

x
发表于 2011-3-6 13:29:37 | 显示全部楼层
谢谢楼主分享!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-6-11 12:47 , Processed in 0.176659 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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