How to split multiple sheets in one layout to individual layout

How to split multiple sheets in one layout to individual layout

margono_bersinar
Enthusiast Enthusiast
3,020 Views
33 Replies
Message 1 of 34

How to split multiple sheets in one layout to individual layout

margono_bersinar
Enthusiast
Enthusiast

I have a many drawing from other people with no standard one sheet on one layout, now we on prosess to make As-built drawing 1000 drawing, any faster way or lsp to split multiple sheets in one layout to individual layout. we use xref title block. for lsp maybe this one similiar prosess publish multiple sheet on one layout.

0 Likes
Accepted solutions (1)
3,021 Views
33 Replies
Replies (33)
Message 2 of 34

baksconstructor
Advocate
Advocate

No problem.
It can publish many formats in one layout.
And it can also split into separate files - on the right Additional functions.
And it can create layouts with viewports from Model - on the right Additional functions.
This is it - Revers 

0 Likes
Message 3 of 34

margono_bersinar
Enthusiast
Enthusiast

It can publish many formats in one layout.

for this i already get lsp on this forum.

And it can also split into separate files - on the right Additional functions.

I dont want make file so many, now file already 1000+ drawing

And it can create layouts with viewports from Model - on the right Additional functions.

all drawing already on the layout.

thank's for suggestion. but not this one what i find.

 

0 Likes
Message 4 of 34

baksconstructor
Advocate
Advocate

I answered all your questions and gave you a solution.
Now you say that you have it, but the issue is not resolved.
So what exactly do you want?

0 Likes
Message 5 of 34

hosneyalaa
Advisor
Advisor

Can you attached example drawing 

0 Likes
Message 6 of 34

margono_bersinar
Enthusiast
Enthusiast

I dont want drawing publish or split to individual file just make it standard drawing 1 sheet per 1 layout. Before this i already use your trial aplication.

0 Likes
Message 7 of 34

pendean
Community Legend
Community Legend

@margono_bersinar wrote:

...just make it standard drawing 1 sheet per 1 layout...


No LISP needed: the core PUBLISH command will do that or you.

0 Likes
Message 8 of 34

margono_bersinar
Enthusiast
Enthusiast

This one is what i have on my phone, for the new drawing still on office, i will back work monday.

0 Likes
Message 9 of 34

margono_bersinar
Enthusiast
Enthusiast

I no need publish the drawing sir.

Before i do split layout with some step like this.

* Make new layout " lisp tabssort" 01~20 drawing.

* use lisp "Copy2layout" for copy from old layout with multiple sheet to target single new layout. Repeat until last page.

* Use lisp "MovelayoutTB" to move sheet all sheet to 0,0.

I just hope if have any faster way to do this.

0 Likes
Message 10 of 34

paullimapa
Mentor
Mentor

Share these lisp functions and a sample dwg with multiple sheets in a single layout. Perhaps others here can help you combine lisps into a one step to accomplish your goal


Paul Li
IT Specialist
@The Office
Apps & Publications | Video Demos
0 Likes
Message 11 of 34

Sea-Haven
Mentor
Mentor

You have a layout called "All" is that what your talking about take the multiple title blocks and make a new layout with each one only, read the attribute for layout name.

 

Me just thinking get all title blocks work out how many layouts needed, copy the one layout multi times then erase all except for the area around the current title block, move result to 0,0. Then do next layout. Yes one of my staff did this copied layouts then deleted unwanted, which is why I wrote a move to 0,0 to fix up his mess.

 

If this sound like what you want let me know. 

0 Likes
Message 12 of 34

margono_bersinar
Enthusiast
Enthusiast

Ok sir, monday i will share the drawing & lsp.

0 Likes
Message 13 of 34

margono_bersinar
Enthusiast
Enthusiast

Yes sir, before i do this manually many years.

After get some lsp on this community i think can do this automatic with lsp.

0 Likes
Message 14 of 34

margono_bersinar
Enthusiast
Enthusiast

