×
INTELLIGENT WORK FORUMS
FOR ENGINEERING PROFESSIONALS

Log In

Come Join Us!

Are you an
Engineering professional?
Join Eng-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!
  • Students Click Here

*Eng-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Students Click Here

Jobs

ACAD 2005 - APPLY SETUP TO ALL LAYOUTS

ACAD 2005 - APPLY SETUP TO ALL LAYOUTS

ACAD 2005 - APPLY SETUP TO ALL LAYOUTS

(OP)
I have 13 layouts and a new printer in the office. How can I apply the new layout (relating to the new printer) to all layouts without going from tab to tab. Thanks

RE: ACAD 2005 - APPLY SETUP TO ALL LAYOUTS

HI, hope this will help:

VBA example to apply same settings to all layouts ... plus plotting...

CODE

Private Sub force_config_to_all_layouts_then_plot()

Dim Layouts As AcadLayouts, Layout As AcadLayout
Dim oPlot As AcadPlot
Dim AddedLayouts() As String
Dim LayoutList As Variant
Dim oLayout As AcadLayout
Dim ArraySize As Integer, BatchCount As Integer

' Get layouts collection from document object
Set Layouts = ThisDrawing.Layouts

' Get the names of every layout in this drawing
For Each Layout In Layouts
    Layout.ConfigName = "my_printer.pc3"
    Layout.CanonicalMediaName = "A3"
    Layout.PaperUnits = acMillimeters          
    Layout.PlotHidden = False
    Layout.PlotRotation = ac0degrees
    Layout.PlotType = acExtents
    Layout.PlotViewportBorders = False
    Layout.PlotViewportsFirst = True
    Layout.PlotWithLineweights = True
    Layout.PlotWithPlotStyles = False
    Layout.ScaleLineweights = False
    Layout.ShowPlotStyles = False
    Layout.StandardScale = acScaleToFit
    Layout.UseStandardScale = True
    Layout.CenterPlot = True
Next

For Each oLayout In ThisDrawing.Layouts
    ArraySize = ArraySize + 1
    ReDim Preserve AddedLayouts(1 To ArraySize)
    AddedLayouts(ArraySize) = oLayout.Name
Next

LayoutList = AddedLayouts
Set oPlot = ThisDrawing.Plot
oPlot.SetLayoutsToPlot LayoutList

oPlot.PlotToDevice

End Sub

Red Flag This Post

Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework.

Red Flag Submitted

Thank you for helping keep Eng-Tips Forums free from inappropriate posts.
The Eng-Tips staff will check this out and take appropriate action.

Reply To This Thread

Posting in the Eng-Tips forums is a member-only feature.

Click Here to join Eng-Tips and talk with other members!


Resources