自定义打印lisp(帮助ple
如果可能的话,我需要帮助。。。我需要它在我已经开始的地方循环,在它说结束的地方结束,没有来自用户的连续输入和任何给定数量的绘图。有可能在任何地方打断循环并继续通过循环来重置我的快照吗?例如,一张图纸上有多页要打印。
我希望它继续要求我提供一个绘图窗口并打印,直到我打破循环,然后我希望它重置我的快照。我不想被提示是否要继续绘制页面。
我希望这会使。。。
;************************************************* ***********
(定义C:PPL()
;;************************************************ *************
(setq PLD“佳能iC2300 PCL5e”);
(setq PPS“(11x17)”);
(setq PS“ARINC-BASE.ctb”);
;************************************************* **************************************************
(setq或snap(getvar“osmode”))
(setvar“OSMODE”1)
;开始循环
(initget 1)
(setq P1(getpoint“\n左上端点:”)
(Initget 1)
(setq P2(getpoint“\n右下端点:”)
;;************************************************ ************
(命令“-PLOT“y”PLD“11x17”in“l”n“w”P1 P2“f”c“PS”“y”)
;结束循环
(setvar“OSMODE”或NAP)
;************************************************* **************************************************
) 也许是这样:
在命令行中键入CLP
(defun c:CPL ( / pld pps ps orsnap p1 p2)
(setq PLD "Canon iC2300 PCL5e") ; << Ploting Device
(setq PPS "(11x17)") ; << Paper Size
(setq PS "ARINC-BASE.ctb") ; << Plot yStyle Table
(setq orsnap (getvar "osmode"))
(setvar "OSMODE" 1)
(while
(and
(null (initget 1))
(setq P1 (getpoint "\n Upper Left Endpoint: "))
(null (initget 1))
(setq P2 (getcorner p1 "\n Lower Right Endpoint: "))
)
(command "-PLOT" "y" "" PLD "11x17" "in" "l" "n" "w" P1 P2 "f" "c" "" PS ""
"" "" "y" "")
)
(setvar "OSMODE" orsnap)
(princ)
)
不确定,但您可能不需要保存,因为它可能已经被添加。
然后选择要在其上运行脚本的图形。
运行脚本将打开每个图形,运行脚本,然后关闭图形。
它会重复,直到完成所有绘图。
因此,如果您的复数lisp不需要用户输入,则50个图形的处理将是自动的。 完全自动化这个过程怎么样。是否可以定位和使用多个块参照的坐标?
这就是我的工作。。。
我试着插进去,但没用。。。这是超链接。。。
http://img256.imageshack.us/my.php?image=70952229nw4.jpg 大多数情况下,脚本中不涉及lisp。所以你的脚本看起来像这样:
注意,我刚刚为缺失的响应添加了n,您需要纠正这些错误。
(defun c:CPL ( / pld pps ps orsnap p1 p2); << whats this do?
(setq PLD "Canon iC2300 PCL5e") ; << Ploting Device
(setq PPS "(11x17)") ; << Paper Size
(setq PS "ARINC-BASE.ctb") ; << Plot yStyle Table
(setq orsnap (getvar "osmode"))
(setvar "OSMODE" 1)
(while
(and
(null (initget 1)); << whats this null do?
(setq P1 (getpoint "\n Upper Left Endpoint: "))
(null (initget 1))
(setq P2 (getcorner p1 "\n Lower Right Endpoint: "))
)
(command "-PLOT" "y" "" PLD "11x17" "in" "l" "n" "w" P1 P2 "f" "c" "" PS ""
"" "" "y" "")
)
(setvar "OSMODE" orsnap)
(princ); << whats this do?
)
看看发布命令,它会让我们的生活更轻松。 是的,如果图纸中有可以获得的点。 请帮帮我。。。。我无法处理这个Lisp程序的问题,因为。。。我有123 a4大小的x部分在一个模型的图纸。我可以同时绘图吗?请帮帮我。我需要123 pdf文件和打印。我有任何Lisp程序的地方。。。。 我无法使用附加的程序。。。我在autocad2009版本中工作。。。请帮帮我
(定义c:CPL(/pld pps ps或NAP p1 p2)(setq pld“Canon iC2300 PCL5e”); nope no xrefs.seperate plots on one dwg, on one tab.
I..Dwg
A. model tab
1. Sheet 1-50
2. Sheet 2-50
……and so on………
only seperated by the lines i draw. multiple plots by window is what i needed.and im soooo happy i dont have to Use the * to repeat the command via CUI.that messed up all my snaps and a couple other things.
Whats that first link do.. generate routines by selecting commands on a graphical interface?if not....get to work on that im sure you could figure it out in half the time i could. :wink: The first link is to a Script Generator / Facilitator.
You load or create a script. In your case it could be simply this:
(C:cpl)save
Not sure but you may not need the save as it may already be added.
You then select the Drawings to run the script on.
Run Script will then open each drawing, run the script, then close the drawing.
It repeats until all the drawings are done.
So if your CPL lisp did not require user input the process for the 50 drawings would be automatic.
页:
[1]
2