Is there a way to change a setting in multiple layouts at the same time?

Anonymous

Is there a way to change a setting in multiple layouts at the same time?

Anonymous
Not applicable

I'm trying to print a bunch of drawings as seperate PDFs and I want to change the plot style/printer of each layout to match. I don't want to go into the page setup manager to change each one seperately as that would take some time so I wanted to know; is there a way to change a setting across all layouts in a drawing? 

0 Likes
Reply
Accepted solutions (1)
13,247 Views
21 Replies
Replies (21)

imadHabash
Mentor
Mentor
Accepted solution

try from Publish command to add your drawings layouts then :

  • select all of your drawing in the dialog .
  • from the first one in the list (  which you modify plot style/printer ) 
  • from pagesetup import your modified pagesetup .
  • Now your modified pagesetup will come over all the other selected drawings .
  • make sure that all of your drawings have the same plot settings .

be patient and try it . 

Imad Habash

EESignature

murray-clack
Advisor
Advisor

Attached is a LISP routine that will do what you are looking for

kilama1331
Contributor
Contributor
Hello
I have multiple layouts with single viewports each that i imported from another drawing. Is there a way i can automatically change all their scales?
0 Likes

ВeekeeCZ
Consultant
Consultant

Unless you're on LT, you can use this LISP. If you don't know how read THIS 

 

(vl-load-com)
(defun c:VPAllCustomscale ( / c s i) (if (and (setq c (getreal "\nCustom scale for all VPs: ")) (setq s (ssget "_X" '((0 . "VIEWPORT")(-4 . ">")(69 . 1))))) (repeat (setq i (sslength s)) (vl-catch-all-apply 'setpropertyvalue (list (ssname s (setq i (1- i))) "CustomScale" c)))) (princ) )

 

cadffm
Consultant
Consultant

 


@ВeekeeCZ wrote:

Unless you're on LT, you can use this LISP. If you don't know how read THIS 

 

(vl-load-com)
(defun c:VPAllCustomscale ( / c s i) (if (and (setq c (getreal "\nCustom scale for all VPs: ")) (setq s (ssget "_X" '((0 . "VIEWPORT"))))) (repeat (setq i (sslength s)) (vl-catch-all-apply 'setpropertyvalue (list (ssname s (setq i (1- i))) "CustomScale" c)))) (princ) )

 


I am pretty sure "each viewport" from user view doesn't mean  "all viewports" technically

and I recommend to edit the user defined viewports only.

(setq s (ssget "_X" '((0 . "VIEWPORT")(-4 . ">")(69 . 1))))

 

{edited}

 

@kilama1331 for other properties than the scale you can go this way:

Command: (sssetfirst nil (ssget "_X" '((0 . "VIEWPORT")(-4 . ">")(69 . 1))))

and you can edit properties by PropertiesPalette [CTRL+1]

 

Sebastian

ВeekeeCZ
Consultant
Consultant

@cadffm wrote:
{edited}

@kilama1331 for other properties than the scale you can go this way:

Command: (sssetfirst nil (ssget "_X" '((0 . "VIEWPORT")(-4 . ">")(69 . 1))))

and you can edit properties by PropertiesPalette [CTRL+1]

 


That's a neat trick. So we have no built-in tool available to select all entities across the entire drawing (even the QSelets' "Entire drawing" means just the current space...) but the Properties Palette can handle it. 

 

BTW not sure what you mean by your edit... the scale seems to be working this way.

0 Likes

cadffm
Consultant
Consultant

@ВeekeeCZ wrote:


>>"That's a neat trick. So we have no built-in tool available to select all entities across the entire drawing"

You (and LT users) have a built in tool: The AutoCAD object selection! 😊

SSGET is the Lisp-equivalent to the AutoCAD object selection.

ssget selection method "_X" is for "entire database", what means "all"

and exactly this is the AutoCAD object selection method called: selection method ALL !

 

The problem is: There is only one command what accept all objects,

all other commands are filtering the selection to the objects of the current space.

 For non LT-USers with less Lisp knowledge, the  GUI ssget version is SSX from Expresstool,

 but the original ssx is very very limited.

 

The command what accepts all objects is FILTER (so LT Users are happy too with this)

Try it: Use FILTER and [apply] it to....ALL<enter><enter> 😉

 

>>"BTW not sure what you mean by your edit... the scale seems to be working this way."

For usual: YES! So long I can remember, For me it worked 100% but..
But sometimes (newer version, depend on how the layouts created ?) it is possible that it fails.
A simple test to check if it worked or not:
Change the scales and after this, select all again, check the scales.
I have a Install of ACAD2020.1.6 where it doesn't work as it should.
Someone here with 2020.x.x to run a test? PM welcome.



 

Sebastian

0 Likes

ВeekeeCZ
Consultant
Consultant

Ok, I see. The old obsolete but powerful FILTER command can do that. Unfortunately, I am among those 95 percent of users who do not actively use this command. 

 

The QSELECT is the tool I would expect to be able to do this. I wish one day someone would refine and redesign it so that it would be a complex but intuitive tool, comfortable to use and not the nightmare, as it is today. (just wishful thinking. Being realistic - not going to happen anytime soon.)

 

I have just the outdated C3D 2020 on ACAD 2020.1.4 here. I've just made a quick test on one complex drawing that I have here... the layouts have to be loaded to the memory first, then it works. This is unnecessary when using that LISP.

0 Likes

cadffm
Consultant
Consultant

Hi,

>>"I am among those 95 percent of users who do not actively use this command. "

If you would have to work with LT, you would from now 😁

I am pretty sure you are using often Lisp to select <whatever> and for Users with no programming skills or with LT

complicated selection filters -> Filter.

 

>>"2020.x.x to the memory first, then it works"

Also if I rund 3x thrue each Layout, it fails in my sample (install/file) here.

Perhaps we check this soon, but not today.

 

Filter has the power of ssget, but can not all of these things you can do with Qselect,

the other direction the same: Qselect can some things what are not possible with ssget/filter,

but it is very limited and can do just a small part of what is possible by ssget/Filter.

 

 

🙃

Sebastian

0 Likes

ruirego
Enthusiast
Enthusiast

Hello,

any easy way of editing multiple layouts with 2024?

 

thaks. 

0 Likes

ruirego
Enthusiast
Enthusiast

Hello, 

Hello,

any easy way of editing multiple layouts with 2024?

 

thaks. 

0 Likes

RSomppi
Advisor
Advisor

You can create a named page set-up and apply it to the layouts.

0 Likes

ruirego
Enthusiast
Enthusiast

named page setup? how do i do that?

 

thanks

R^2

0 Likes

cadffm
Consultant
Consultant

Start PLOT dialog and save your setup by a name (upper/left side of this dialog)

or start command Pagesetup to create a named page setup.

Sebastian

0 Likes

ruirego
Enthusiast
Enthusiast

Hi,

 

this will change all the VP settings defined for each layout?

0 Likes

RSomppi
Advisor
Advisor

This topic is about layout (plot) settings. There are no viewport settings within the layout settings.

0 Likes

ruirego
Enthusiast
Enthusiast
sorry i meant layouts.

i have several layouts, each one with color override for some lines. the ideia is to change all at the same time. instead of doing one by one. (click inside the layout and change the layer settings)
0 Likes

cadffm
Consultant
Consultant

VPLAYERS=

VPLAYER command

 

🙂

Sebastian

0 Likes

ruirego
Enthusiast
Enthusiast
Hi!

just tried VPLAYER but it doesn’t change the layer config in all layouts
0 Likes