SPLIT MULTIPLE SHEET LAYOUT TO SINGLE SHEET PER LAYOUT
-TABSORT (LISP)
-ADD
-1~36
-FIND LAYOUT --> REPLACE
-PREFIX 0 1-9
-ISOLATE ALL OBJECT ON MODEL
-OPTION DISPLAY UNCHECK (CREATE VIEWPORT TO NEW LAYOUT)
-ZEAL (REMOVE ERROR C2L)
-C2L TO TARGET LAYOUT 1~32 (USE 1, 2, 3 TO FASTER MOVE LAYOUT)
-DELETE ORIGINAL LAYOUT
-MTBSD (MOVE ALL TITLE TO 0,0)
-PUBLISH (CHECK DRAWING)

0 Likes
Message 15 of 34

margono_bersinar
Enthusiast
Enthusiast

this one original & after drawing do split to single sheet per layout.

what i think we can move tittle block, without select manually like we can publish multiple sheet on one layout.

0 Likes
Message 16 of 34

Sea-Haven
Mentor
Mentor

Was thinking use copyclip to copy a title block to a new layout then pasteclip. Then don't need erase a much safer way.

 

Bit time limited at moment else would do. Some one else may jump in.

 

0 Likes
Message 17 of 34

margono_bersinar
Enthusiast
Enthusiast

i think beter than use your sugestion before "copy the one layout multi times then erase all except for the area around the current title block". Because if we use copyclip & paste it new layout in my casse that one only copy the layout position not the layer state, so all layer vewport freeze before will be appear. thank you

0 Likes
Message 18 of 34

Sea-Haven
Mentor
Mentor
Accepted solution

This is very much attempt 1, I tested on the L11-core wall dwg. you go to layout All then appload the lisp. it will create layouts 1 2 3 etc, we can work on what to call them next version. Please give it a try. Tested on your new sample dwg also.

 

 

 

 

 

 

;https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/how-to-split-multiple-sheets-in-one-layout-to-individual-layout/td-p/13032412

; copy layouts by AlanH Sept 2024

(defun c:copylays ( / oldsnap ss clay obj xsc ysc pt1 pt2 bname ins )
(setq oldsnap (getvar 'osmode))
(setvar 'osmode 0)

(setq ss (ssget "X" (list (cons 0 "Insert")(cons 2 "TITLE BLOCK*")(cons 410 (getvar 'ctab)))))

(if (= lay nil)(setq lay 1))
(setq laynew (getint (strcat "\nlayout number " (rtos lay 2 0) " ") ))
(IF (= LAYNEW NIL)
(PRINC)
(setq lay laynew)
)
(setq clay (getvar 'ctab))
(repeat (setq K (sslength ss))
(setq obj (vlax-ename->vla-object (ssname ss (setq k (- K 1)))))
(setq xsc (vlax-get obj 'XScaleFactor))
(setq ysc (vlax-get obj 'yScaleFactor))
(setq ins (vlax-get obj 'insertionpoint))
(setq bname (vlax-get obj 'name))
(cond
((= bname "TITLE BLOCK_A2_R")(setq x 595 y 421))
)
(setq pt1 (mapcar '+ ins (list -8 -8 0.0)))
(setq pt2 (mapcar '+ ins (list X y 0)))
(command "copyclip" "w" pt1 pt2 "")
(command "layout" "n" (rtos lay 2 0))
(setvar 'ctab (rtos lay 2 0))
(command "erase" (ssget "X" (list (cons 0  "viewport")(cons 410 (getvar 'ctab)))) "")
(command "pasteclip" "0,0")
(setq lay (1+ lay))
(setvar 'ctab clay)
)

(setvar 'osmode oldsnap)
(princ)
)

 

 

 

 

Ps found 1 little bug which I will fix need to move the title block so 0,0 is correct.

SeaHaven_0-1727068419294.png

Possibly can look at layout name and read numbers will look at that. 16-33 Elev.

0 Likes
Message 19 of 34

margono_bersinar
Enthusiast
Enthusiast

Thank you sir, for your time to help me. the lsp works great, for elevation it's ok but when do this for plan & detail have small problem some layer appear when they already freeze before.

 

for little bug for me that only 2 layout 16 & 17 other one ok.

0 Likes
Message 20 of 34

Sea-Haven
Mentor
Mentor

Limited time at moment will check it more.

0 Likes