JeepMaster 发表于 2022-7-6 12:59:31

使用“上一页”打印预览

有人能帮我创建这个Lisp程序吗。有时,当我需要打印一组图形时,我会进行打印,选择页面设置,然后预览以进行双重检查,然后进行打印。在剩下的图形上,我会进行绘图,选择页面设置“上一个绘图”,预览,然后绘图。
 
现在可以直接使用“上一个绘图”页面设置进行绘图预览了吗。我知道如果我在所有图形上都进行了正确的页面设置,我可以只单击打印预览,但有时我需要使用奇怪的设置进行打印。请帮忙。

uddfl 发表于 2022-7-6 13:04:49

一种方法(可能不太理想,但我能想到的就是)让LISP将以前的打印设置保存到页面设置中,然后调用“预览”命令。
 
(defun c:ppp ()
(command "-plot" "no" "" "previous plot" "" "" "y" "n")
(command "preview")
(princ)
)

JeepMaster 发表于 2022-7-6 13:12:55

感谢uddfl,
我从来没有这样想过。看起来效果不错。我添加了一个撤消命令,因此页面设置不会保存到图形中。我很确定有更好的方法。如果有人有更好的,请张贴。
(defun c:PPP (); Plot Preview Previous
(command "undo" "be")
(command "-plot" "no" "" "previous plot" "" "n" "y" "n")
(command "preview")
(command "undo" "e")
(command "undo" "1")
(command "regenall")
(princ)
)

Zorg 发表于 2022-7-6 13:17:08

你能用这段代码的变化来处理之前的情节吗?如果是,如何?

JeepMaster 发表于 2022-7-6 13:21:47

你的意思是像这样。
(defun c:PlotP (); Plot Previous
(command "-plot" "no" "" "previous plot" "" "n" "y" "n")
(princ)
)

Zorg 发表于 2022-7-6 13:25:10

这不管用,它没有给我任何东西

JeepMaster 发表于 2022-7-6 13:33:06

对不起我的错误,
最后一个命令是询问是否要打印它。我忘了它以前只是用作预览。
(defun c:PlotP (); Plot Previous
(command "-plot" "no" "" "previous plot" "" "n" "y" "y")
(princ)
)
现在很好用。您也不能使用此选项保存页面设置。
(defun c:PlotP (); Plot Previous
(command "-plot" "no" "" "previous plot" "" "n" "n" "y")
(princ)
)

Zorg 发表于 2022-7-6 13:36:35

这很好,但是当我尝试将它们结合到一个代码中时,之前的打印预览不起作用,你能解释为什么吗?
 
(defun c:PP (); Plot Previous
(command "-plot" "no" "" "previous plot" "" "n" "n" "y")
(princ)
)

(defun c:PPP (); Plot Preview Previous
(command "undo" "be")
(command "-plot" "no" "" "previous plot" "" "n" "y" "n")
(command "preview")
(command "undo" "e")
(command "undo" "1")
(command "regenall")
(princ)
 
此外,我需要做什么才能在上一个绘图上加入提示,询问“您想预览绘图吗?”&“是否要使用以前的设置进行打印?”
 
提前感谢
Z

JeepMaster 发表于 2022-7-6 13:40:07

代码的最后缺少了一个“)”。
(defun c:PP (); Plot Previous
(command "-plot" "no" "" "previous plot" "" "n" "n" "y")
(princ)
)

(defun c:PPP (); Plot Preview Previous
(command "undo" "be")
(command "-plot" "no" "" "previous plot" "" "n" "y" "n")
(command "preview")
(command "undo" "e")
(command "undo" "1")
(command "regenall")
(princ)
)

 
您可以添加一个新的主例程,并在用户选择yes时调用PP或PPP子例程。但是现在你把一个简单的任务变得更复杂了。

Zorg 发表于 2022-7-6 13:49:00

美丽的
页: [1] 2
查看完整版本: 使用“上一页”打印预览