明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 5435|回复: 21

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

  [复制链接]
发表于 2012-6-16 18:29 | 显示全部楼层 |阅读模式
该程序是整合网上的打印程序,支持任意矩形框范围内打印,请改成能选完后统一打印,选一个打一个大慢了,想要的效果就是选完后一起集中打印。

本帖子中包含更多资源

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

x
发表于 2018-6-20 08:54 | 显示全部楼层
langjs 发表于 2012-6-18 10:05
;;; 快速打印程序,选一堆矩图框,再批量打印
(defun c:ksdy (/ ent fx i maxpoint maxx0 maxy0 minpoint mi ...

大師,可以自動保存就好了。
发表于 2018-2-19 21:20 | 显示全部楼层
要是能有打印机列表选择打印机,而不是直接指定Adobe PDF就完美了
发表于 2023-7-14 21:40 | 显示全部楼层
这个程序真的非常好用,才几K不到
 楼主| 发表于 2012-6-16 18:30 | 显示全部楼层
能自动识别A3竖、横向矩形框
 楼主| 发表于 2012-6-16 23:41 | 显示全部楼层
请高手帮帮忙,这个打印程序把我整得焦头难额。。
发表于 2012-6-17 10:32 | 显示全部楼层
为什么不用秋枫的批量打印呢。。。。
http://fresco.yo2.cn/他的博客里有。。。。

本帖子中包含更多资源

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

x
 楼主| 发表于 2012-6-18 00:03 | 显示全部楼层
个人的工作情况不一样,我经常打印3、5图纸,不多不少,而且打印机和打印模式都是固定的,用秋风的不免杀鸡用宰牛刀,花在点按选项的时间都不少,所以我希望有个能适合自己的实现瞬间打印的程序。
发表于 2012-6-18 07:44 | 显示全部楼层
好,帮顶上!
发表于 2012-6-18 08:05 | 显示全部楼层
;;未经测试慎用!!!

本帖子中包含更多资源

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

x
发表于 2012-6-18 09:28 来自手机 | 显示全部楼层
想法不错...
发表于 2012-6-18 10:05 | 显示全部楼层
;;; 快速打印程序,选一堆矩图框,再批量打印
(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)
)
 楼主| 发表于 2012-6-18 18:40 | 显示全部楼层
谢谢langjs大侠和院长的指教,已经达到我要的效果了,非常感谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-26 17:24 , Processed in 0.273235 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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