wanhongron 发表于 2012-6-16 18:29:52

!整理的点选矩形图框快速打印程序,能点选一个打印一个,请改成选完后一起打印

该程序是整合网上的打印程序,支持任意矩形框范围内打印,请改成能选完后统一打印,选一个打一个大慢了,想要的效果就是选完后一起集中打印。

w245272914 发表于 2018-6-20 08:54:31

langjs 发表于 2012-6-18 10:05
;;; 快速打印程序,选一堆矩图框,再批量打印
(defun c:ksdy (/ ent fx i maxpoint maxx0 maxy0 minpoint mi ...

大師,可以自動保存就好了。:(

sunny_8848 发表于 2018-2-19 21:20:02

要是能有打印机列表选择打印机,而不是直接指定Adobe PDF就完美了

meja 发表于 2023-7-14 21:40:42

这个程序真的非常好用,才几K不到

wanhongron 发表于 2012-6-16 18:30:39

能自动识别A3竖、横向矩形框

wanhongron 发表于 2012-6-16 23:41:40

请高手帮帮忙,这个打印程序把我整得焦头难额。。

ㄘ丶转裑ㄧ灬 发表于 2012-6-17 10:32:55

为什么不用秋枫的批量打印呢。。。。
http://fresco.yo2.cn/他的博客里有。。。。

wanhongron 发表于 2012-6-18 00:03:20

个人的工作情况不一样,我经常打印3、5图纸,不多不少,而且打印机和打印模式都是固定的,用秋风的不免杀鸡用宰牛刀,花在点按选项的时间都不少,所以我希望有个能适合自己的实现瞬间打印的程序。

669423907 发表于 2012-6-18 07:44:55

好,帮顶上!

xyp1964 发表于 2012-6-18 08:05:50

;;未经测试慎用!!!

kwok 发表于 2012-6-18 09:28:56

想法不错...

langjs 发表于 2012-6-18 10:05:33

;;; 快速打印程序,选一堆矩图框,再批量打印
(defun c:ksdy (/ ent fx i maxpoint maxx0 maxy0 minpoint minx0 miny0 os pmax pmin ptlist ss sstk)
(vl-load-com)
(setvar "cmdecho" 0) (setq os (getvar "osmode")   ss (ssadd)    sstk (ssadd))
(princ "\n 请选取矩形图框:")
(while (setq ss (ssget ":E:S" (list '(0 . "LWPOLYLINE") '(90 . 4))))
    (setq ent (ssname ss 0))
    (vla-getboundingbox (vlax-ename->vla-object ent) 'minpoint 'maxpoint)
    (setq pmax (vlax-safearray->list maxpoint)pmin (vlax-safearray->list minpoint)
          minx0 (car pmin)miny0 (cadr pmin)   maxx0 (car pmax)maxy0 (cadr pmax))
    (if (>= (- maxx0 minx0) (- maxy0 miny0))   (setq fx "L")      (setq fx "P") )
    (entmake (list '(0 . "LINE") (cons 62 6) (cons 10 (list minx0 miny0 0)) (cons 11 (list maxx0 maxy0 0))))
    (setq sstk (ssadd (entlast) sstk))
    (entmake (list '(0 . "LINE") (cons 62 6) (cons 10 (list minx0 maxy0 0)) (cons 11 (list maxx0 miny0 0))))
    (setq sstk (ssadd (entlast) sstk))
    (setq ptlist (cons (list pmin pmax fx) ptlist))
)
(initget "Y N ")
(if (/= (getpoint (strcat "\n 确定批量打印?[确认(Y)/退出(N)]:<Y> ")) "N")
    (progn
      (command "erase" sstk "")
      (repeat (setq i (length ptlist))
      (setq ent (nth (setq i (1- i)) ptlist )pmin (car ent) pmax (cadr ent) fx (last ent))
      (command "_.PLOT" "Y" "" "pdffactory pro" "A3" "M" fx "N" "W" pmin pmax "F" "C" "Y" "monochrome.ctb" "Y" "N" "N" "N" "Y")
      (princ (strcat "\n 程序正在打印第" (itoa (- (length ptlist) i)) "张>>>>>>>> "))
      )
    )
    (command "erase" sstk "")
)
(setvar "osmode" os)               ; 恢复捕捉模式
(princ)
)

wanhongron 发表于 2012-6-18 18:40:27

谢谢langjs大侠和院长的指教,已经达到我要的效果了,非常感谢!
页: [1] 2 3
查看完整版本: !整理的点选矩形图框快速打印程序,能点选一个打印一个,请改成选完后一起打印