Visual LISP, AutoLISP and General Customization

Visual LISP, AutoLISP and General Customization

Reply
Active Member
licences
Posts: 6
Registered: ‎03-28-2012
Message 1 of 13 (2,066 Views)
Accepted Solution

Need help with the plotting command in LISP

2066 Views, 12 Replies
02-14-2013 11:03 AM

Greetings,

 

We need to use the DWG to PDF.pc3 with the -Plot command in a LISP script for batch printing to files.

 

The problem is that we need the users to select where they need to save the document, but the LISP command then select the next parameter during the save screen. For instance, if the parameter following the save dialog prompt is "No", it will save the file as "No" in the My Documents folder.

 

Here is what the line looks like at the moment (please note that this is working for the prompt with a printer like Adobe PDF but not DWG to PDF.pc3):

 

(COMMAND "_-PLOT" "OUI" "OBJET" "DWG TO PDF.PC3" FORMATP unite orient1 "NON" "L" P1 P2 FACTEUR "C" "OUI" "STAS_DESIGNJET.CTB" "OUI" "A" "NON" "NON" "OUI")

We are using AutoCAD Mechanical 2013 french.

 

Can you help us out please?

 

Thanks a lot for your time and help.

You can't get the dialogue box to show DURING the print process, but you could set the filename BEFORE the _PLOT command using (getfiled,

 

S

Distinguished Mentor
scottbolton
Posts: 647
Registered: ‎08-30-2005
Message 2 of 13 (2,056 Views)

Re: Need help with the plotting command in LISP

02-14-2013 11:20 AM in reply to: licences

In AutoCAD and Civil 2013 this works for me:

 

(command "-plot"
  "Yes"                      ;Detailed plot configuration? [Yes/No] <No>: Y
  ""                         ;Enter a layout name or [?] <0_01a>:
  "DWG To PDF.pc3"           ;Enter an output device name or [?] <DWG To PDF.pc3>:
  (substr PLOT_framesize 17) ;Enter paper size or [?] <ISO full bleed A3>:
  "Millimeters"              ;Enter paper units [Inches/Millimeters] <Millimeters>:
  PLOT_rotation              ;Enter drawing orientation [Por.../Lan...] <Lan...>:
  "No"                       ;Plot upside down? [Yes/No] <No>:
  "Window"                   ;Enter plot area [D.../E.../L.../V.../W...] <Window>:
  PLOT_BL                    ;Enter lower left corner of window <0,0>:
  PLOT_TR                    ;Enter upper right corner of window <420,297>:
  "1=1"                      ;Enter plot scale or [Fit] <1=1>:
  "Center"                   ;Enter plot offset (x,y) or [Center] <Center>:
  "Yes"                      ;Plot with plot styles? [Yes/No] <Yes>:
  ""                         ;Enter plot style table name or [?] <>:
  "Yes"                      ;Plot with lineweights? [Yes/No] <Yes>:
  "No"                       ;Scale lineweights with plot scale? [Yes/No] <No>:
  "No"                       ;Plot paper space first? [Yes/No] <No>:
  "No"                       ;Hide paperspace objects? [Yes/No] <No>:
  PLOT_filename
  "Yes"                      ;Save changes to page setup [Yes/No]? <N> y
  "Yes"                      ;Proceed with plot [Yes/No] <Y>:
  )

 

where PLOT_filename = (strcat (getvar "DWGPREFIX") (vl-filename-base (getvar "DWGNAME")) ".pdf")

 

i.e. the PDF is created with the same name and in the same folder as the DWG.

 

S

Active Member
licences
Posts: 6
Registered: ‎03-28-2012
Message 3 of 13 (2,048 Views)

Re: Need help with the plotting command in LISP

02-14-2013 11:47 AM in reply to: scottbolton

Greetings,

 

Thanks for your answer, but what we actually need is to get the save dialog prompt to show up to manually select the location and type the filename as well.

 

Is it possible to do it that way?

 

Thanks again.

Distinguished Mentor
scottbolton
Posts: 647
Registered: ‎08-30-2005
Message 4 of 13 (2,032 Views)

Re: Need help with the plotting command in LISP

02-14-2013 12:20 PM in reply to: licences

You can't get the dialogue box to show DURING the print process, but you could set the filename BEFORE the _PLOT command using (getfiled,

 

S

Active Member
licences
Posts: 6
Registered: ‎03-28-2012
Message 5 of 13 (2,023 Views)

Re: Need help with the plotting command in LISP

02-14-2013 12:54 PM in reply to: scottbolton

Greetings,

 

Thanks a lot, it worked with getfiled.

*Expert Elite*
hmsilva
Posts: 3,369
Registered: ‎12-17-2004
Message 6 of 13 (2,014 Views)

Re: Need help with the plotting command in LISP

02-14-2013 01:22 PM in reply to: licences

licences,
using a tilde you can bring up the dialogue box

 

(COMMAND "_-PLOT" "OUI" "OBJET" "DWG TO PDF.PC3" FORMATP unite orient1 "NON" "L" P1 P2 FACTEUR "C" "OUI" "STAS_DESIGNJET.CTB" "OUI" "A" "NON" "~" "NON" "OUI")

 

I hope I have understood the French commands...

 

Henrique

Active Member
licences
Posts: 6
Registered: ‎03-28-2012
Message 7 of 13 (1,986 Views)

Re: Need help with the plotting command in LISP

02-15-2013 05:52 AM in reply to: hmsilva

Greetings,

 

Thanks for your reply hmsilva, your solution works as well and does the same with less code. The dialog is a little bit different from getfiled, it can be edited (resized) and you can see the quick shortcuts on the left side (same as the save dialog used in AutoCAD). In our case, this will prove to be handy.

 

I gave you a "kudo" as I have already accepted the solution with getfiled.

 

Thanks again to both of you for your time and help.

*Expert Elite*
hmsilva
Posts: 3,369
Registered: ‎12-17-2004
Message 8 of 13 (1,979 Views)

Re: Need help with the plotting command in LISP

02-15-2013 06:49 AM in reply to: licences

You're welcome,  licences

Member
ardeiasi
Posts: 3
Registered: ‎08-16-2013
Message 9 of 13 (1,685 Views)

Re: Need help with the plotting command in LISP

08-16-2013 03:55 AM in reply to: scottbolton

if i want to add a counter in filename how can i do it?

for example i have a matrix of pages (3 rows  by 2 columns) that i want to print to pdf: for each row by column i want pdf name row_col.pdf or _counter.pdf.

Thanks!

 

*Expert Elite*
Lee_Mac
Posts: 1,270
Registered: ‎12-29-2009
Message 10 of 13 (1,681 Views)

Re: Need help with the plotting command in LISP

08-16-2013 04:18 AM in reply to: ardeiasi

Initialise a counter variable before your plotting loop (setq count 0), and increment the variable within the loop (setq count (1+ count)). When supplying the filename to the plot command, convert the counter to a string (itoa count), then concatenate this with the plot filename (strcat "Myfile" (itoa count) ".pdf").

Lee Mac ProgrammingTwitterExchange App StoreDropbox (500MB free)
Expert Elite
With Mathematics there is the possibility of perfect rigour, so why settle for less?
Post to the Community

Have questions about Autodesk products? Ask the community.

New Post
Announcements
Do you have 60 seconds to spare? The Autodesk Community Team is revamping our site ranking system and we want your feedback! Please click here to launch the 5 question survey. As always your input is greatly appreciated.