打印lisp停止工作
大家好。我有一个简单的打印lisp例程,它对擦除进行一些基本清理,然后进行打印。到目前为止,它一直运行良好。我和另一个人换了办公室,正在使用不同的打印机(Lanier LD 135 PCL 6),此后,lisp例程停止工作。如果我换回旧打印机,它会再次正常工作。为什么会这样?其他人在办公室的不同打印机上使用它,但只有这台新打印机引起了问题。我试着将lisp更改为特定的打印机以及系统默认值(最初是什么),但什么都不起作用。这是lisp,以防有用。
(defun c:ip()
(Command "erase" (ssget "_X" '((8 . "Wipeout"))) "")
(Command "draworder" (ssget "x" '((0 . "insert"))) "" "Front")
(command "wipeout" "Frames" "OFF")
(command "regen")
(command "-plot" "y" "model" "default windows system printer.pc3" "letter" "inches" "landscape" "no" "limits" "fit" "0.00,0.00" "yes" "invi pipe.ctb" "yes" "a" "n" "n" "y"))(princ)
注意:如果我在控制台中逐步键入打印例程,一切都会正常。只是当作为lisp运行时(或宏,效果相同)。 检查纸张尺寸。这使我们的菜单变得不稳定。尺寸可能是8.5X11而不是字母??
只是一个想法。还要确保已将路径设置为绘图仪和PC3。。等 我办公室里的打印机都不一致。有些需要“.pc3”,有些则不需要,而有些则需要打印服务器路径。确保每台机器都能看到正确的。pc3文件。 谢谢你的快速回复。我检查了尺寸,确实看到可以键入“Letter(8.5“x 11”)”,然后在控制台中使用
-绘图工程。尽管如此,lisp在那次更改后仍然无法工作。我相信路径是正确的,因为我可以手动选择打印机和打印,并且仍然使用例程并发送到大楼中的其他打印机。这正在成为一种痛苦。。。英雄联盟 你可以发布你的命令框(F2),让我们看看它(在程序刚刚运行之后)。 我试着给它确切的服务器路径,当通过控制台绘图时,它工作了。但Lisp程序仍然不走运。通过“看到正确的pc3”你会得到什么?这是我运行lisp后得到的结果。注意:我有时会在其他电脑上得到未知的命令错误,但它仍然会运行并打印。
Command: ip
Unknown command "IP".Press F1 for help.
11
Unknown command ")".Press F1 for help.
Unknown command "INCHES".Press F1 for help.
Unknown command "LANDSCAPE".Press F1 for help.
Unknown command "NO".Press F1 for help.
2D point or option keyword required.
2D point or option keyword required.
; error: An error has occurred inside the *error* functionFunction cancelled
Reset Model space limits:
谢谢你花时间帮助大家 有两种方法可以消除代码中的bug;
第一,如果通过控制台打印工作正常,那么编写一个脚本。
第二,如果你的脚本有效,那么像这样修改你的lisp
(setq SCR (open "C:yourpath/youscript.scr" "w"))
(princ "-PLOT\n" SCR)
(princ "Y\n" SCR)
....etc.
(close SCR)
(Command "script" "yourscript")
我用过这个,效果很好。 第一件事第一,
文本屏幕显示if不将ip识别为命令。它要么未加载,要么可以加载为(defun ip()。。。。而不是(defun c:ip()。。。
先检查一下 例程已加载并执行,但有些内容无效。看起来是pc3的名字。运行例程的这一部分,只需在命令行中键入每个序列。
-绘图
y
模型
默认blah blah(类型“?”看看什么是可用的)名称只是设置不同,我相信。 您发布的lisp代码的最后一行中似乎有不匹配的括号。右括号也应将函数收尾。
尝试加载此版本的代码,看看它是否运行正常
(defun c:ip ()
(Command "erase" (ssget "_X" '((8 . "Wipeout"))) "")
(Command "draworder"
(ssget "x" '((0 . "insert")))
""
"Front"
)
(command "wipeout" "Frames" "OFF")
(command "regen")
(command "-plot" "y" "model"
"default windows system printer.pc3"
"letter" "inches" "landscape"
"no" "limits" "fit"
"0.00,0.00" "yes" "invi pipe.ctb"
"yes" "a" "n"
"n" "y"
)
(princ)
)
页:
[1]
2