piao1887 发表于 2007-1-4 17:51:00

[求助]求教如何实现CAD图形的批量打印

求教如何实现CAD图形的批量打印,我是新手,请说的详细点,谢谢

zhaomc520 发表于 2007-1-4 19:14:00

<p>CAD自带的发布命令就可以,而且很好用</p><p>打印dwf,直接打印都可以</p>

guisu771 发表于 2007-1-27 20:43:00

<p><strong>求教如何实现CAD图形的批量打印</strong></p><p><strong></strong></p><p><strong></strong></p><p><strong>很多人都有类似的经验了</strong></p>

NetBee 发表于 2007-1-29 23:13:00

<p>批量打印有以下几种方式吧:</p><p>1。不同文件相同打印模式。如南方测绘中生成的分幅图形文件。</p><p>2。不同文件不同打印模式。根据每个文件自身的打印样式打印。CAD自带的批量打印。</p><p>3。本图形文件中的不同图形区域的相同打印。如纬地道路的断面图等。</p><p>4。本图形文件中的各布局空间的不同打印。</p><p>不同的批打要求,有不同的处理方法。</p>

kaibing 发表于 2007-9-11 23:00:00

<p>很快的,全自动,还可按页码数顺序打印。</p>

linshucai 发表于 2007-9-12 13:50:00

;bplotone 批量打印<br/>;creprint 定义打印区<br/>;(delprint) 删除打印区<br/>;bplotlin 图框打印<br/>;;; 保存原有系统变量,设置程序运行时的系统变量<br/>(Defun cmd1 ()<br/>(Setq cho (Getvar "Cmdecho")<br/>osm (Getvar "Osmode")<br/>)<br/>(Setvar "Cmdecho" 0)<br/>(Setvar "osmode" 0)<br/>)<br/><br/><br/><br/>;;; 恢复原有系统变量<br/>(Defun cmd2 ()<br/>(Setvar "Cmdecho" cho)<br/>(Setvar "Osmode" osm)<br/>(Terpri)<br/>(Princ)<br/>)<br/><br/>(vl-load-com)<br/><br/>(defun getbound1( / ent i obj plist pta ptb ss)<br/>(setq ss (ssget "x" (list (cons 8 "print") )))<br/>(setq i  -1)<br/>(setq plist (LIST) ) <br/> (while (setq ent (ssname ss (setq i (1+ i))))<br/>     (setq obj (vlax-ename-&gt;vla-object ent))<br/>      (vla-GetBoundingBox obj 'pta 'ptb)<br/>      (setq plist (append plist (LIST (list (vlax-safearray-&gt;list pta) (vlax-safearray-&gt;list ptb)))))<br/> );end while <br/> plist<br/>);end defun<br/>  <br/>;取得图元的外形最小点与最大点<br/>(defun getbound( / ent obj pta ptb)<br/>(setvar "osmode" 0)<br/>  (if (setq ent (car (entsel "\n选择图框:")))<br/>    (progn<br/>      (setq obj (vlax-ename-&gt;vla-object ent))<br/>      (vla-GetBoundingBox obj 'pta 'ptb)<br/>      (list (vlax-safearray-&gt;list pta) (vlax-safearray-&gt;list ptb) )<br/>    )<br/>  );end if<br/>);end defun<br/><br/>;批量打印<br/>(defun c:bplotlin( / a an n p1 p2 plist px py)<br/>(cmd1)<br/>(setq n (getint "\n请输入份数:"))<br/>(if (= n nil)<br/>   (setq n 1)<br/>)<br/>(setq plist (getbound))<br/>(setq p1 (nth 0 plist))<br/>(setq p2 (nth 1 plist))<br/>(setq px  (- (car p2) (car p1)) )<br/>(setq py (-(cadr p2) (cadr p1)))<br/>(if (&gt; px py)<br/>  (setq an "L")<br/>  (setq an "P")<br/>  )<br/>;(setq p1 (getpoint "\n左下点:"))<br/>;(setq p2 (getpoint "\n右上点:"))<br/>(setq a (strcase (getstring "\nA4/A3:")))<br/>(if (= a nil)<br/>   (setq a "A3")<br/>)<br/>(repeat n<br/>(command "-plot" "y" "模型" "\\\\JH-05\\HP LaserJet 5100 PCL 6" a "M" an "N" "W" p1 p2 "F" "1.75,0.00" "y" "monochrome.ctb" "y" "w" "N" "n" "Y")<br/>)<br/>(cmd2)<br/>(princ)<br/>)<br/><br/>;批量打印,可为矩形,可为图块<br/>(defun c:bplotone( / a an n p1 p2 plist px py)<br/>(cmd1)<br/>(setq n (getint "\n请输入份数:"))<br/>(if (= n nil)<br/>   (setq n 1)<br/>)<br/>(setq a (strcase (getstring "\nA4/A3:")))<br/>(if (= a nil)<br/>   (setq a "A3")<br/>)<br/>(setq plist (getbound1))<br/>(setq i 0)<br/>(repeat (length plist)<br/>  (setq plotlist (nth i plist))<br/>  (setq p1 (nth 0 plotlist))<br/>  (setq p2 (nth 1 plotlist))<br/>  (setq px  (- (car p2) (car p1)) )<br/>  (setq py (-(cadr p2) (cadr p1)))<br/>  (if (&gt; px py)<br/>    (setq an "L")<br/>    (setq an "P")<br/>   )<br/>   (repeat n<br/>     (command "-plot" "y" "模型" "\\\\JH-05\\HP LaserJet 5100 PCL 6" a "M" an "N" "W" p1 p2 "F" "1.75,0.00" "y" "monochrome.ctb" "y" "w" "N" "n" "Y")<br/>    );end repeat<br/>   (setq i (1+ i))<br/> );end repeat<br/>(cmd2)<br/>(princ)<br/>)<br/>;定义打印矩形<br/>(defun C:creprint( / p1 p2 )<br/>(cmd1)<br/>(setq p1 (polar (getpoint "\n左上点:") (* pi 0.75) 50))<br/>(setq p2 (polar (getcorner p1 "\n右下点:")(* pi -0.25) 50) )<br/>(command "-layer" "m" "print" "p" "n" "print" "" )<br/>(command "rectang" p1 p2)<br/>(cmd2)<br/>)<br/>;删除打印矩形<br/>(defun delprint()<br/>(command ".erase" (ssget "x" (list (cons 8 "print"))))<br/>)

fansmax 发表于 2007-9-19 14:09:00

<p>个人认为,在单文件,不使用布局的情况下,通过把图框定义为属性块,在这个属性块加入打印所需的扩展数据,最后通过过滤指定图框实现打印较好,不过缺点是,事先已把图框准备好了。</p>

天龙八部 发表于 2007-9-21 18:17:00

不同的人可能做方法不同,我觉得批量打印的话,先判断打印框是否为PL线,然后判断打印框是否为某个LAYER,按照一定的条件自动批量打印,至于CAD内带的批量打印主要是针对布局空间的,

liuyilin 发表于 2007-9-29 10:06:00

学习      

liuyilin 发表于 2007-9-29 10:07:00

<a href="http://bbs.mjtd.com/forum.php?mod=viewthread&tid=57165&amp;replyID=43570&amp;skin=1"><font color="#000000" size="+0">CAD自带的发布命令就可以,而且很好用...</font></a>
页: [1] 2
查看完整版本: [求助]求教如何实现CAD图形的批量打印