找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 680|回复: 12

[分享]:为AutoCAD R14添加分页打印功能

[复制链接]
发表于 2003-10-11 17:19:04 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
上次在论坛里有人问如何能将只能打印A4的打印机能打印大一点的图,即在R14中实现分页打印的功能,我询问了一下单位计算中心出图的人员,他们帮忙做了一个LISP程序。


(defun c:myplot() ;;;主程序
(if (= 1 (getvar "cmddia"))
(setvar "cmddia" 0)
)
(setq num (getint "\nEnter the Number of Page:"))
(setq pmax (getvar "extmax"))
(setq x0 0)
(setq xm (car pmax))
(setq ym (cadr pmax))
(if (= 4 num) ;;;分4页打印
(progn
(setq dx (/ xm 2))
(setq dy (/ ym 2))
(winplt 2 1)
)
(progn

(if (= 2 num) ;;;分2页打印
(progn
(setq dx (/ xm 2))
(setq dy (/ ym 1))
(winplt 2 0)
)
)
)
)
(setvar "cmddia" 1)
(princ)
)


(defun winplt(k n) ;;;窗选分页打印程序
(setq i 1)
(while (<= i k)
(setq j 0)
(while (<= j n)
(setq x1 (+ x0 (* (- i 1) dx)))
(setq y1 (- ym (* j dy)))
(setq x2 (+ x1 dx))
(setq y2 (- y1 dy))
(command "plot" "w" (list x1 y1) (list x2 y2) "")
(setq j (+ 1 j))
)
(setq i (+ 1 i))
)
)


启动AutoCAD后,在其菜单项Tools中的Loadapps…将myplot.lsp文件装载,并在命令行输入myplot即可。

  对上述程序进行稍加修改便可实现4页以上的分页打印,限于篇幅,在此就不再详细介绍了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2003-10-11 21:41:20 | 显示全部楼层
这个程序是我需要的。请问打图的区域是如何控制的。我试了试,没有明白。能讲细一点吗?谢谢
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-10-11 21:47:08 | 显示全部楼层
:)正需要一个用于激光打印机的分页打印程序,这程序有些启发,3q
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-10-11 22:15:22 | 显示全部楼层
55555555555555555555555555
哎,做人真难,你们这边3Q,在AUTOCAD技术上,居然有人骂我发水帖,我狂晕
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-10-12 01:10:07 | 显示全部楼层
版主該主持公道,加分,證明不是水帖
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-10-12 07:41:57 | 显示全部楼层
最初由 zxj1120 发布
[B]55555555555555555555555555
哎,做人真难,你们这边3Q,在AUTOCAD技术上,居然有人骂我发水帖,我狂晕 [/B]


哈,我acad水平比较差,因此这东东对我不是水帖
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-10-12 11:26:28 | 显示全部楼层
哎,也许在AUTOCAD使用技术论坛上的“高手”太多了吧
不过没关系,我想只要对大家有帮助,哪怕是对一个人有帮助,这样写出来我也开心,呵呵
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-10-12 11:42:09 | 显示全部楼层
怎么会呢?支持长老mm,就算一卷卫生纸,一条内裤,都有它的用途,国家是不会忘记你的....
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-10-12 11:51:14 | 显示全部楼层
最初由 2002zjp 发布
[B]这个程序是我需要的。请问打图的区域是如何控制的。我试了试,没有明白。能讲细一点吗?谢谢 [/B]


正如以上所说的,打图区域怎么控制??
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-10-12 11:53:50 | 显示全部楼层
请问楼主具体是如何分页的?是水平方向的,还是垂直方向的?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-10-12 12:18:48 | 显示全部楼层
我的原有打印机的对话框不见了,纸张不能定义了。help!!

再请你看看这个程序;;;;;--------------------------------------------------
;;;;; 电脑报的作品, 我搞不定,请求帮助
;;;;; 2002zjp@sohu.com 
;;;;; 说明:CAD图形打印 2001-03-26于杭州
;众多使用过AutoCAD的朋友都知道,AutoCAD2000的打印功能较
;以前的版本已大有提高。如果您想打印出一幅;图(譬如A3幅),
;但是您的打印机只能打印A4幅,这时您只有用打印功能里的窗选
;功能手工选择打印。为了;以后图形的拼接方便,您还得手工
;给出窗选点的坐标,实在烦琐。笔者用Visual Lisp编了个小程
;序,能够实;现从A3图幅到A4图幅的自动打印,稍加改动能够实
;现A1图幅到A3图幅的打印等,限于篇幅,这里不在详细介绍。
;原程序如下: ;;;打印主程序
;;;;;--------------------------------------------------

(Defun c:a34()
  (Command "layer" "on" "*" "")
  (initpt)
  (Command "Plot" "w" (ret1 pt 1 0) (ret2 pt 2 1) "n")
  (Command "Plot" "w" (ret1 pt 0 0) (ret2 pt 1 1) "n")
  (Command "qsave" "y")
  )
  ;;;-----------;;;
  (Defun initpt()
  (SetQ ptmax (Getvar "extmax")
  a1 (Car ptmax)
  a2 (Cadr ptmax)
  ptmin (Getvar "extmin")
  b1 (Car ptmin)
  b2 (Cadr ptmin)
  s3 0
  lengthx (- a1 b1)
  lengthy (- a2 b2)
  factor (/ 2850 1980)
  unitx (/ lengthx 2)
  unity (* unitx factor)
  )
  (If (<; (/ lengthx 2) (* lengthy factor))
  (Progn (SetQ unity (/ lengthy 2)
  unitx (/ unity factor)
  )
  )
  )对瘦长的图形进行长宽对调
  );;;确定图形的范围并对瘦长的图形进行"处理";;;
  ;;;------------;;;
  (Defun ret1 (Pt numx numy)
  (SetQ s1 (* unitx numx)
  s1 (+ s1 b1)
  s2 (* unity numy)
  s2 (+ s2 b2)
  s3 0
  pt (List s1 s2 s3)
  )
  );;;求窗选点1
  ;;;------------;;;
  (Defun ret2 (Pt numx numy)
  (SetQ s1 (* unitx numx)
  s2 (* unity numy)
  s1 (+ b1 (* s1 101))
  s2 (* s2 101)
  s3 0
  pt (List s1 s2 s3)
  )
  );;;求窗选点2;;;
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-10-12 13:44:58 | 显示全部楼层
最初由 2002zjp 发布
我的原有打印机的对话框不见了,纸张不能定义了。help!!

CMDDIA
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-10-12 14:50:54 | 显示全部楼层
cmddia=1    行
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2025-9-26 20:46 , Processed in 0.346856 second(s), 56 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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