AutoCAD Visual LISP / AutoLISP :: Apply A Page Setup To All Layouts In The Drawing
Jun 13, 2013
I would like a routine that will determine if 'Page Setup A' is in the drawing and if so, apply 'Page Setup B' to all all layouts within the drawing. I would like to have it run upon drawing open in the ACAD.lsp
Basically we've changed our master page setup names, and now when a user switches to modelspace then back to paperspace the layout loses its configuration.
I found a lisp routine on the internet to change page setups on multiple layouts. The lisp worked but on some of the layouts it moved the viewport off the paper background (see attached). The layouts print fine but the only way to get the viewport back on to the background is to open the page setup and click modify, then ok and close. I tested this on a .dwg that I had saved to my computer rather than on one in the main folder but I would like to do this to to all are maps since our IT decided to rename our printer and now all pages setups are no good.All I know about lisp is how to run one.
Okay, so I have about 25 layouts on this particular drawing that already have a default page setup assigned to them. I just created a new page setup and want to apply it to these layouts...but I cannot. I can select the right setup in the publish window but it does not stay current after publishing.
The problem also comes up if I do a "-purge" or wblock the entire drawing as to remove weird elements. The pagesetups then show as missing.
If I create a new drawing and setup the page setup for the first time AutoCAD will ask if I would like to apply to all layouts. Where is this option for existing drawings?
We are using this code for Page setup. But We don,t know how to make this page setup current and active. (defun c:pgs ()(acet-error-init(list(list"cmdecho"0"osmode" 0)T))(vl-load-com)(setvar "Tilemode" 0)(vla-Add (vla-get-PlotConfigurations (vla-get-ActiveDocument (vlax-get-acad-object))) "A1" :vlax-false)(vla-put-PageSetupOverridesTemplateFile (vla-get-files (vla-get-preferences (vlax-get-acad-object))) "A1")(setq item (vla-Item (vla-get-PlotConfigurations (vla-get-ActiveDocument [code]........
As you smart individuals can figure out, we do up drawing packages for construction that consist of several drawings, hundreds of drawings, for several modules of construction. Our process usually consists of one layout per drawing, so that the lisp guy can do a drawing count and put in sheet numbers based on how I manipulate the list of drawings in the one directory folder.
Now I have a client, despite the way we currently do things, requires that about 70% of the drawings will have multiple layouts. Now we're back in the stone ages, manually putting in sheet numbers, eating up our budget for this contract.
Is there a way to apply a single string value "Phase1", or "Phase2" to all layers in a drawing? I though about exporting a Layer State, modifying it in Excel, then re-importing the layer state, but, Layer States don't store a value for "Description."
I'm creating a consolidated map from several drawings, but I'd like to be able to separate the layers from each drawing. Description seems like a good value to populate and be able to sort by in the Layer Manager.
I am looking for a lisp that will rename all the layouts automatically. I tried the Layoutlist function but the output is not in order. Is there anyway that i can get all the layouts in a drawing from left to right order. for eg. i have layouts from layout1, layout 2........layout10). The layoutlist returns as layout1,layout10 etc...instead of layout 1 layout 2.
I am looking for a LISP to automatically rename all my layouts. I would like the first layout to say "HWY 400 (01)", second layout "HWY 400 (02)", third layout "HWY 400 (03)" ect..
Any routine to re-size viewports in multiple layouts? We have to re-size viewports as they were created a little too small and are now spread across almost 1000 drawings in 18 dwg.
I have a csv file that has the drawing names and their layout names listed in columns A and B. Before I begin a project, I have to create the Sheet List (in Excel) and the csv file. The csv file is needed because I have a lisp routine that reads the csv and updates all my Title Block attributes in all my drawings. (VERY sweet program) What I'm wanting to do, is create new layouts (using my dwt) based on the information in the csv file. So, when I start a new project all I need to do is create the base drawing files first. Then, in my csv file I've got those drawing names listed in Column A and their corresponding sheet titles (Layout names) in Column B. I run the lisp and it reads the csv and creates layouts in all those base drawings and naming the layouts with the sheet titles from column B.
Column A Column B DRAWINGS SHEET TITLES drawing1.dwg A100 drawing1.dwg A101 drawing"n".dwg "n"500 Etc, etc.
I'm needing a way to automate creating hundreds of layouts at once. (very time consuming).So the lisp has to be able to read a csv (or Excel--doesn't really matter) and create new layouts (using my dwt) in as many drawing files represented in column A. [and filtered so it doesn't create duplicates so I can run the routine at a later date when new sheets are added to the drawings] Captcha?
I have a specific problem with renaming layouts. I found some similar lisps, but I just could not make them work.
In every layout I have following attributes.
PROJECT: 306 PHASE: RD OBJECT: A0101 PART: EL DRAWING: 611 ZOOM: X REVISION: 01
I need to rename every each of layout using those attributes. Layout's name should look like that: "306_rd_A0101_el_611_x_01" . "rd", "el" and "x" must be written using lowercase.
I have the following code in a toolbar button that when I click on a setup within this tool it imports that setup into my current dwg. How to edit this code so that it will continue to import the setup of choice into the new drawing..but in addition....set the new one current & delete all previous setups that were in the drawing?
I'm trying to set up a height label for sections and elevations. I then want to update it with a shortcut.
I already tried it with a field that shows me the y coordinates, but it won't show me the "+-"0.00 sign,when I put it to zero level. It only writes "0.00".
How to add the sheet description field into the rename & renumber window? I ask this because during the sheet set-up process we use the sheet description often, and I would like to go from sheet to sheet without having to right click and edit every sheet.
Civil 3D x64 2012 Win 7 x64 Ultimate I7 3820 (3.6ghz quad core with HT) 32gig RAM (Corsair XMS3 4x8g) Intel x z79 mobo (BOXDX79TO 2011 socket) Radeon HD 7850 2gb GDDR5
Any Lisp routine available out there that will import a page setup in multiple drawings in one shot and save it to the group of drawings? Kind of the way you can import a page setup in a group of drawings in Publish, but that's only temporary for that particular print job. I'm looking for something that will permanently save it to the list of drawings.
I found a function on JTBWorld named listPageSetups, which appears to be meant for listing the pagesetups that exist in an "open" dwg file (as I can get it work for the current dwg). So,
(1) Can this function be used to list page setups in another, un-opened dwg, and, if so, how?
(2) If the answer to (1) is No, is there a LISP way to get a list of page setups from another, un-opened dwg?
I doubt there is since they aren't listed in the control keys list in the help file, but it doesn't hurt to ask. I'm trying to simulate the CTRL+PG UP/DN feature of Excel to switch between tabs. I'm might just have to 'up' and 'down' arrow keys.
Once upon a time in a job far, far away I had a lisp routine that deleted the current page setups and replaced them with new ones imported from a template drawing. It's probably been a good 6-7 years since I found it the first time.
I’m trying to create a view port, which covers my entire layout (white/ page area) using the following command
(command “mview” ‘(0 0 0) ‘(297.5 210 0))
However as you will note 0,0,0 is not the very edge corner of my layout (white area) and my white area is smaller then 297.5x 210mm (standard A4 landscape size)
How to obtain the exact measurements and starting coordinates to fully fill my entire layout page (white area)?
I am trying to put together a lisp routine for exporting a Civil3D drawing to basic autocad entities and convert it to a clients layer standards.
I don't want any user input, so I see two problems with the routine at the moment.
Step 2. SAVEAS - I want the drawing to be saved in the same directory as the current drawing, either called "CLIENT_export.dwg" or preferably "Export_{current drawing name}.dwg". If the dwg exists I want it either to overwrite or increment a suffix number.
Step 4. At the moment it askes the user for a selection, I want it to select "ALL"
;;;Purpose to convert a Civil3D drawing into CLIENT layer standards.