[求助]怎样制作自动分幅程序?
我们经常AUTOCAD2000作一些图纸,特别是做一些大一点的图纸。由于单位只有A4纸张的打印机所以在出图的时很不方便,把图全部打印在A4纸上显然不合适。只好分块打印,并操作很是麻烦。很想编辑一个能自动分幅,并且能对每一幅图纸进行单独存储的程序,却找不到有效的方法。在这里我向各位大虾求教?EMAIL: GYXZZZA@PEOPLEMAIL.COM.CN
范例...
; SOP_1.LSP;
; 批次打印SOP数据使用的A4尺寸图形范围
; Jan. 06. '98
; 错误捕捉函式
(defun *error* ()
(princ "\n < 发生非预期的错误 ! ! >")
)
; 批次打印SOP数据使用的A4尺寸图形范围
; plot_list 图纸范围串行
; plot_id 出图指标
; plot_l 出图范围的左下角点坐标
; plot_r 出图范围的右上角点坐标
;
(defun c:SOP_1 (/ plot_list plot_id plot_l plot_r) ; 指定函式名称
(setvar "blipmode" 0) ; 重设系统变量的设定值
(setvar "cmddia" 0)
(setvar "cmdecho" 0)
(setq plot_list '(((0 0) ( 200 285)) ; 第一张A4尺寸
((210 0) ( 410 285)) ; 第一张A4右方
((420 0) ( 620 285))
((630 0) ( 830 285))
((840 0) (1040 285))
((0 297) ( 200 582)) ; 第一张A4尺寸上方
((210 297) ( 410 582))
((420 297) ( 620 582))
((630 297) ( 830 582))
((840 297) (1040 582))
)); end of setq
(foreach plot_id plot_list ; 依次执行
(setq plot_l (carplot_id) ; 取得出图范围的左下角点坐标
plot_r (cadr plot_id) ; 取得出图范围的右上角点坐标
); end of setq
(command "plot" "w" plot_l plot_r "" "" "") ; R14版适用
; (command "plot" "w" plot_l plot_r "" ) ; R13版适用
; (command "plot" "w" plot_l plot_r ";" ) ; R12版适用
); end of foreach
(setvar "blipmode" 1) ; 还原系统变量的设定值
(setvar "cmddia" 1)
(setvar "cmdecho" 1)
(graphscr) ; 进入绘图屏幕
(prin1)
);end of SOP_1.LSP
; 载入档案时的提示文句
(prompt "\n.")
(prompt "\n<功能> 批次打印A4尺寸的图形范围")
(prompt "\n.")
(prompt "\n<指令> SOP_1")
(prompt "\n.")
(prin1)
见到你的贴子非常感谢!最近我想只保存指定区域的图形内容请问有办法吗?
分幅我是用MAP里面的地图工具!
页:
[1]