大家好!
你们过去帮了我很大的忙,所以我提前感谢你们接受我的问题!
我正在尝试编写一组LISP例程来替换绘图脚本。目前,我们有一个自定义功能区,带有“快速绘制”选项卡的按钮。这样可以节省手动打开“打印”对话框和设置每个位的时间(我们现在有页面设置,但这对没有页面设置的旧文件没有帮助)。按钮是一种快速简单的方式,可以让人快速绘图。
虽然这些工作很好,但问题是CutePDF产生相对较大的PDF,尤其是与2011 DWG-to-PDF打印机相比。所以2011年的家伙们想使用DWGtoPDF打印机,因为它可以生成小文件。但是,由于绘图仪是内部autocad命令,因此在使用脚本时不会出现保存对话框(如下所示)。
- ^C^Cz;e;-plot;y;;DWG To PDF.pc3;ISO A3 (420.00 x 297.00 MM);M;L;N;E;1:1;c;y;monochrome.ctb;y;N;N;N;;N;Y;
所以
我决定把它全部改成Lisp程序。(艰巨的任务,因为我不知道任何Lisp程序)。到目前为止,我的代码如下:
- (DEFUN C:WAA3LPDF ()
- (SETVAR "CMDECHO" 0)
- (COMMAND "-PLOT"
- "Y"
- ""
- "DWG TO PDF.PC3"
- "ISO EXPAND A3 (420.00 x 297.00 MM)"
- "M"
- "L"
- "N"
- "E"
- "1:1"
- "CEN"
- "Y"
- "monochrome.ctb"
- "Y"
- "N"
- "N"
- "N"
- (getfiled "Save File as..."
- (strcat
- "(getenv "username")\\desktop"
- (vl-filename-base(getvar "DWGNAME")
- )
- )
- "pdf"
- 5
- )
- "N"
- "Y"
- )
- (SETVAR "CMDECHO" 1)
- (PRINC)
- )
我的两个问题是:
1) 我正在尝试将文件对话框的默认位置设置为桌面。我不确定getenv如何与strcat命令一起工作,但它目前工作不正常!
2) 目前,剧本中有5种变体:横向、A1和A3的纵向以及A3横向中的A1。我需要为这些单独的LISP吗?或者我可以将它们全部合并到所有文件中,并从一个按钮调用每个LISP吗?
谢谢你的时间!
亚当 |