TroutKing Posted May 16, 2012 Posted May 16, 2012 The code below actually works. It sets up my acLayout limits and then sets up a new page for me in the Page Setup Manager. However, it sets up my acLayout limits on the paperspace tab (which I want) but it creates the new Page Manager page on the modelspace tab (which I don’t want). I can’t seem to see any reason for this to take place. Can any of you plotting gurus help me understand what I did wrong and how I can create the new page in the Page Setup Manager in my paperspace tab to go along with its setup? Option Explicit Public Sub CreatePageSetup() GoGetCanonicalMediaNames Create_24x36 'Create_11x17 MsgBox " DONE" End Sub Private Sub Create_24x36() ******************** SET UP NEW PLOT LAYOUT LIMITS ThisDrawing.ActiveSpace = acPaperSpace Dim NewLowerX As Variant Dim NewLowerY As Variant Dim NewUpperX As Variant Dim NewUpperY As Variant Dim sysVarName As String Dim xymin As Variant Dim xymax As Variant NewLowerX = 0# NewLowerY = 0# NewUpperX = 36# NewUpperY = 24# sysVarName = "LIMMIN" xymin = ThisDrawing.GetVariable(sysVarName) sysVarName = "LIMMAX" xymax = ThisDrawing.GetVariable(sysVarName) xymin(0) = NewLowerX: xymin(1) = NewLowerY xymax(0) = NewUpperX: xymax(1) = NewUpperY ThisDrawing.PaperSpace.Layout.SetWindowToPlot xymin, xymax ********************** CREATE NEW PLOT LAYOUT Dim D_PlotSize As String D_PlotSize = "User2314" '<---------------- Use PlotPaperSizeNames.dvb to ascertain this value Dim TempName As String TempName = "SCI 24x36 (LANDSCAPE)" Dim PlotLayoutConfig_24x36 As AcadLayout Set PlotLayoutConfig_24x36 = ThisDrawing.ActiveLayout Dim PlotConfigs_24x36 As AcadPlotConfigurations Set PlotConfigs_24x36 = ThisDrawing.PlotConfigurations Dim PlotConfig_24x36 As AcadPlotConfiguration Set PlotConfig_24x36 = PlotConfigs_24x36.Add(TempName, True) With PlotConfig_24x36 PlotLayoutConfig_24x36.RefreshPlotDeviceInfo PlotLayoutConfig_24x36.ShowPlotStyles = False PlotLayoutConfig_24x36.ConfigName = "MyPlotter" PlotLayoutConfig_24x36.StyleSheet = "MyCTB" PlotLayoutConfig_24x36.CanonicalMediaName = D_PlotSize PlotLayoutConfig_24x36.PlotType = acLayout 'PlotLayoutConfig_24x36.CenterPlot = True PlotLayoutConfig_24x36.StandardScale = ac1_1 PlotLayoutConfig_24x36.PaperUnits = acInches PlotLayoutConfig_24x36.PlotWithPlotStyles = True PlotLayoutConfig_24x36.PlotViewportsFirst = True PlotLayoutConfig_24x36.PlotRotation = ac0degrees PlotLayoutConfig_24x36.RefreshPlotDeviceInfo End With ThisDrawing.Regen acAllViewports ************************** LOAD THE AVAILABLE "CanonicalMediaNames" End Sub Private Sub GoGetCanonicalMediaNames() Dim PaperSize As String Dim MediaNames As Variant Dim i As Integer ThisDrawing.ActiveSpace = acPaperSpace MediaNames = ThisDrawing.ActiveLayout.GetCanonicalMediaNames For i = LBound(MediaNames) To UBound(MediaNames) If StrComp(ThisDrawing.ActiveLayout.GetLocaleMediaName(MediaNames(i)), PaperSize, vbTextCompare) = 0 Then ThisDrawing.ActiveLayout.CanonicalMediaName = MediaNames(i) ThisDrawing.ActiveLayout.RefreshPlotDeviceInfo End If Next End Sub '********************************************************************************************************************************* '********************************************************************************************************************************* Quote
Recommended Posts
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.