明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1803|回复: 2

[源码] 利用opecdcl的非模态对话框进行多文件批量处理(多图打印)

[复制链接]
发表于 2018-12-5 17:30:00 | 显示全部楼层 |阅读模式
本帖最后由 war32 于 2018-12-5 17:36 编辑

  • 利用odcl的非模态对话框,对dwg文件进行批量打印,打印全部采用vla的函数进行,非模态对话框运行时不能采用command命令,打印的通用函数见http://bbs.mjtd.com/thread-176453-1-1.html
  • ;打印pdf
  • (defun c:dwgpichuli/Form1/plotpdf#OnClicked (/ acaddoc activedoc doc en end fenshu i listname lujing maxp minp shuxingbiaotilan tufu)
  •   (setq acaddoc (vla-get-documents (vlax-get-acad-object)))
  •   (setq activedoc (vla-get-activedocument (vlax-get-acad-object)))
  •   (while (/= (dcl-ListView-GetCount dwgpichuli/Form1/ListView1) 0) ;当列表框内文件数量不为0时,依次打开文件
  •     (progn
  •       (setq doc (vla-open acaddoc  (dcl-ListView-GetItemText dwgpichuli/Form1/ListView1 0 0)))
  •       ;转至多图打印函数
  •       (setq *filename* (getvar "dwgname"))
  •       (dayinpeizhi) ;读取打印配置的自定义文件,包含打印机设置和纸张设置信息等
  •       (setq en (ssget  "X" '((0 . "INSERT")(410 . "Model")(2 . "A3,A4,A2,A1")))) ;选取块名为A3、A2、A4、A1的块用以判断图框
  •       (setq i 0)
  •       (repeat (sslength en)
  •         (setq end (ssname en i))
  •         (vla-getboundingbox(vlax-ename->vla-object end) 'minp 'maxp)
  •         (setq minp (vlax-safearray->list minp)
  •           maxp (vlax-safearray->list maxp))
  •         ;判断纵向横向,l为横向,p为横向
  •         (setq p1 minp)
  •         (setq p2 maxp)
  •         (setq x1 (car p1) y1 (cadr p1) x2 (car p2) y2 (cadr p2))
  •         (setq x (abs (- x1 x2)) y (abs (- y1 y2)) )
  •         (if (> y x) (setq st "p") (setq st "l"))
  •         (setq fenshu (dcl_control_gettext dwgpichuli_Form1_TextBox1))
  •         (gm-dayin dayinjipdf tufu p1 p2  "y" fenshu lujing T "n")
  •         (setq i (1+ i))
  •       )
  •       (vla-close doc :vlax-false)
  •       (dcl-ListView-DeleteItem dwgpichuli/Form1/ListView1 0) ;删除列表中已打印的文件
  •     )
  •   )
  • )

发表于 2020-4-13 12:37:49 | 显示全部楼层
本帖最后由 李钊伟2012 于 2020-4-13 16:19 编辑

感觉不错,有机会试试看
发表于 2021-9-24 22:34:37 | 显示全部楼层
建议可以按属性识别图幅来自动完成批量打印(最好是动态属性块图框),这样做批打软件时就变得简单了,不知道可有QQ群进行交流
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-16 12:12 , Processed in 0.635868 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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