Jump to content

VBA CODE-From multiple areas to plot in model space to create a layout for each areas


Recommended Posts

Posted

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

Posted (edited)

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)

Edited by BIGAL
Posted

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

Posted

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 :).

Posted

I am interested in both thing, but more to create layout.

Posted
I am interested in both thing, but more to create layout.

Batch Printing example:

Posted

maratovich....it is a payment tool....I want create a tool with VBA and i would pay :unsure:....

Posted

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 . [color=red]"Da1drsht[/color]")))) ;[color=red] title block name[/color]
(setq n (sslength ss2))
(setq index 0)
(repeat n
   (setq en (ssname ss2 index))
   (setq el (entget en))
   (setq inspt (assoc 10 el)) ;[color=mediumturquoise] insertion pt of title block[/color]
  (setq xmin (- (cadr inspt) [color=red]6.0[/color])) ; [color=red]offset pt lower left[/color]
  (setq ymin (- (caddr inspt)[color=red] 6.0[/color]))
  (setq xymin (strcat (rtos xmin 2 1) "," (rtos ymin 2 1)))
  (setq xmax (+ xmin 813.0)) ; [color=red]hard coded for 813 wide 6mm offset[/color]
  (setq ymax (+ ymin 566.0)) ;[color=red]hard code for 566 high[/color]
  (setq xymax (strcat (rtos xmax 2 1) "," (rtos ymax 2 1)))
[color=red]; scale 1=2 is for an A1 sheet plotted on A3 paper[/color]
[color=#ff0000]; dwg to pdf means we can check if it works rather than waste paper[/color]
 (COMMAND "-PLOT"  "Y"     "" [color=red]"DWG to PDF[/color][color=red]"[/color]
       "A3" "M"     "LANDSCAPE"   "N"
       "W"   xymin   xymax [color=red]"1=2"[/color]  "C"
       "y"   [color=red]"Designlaser.ctb[/color]"      "Y"   "" "n"   "n"
       "y" "N" "N" "Y"
   )

 (setq index (+ index 1))
)
(setvar "osmode" oldsnap)
(princ)

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...