Jump to content

How to separate multiple drawings on a layout to file?


magicstone1412

Recommended Posts

Normally I receive autocad files from subcontractor. They put all drawings on a layout (please see the attachment) using a title block or a xref. I would like to separate it to many drawing. Each drawing has one sheet on one layout to use sheet set manager. My question is "Do we have any LISP routine to separate the drawing based on the title block or the xref?". Thank you very much for you help.

 

P27-28.zip

Link to comment
Share on other sites

Why don't you just copy the layout twice then starting with layout1 eliminate the two drawings you don't need and move the one you want to keep where it belongs? Do this for the next two layouts. When done save the drawing then use the Publish command to print all the layouts?

Link to comment
Share on other sites

Thanks for quick response. But let say we have a hundred drawings like that, it takes time to copy as you said.

Link to comment
Share on other sites

I think you could handle it. Or... pick up the phone and tell the contractor that from now on he needs to have one layout per drawing or he doesn't get paid.

Link to comment
Share on other sites

Agree with remark doesn't get paid !

 

But here is something that is similar its plots all title blocks in one space. You could recode it to copy master layout and erase all other title block areas. The last thing is it should move the "1" title block to 0,0 on each layout.

 

; plot all title blocks in model space
(PROMPT ".....PRINTING DRAWING TO plotter....")
(setq oldsnap (getvar "osmode"))
(setvar "osmode" 0)

(setq ss2 (ssget "x" '((0 . "INSERT")(2 . "[color=red]Your titleblockname[/color]")(410 . "[color=red]Layout1[/color]"))))
(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" "" "//Design-5100"
"A3" "M" "LANDSCAPE" "N"
"W" xymin xymax "1=2" "C"
"y" "Designlaser.ctb" "Y" "" "n" "n"
"y" 
)

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

Link to comment
Share on other sites

can not doesn't get paid in this case :cry: because it was not show clearly in the contract :)

 

Thanks BIGAL for your code. My knowledge can not code LISP :(. I have asked 2 cases: using block or xref. I hope that someone can help me. Thank you so much

Link to comment
Share on other sites

Thinking a bit further it may be easy as each area is a title block just copyclip that area, make a new layout paste, to common point ie 0,0. Dont erase the master layout till last in case something is not right. Only problem I see is the order of the layouts again could read the title block for layout name and use a reorder layouts by name.

Link to comment
Share on other sites

we have a hundred drawings like that, it takes time to copy as you said.

 

There is never time to do it right but always enough time to do it over.

Link to comment
Share on other sites

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