VBA CODE-From multiple areas t
Hi everybody,I have a big problem....
I have about 100 DWG with a lot of sheet in the same model space and i must print every sheet, so i am looking for a script in VBA or lisp to create from multiple areas to plot in model space, a layout tab for each area vba autocad.
I found a lisp script, but it doesn't run (plotDWGarr).
(http://www.cadforum.cz/cadforum_en/plotting-a-series-of-drawing-frames-composed-in-a-dwg-drawing-tip7585)
Do you know another similar script o to write a VBA to do it?
Thank you very much in advance If I understand correct this will plot all sheets in model space rather than trying to redo all of them.
; plot multi title block in Model space ; By Alan H 2013(PROMPT ".....PRINTING DRAWING TO plotter....")(setq oldsnap (getvar "osmode"))(setvar "osmode" 0)(setq ss2 (ssget "x" '((0 . "INSERT")(2 . "Da1drsht"))))(setq n (sslength ss2))(setq index 0)(repeat n (setq en (ssname ss2 index)) (setq el (entget en)) (setq inspt (assoc 10 el)) ; insertion pt(setq xmin (- (cadr inspt) 6.0))(setq ymin (- (caddr inspt) 6.0))(setq xymin (strcat (rtos xmin 2 1) "," (rtos ymin 2 1)))(setq xmax (+ xmin 813.0)) ; hard coded for 813 wide 6mm offset(setq ymax (+ ymin 566.0)) ;hard code for 566 high(setq xymax (strcat (rtos xmax 2 1) "," (rtos ymax 2 1))) (COMMAND "-PLOT""Y" "" "//PRODPRN01/Design-5100" "A3" "M" "LANDSCAPE" "N" "W" xymin xymax "1=2""C" "y" "Designlaser.ctb" "Y" "" "n" "n" "y" "N" "N" "Y" ) (setq index (+ index 1)))(setvar "osmode" oldsnap)(princ) FrancescoITA
Add example file. For Bigal:
Thank you very much Bigal, after i will try if it runs or no.
However i prefer use a VBA for this script
For Maratovich:
Excuse me, here the example.
Example Model (1).pdf
Example.rar Look at the options of this topic, there is a solution.
http://www.cadtutor.net/forum/showthread.php?98832-lisp-for-automatically-set-view-ports-from-model-space
http://www.cadtutor.net/forum/showthread.php?98800-Plot-user-paper-size
You need to batch printing or creating layouts ? For Bigal:
Excuse me Bigal for my ignorance, but how can i use your script, because i tried, but AutoCad told me that there are some problems.
Can you tell me what steps i must do to load and to use your script??^^
Thank you very much . I am interested in both thing, but more to create layout. Batch Printing example: maratovich....it is a payment tool....I want create a tool with VBA and i would pay .... Some bits you need to change are shown in red, copy and paste my 1st post to Notepad save as "Plot-Multi-Mspace.lsp". make changes to the code as shown below, post a dwg with say two title blocks a RAR is a nuisance for me then could change code for you.
To run type Appload and pick the lisp Load & close it should run.
; plot multi title block in Model space ; By Alan H 2013(PROMPT ".....PRINTING DRAWING TO plotter....")(setq oldsnap (getvar "osmode"))(setvar "osmode" 0)(setq ss2 (ssget "x" '((0 . "INSERT")(2 . "Da1drsht")))) ; title block name(setq n (sslength ss2))(setq index 0)(repeat n (setq en (ssname ss2 index)) (setq el (entget en)) (setq inspt (assoc 10 el)) ; insertion pt of title block(setq xmin (- (cadr inspt) 6.0)) ; offset pt lower left(setq ymin (- (caddr inspt) 6.0))(setq xymin (strcat (rtos xmin 2 1) "," (rtos ymin 2 1)))(setq xmax (+ xmin 813.0)) ; hard coded for 813 wide 6mm offset(setq ymax (+ ymin 566.0)) ;hard code for 566 high(setq xymax (strcat (rtos xmax 2 1) "," (rtos ymax 2 1))); scale 1=2 is for an A1 sheet plotted on A3 paper; dwg to pdf means we can check if it works rather than waste paper (COMMAND "-PLOT""Y" "" "DWG to PDF" "A3" "M" "LANDSCAPE" "N" "W" xymin xymax "1=2""C" "y" "Designlaser.ctb" "Y" "" "n" "n" "y" "N" "N" "Y" ) (setq index (+ index 1)))(setvar "osmode" oldsnap)(princ)
页:
[1]