Zoom Window

Short description

LZW summary LZW opens a DCL selection dialog for Layouts, then prompts for a window and runs Zoom Window in Paper Space on the selected layouts after the dialog closes. Key stability rule The zoom action is executed after the dialog closes to avoid UI timing issues.
zoomwindow 000

Command:

Command
  • LZW Runs Zoom Window on selected layouts in Paper Space.

Description:

User workflow
  • Run LZW.
  • Select one or more Layouts from the list.
  • Optional filter using wildcards * and ?.
  • Optional toggle Include Model to show MODEL in the list.
  • Optional Copy to Clipboard to copy selected layout names and status.
  • Trigger Zoom Window, the dialog closes, then pick two corners for the window, and the same window is applied to each selected layout tab.
  • If point picking is cancelled, the routine cancels the action and restores the original tab.
Execution context The routine forces MSpace false so the zoom happens in Paper Space rather than inside a viewport.

Helper function: (if any)​

Helper functions and mechanisms
  • GetLayouts reads available layouts using layoutlist.
  • FilterLayouts applies wildcard filtering using wcmatch and optional Model inclusion.
  • WriteDCL builds a temporary DCL file with a unique dialog name per run.
  • CopyClipboard copies text via htmlfile clipboardData with PowerShell and clip fallback.
  • ZoomWindowLayouts asks for one window then iterates CTAB across layouts and applies the same window with COM then command fallback.
  • Cleanup unloads the dialog and deletes the temporary DCL file.

Functionalities:

Functionalities
  • Dialog UI for filtering and multi-selecting layouts.
  • Select All and Select None selection tools and selected count display.
  • Clipboard export of selected layout names and status.
  • Zoom Window in Paper Space across the selected layouts using one picked window applied consistently.
  • Undo grouping for multi-layout operations using StartUndoMark and EndUndoMark.
  • Robust fallbacks for temp DCL creation and zoom execution.

Result:

Result After selection in the dialog, LZW prompts for a zoom window once, then switches through the chosen layout tabs and applies Zoom Window in Paper Space, restoring the original tab when finished. Tags CAD, General_AutoCAD, Extra_AutoCAD, Lisp, Layouts, Paper Space, Viewports, DCL, Dialog_UI, Clipboard Suggest relevant tags not in the list Zoom, Wildcards, Undo, Selection_UI, Temp_File_Handling

Images, animations etc.

zoomwindow 000
Pixel

XAML code:

<ResourceDictionary
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:src="clr-namespace:Autodesk.Windows;assembly=AdWindows">
    
    <src:RibbonToolTip x:Key="Zoom Window">
        <src:RibbonToolTip.ExpandedContent>
            <StackPanel>
                <TextBlock Background="AntiqueWhite" TextAlignment="Left">
				<Bold>Function Syntax: LZW</Bold>
				<LineBreak/>
				<Hyperlink>AI+https://www.cadtutor.net/forum/topic/41748-zoom-extend-all-layouts/</Hyperlink>
				<LineBreak/>
<Bold>Version: 2 Date: 29.12.2025</Bold>
<LineBreak/>
				<LineBreak/>		

<Bold>LZW description</Bold><LineBreak/>
This program requires the user to select one or more <Run Foreground="DarkRed">Layouts</Run> from a <Run Foreground="DarkRed">DCL dialog</Run>, then it prompts the user to pick a window and applies <Run Foreground="DarkRed">Zoom Window</Run> in <Run Foreground="DarkRed">Paper Space</Run> on each selected layout after the dialog closes.<LineBreak/>

<Bold>LZW command</Bold><LineBreak/>
• <Run Foreground="DarkRed">LZW</Run> runs <Run Foreground="DarkRed">Zoom Window</Run> on selected layouts in <Run Foreground="DarkRed">Paper Space</Run>.<LineBreak/>

<Bold>LZW user workflow</Bold><LineBreak/>
• Run <Run Foreground="DarkRed">LZW</Run>.<LineBreak/>
• A <Run Foreground="DarkRed">DCL dialog</Run> opens with a multi-select list of <Run Foreground="DarkRed">Layouts</Run>.<LineBreak/>
• Optional toggle <Run Foreground="DarkRed">Include Model</Run> controls whether <Run Foreground="DarkRed">MODEL</Run> appears in the list.<LineBreak/>
• Filter layouts with wildcards <Run Foreground="DarkRed">*</Run> and <Run Foreground="DarkRed">?</Run>, then multi-select the target layouts.<LineBreak/>
• Use <Run Foreground="DarkRed">Select All</Run> or <Run Foreground="DarkRed">Select None</Run> to manage selection quickly.<LineBreak/>
• Optional action <Run Foreground="DarkRed">Copy to Clipboard</Run> copies selected layout names and their status.<LineBreak/>
• Trigger the zoom action, the dialog closes, and the program prompts for two corners to define the zoom window.<LineBreak/>
• If the user cancels point picking, the routine cancels the action and restores the previous tab.<LineBreak/>

<Bold>LZW functionalities</Bold><LineBreak/>
• <Run Foreground="DarkRed">Dialog UI</Run> for filtering and multi-selecting layouts.<LineBreak/>
• <Run Foreground="DarkRed">Layout filtering</Run> using <Run Foreground="DarkRed">wcmatch</Run> with wildcard patterns.<LineBreak/>
• <Run Foreground="DarkRed">Selection tools</Run> including Select All, Select None, and selected count display.<LineBreak/>
• <Run Foreground="DarkRed">Clipboard export</Run> using MSHTML clipboardData with fallback to PowerShell Set-Clipboard and cmd clip.<LineBreak/>
• <Run Foreground="DarkRed">Stable execution</Run> by running zoom after the dialog closes.<LineBreak/>
• <Run Foreground="DarkRed">Undo grouping</Run> using StartUndoMark and EndUndoMark for clean undo.<LineBreak/>
• <Run Foreground="DarkRed">Temporary DCL creation</Run> with mktemp and fallback pathing, followed by cleanup.<LineBreak/>

<Bold>LZW zoom behavior</Bold><LineBreak/>
• Switches to the first selected layout before prompting so the user sees the correct context.<LineBreak/>
• Prompts for window corners using <Run Foreground="DarkRed">getpoint</Run> and <Run Foreground="DarkRed">getcorner</Run> once, then reuses the same window for all selected layouts.<LineBreak/>
• Iterates selected layouts by switching <Run Foreground="DarkRed">CTAB</Run> for each layout and applies the same zoom window.<LineBreak/>
• Forces <Run Foreground="DarkRed">MSpace false</Run> so zoom occurs in <Run Foreground="DarkRed">Paper Space</Run> rather than inside a viewport.<LineBreak/>
• Attempts COM zoom first using <Run Foreground="DarkRed">vla-ZoomWindow</Run> and falls back to <Run Foreground="DarkRed">ZOOM W</Run> if COM fails.<LineBreak/>
• Restores the previous <Run Foreground="DarkRed">CTAB</Run> after processing all layouts.<LineBreak/>

<Bold>LZW safeguards and cleanup</Bold><LineBreak/>
• Ensures layouts are enabled by setting <Run Foreground="DarkRed">TILEMODE</Run> to 0 when needed.<LineBreak/>
• Uses an error handler to guarantee dialog unload and temporary DCL deletion on cancel or error.<LineBreak/>
• Excludes <Run Foreground="DarkRed">MODEL</Run> from execution unless explicitly included and valid for the action.<LineBreak/>


 
</TextBlock>
                
                <!-- Use MediaElement for GIF (static first frame) and Image as fallback -->





            </StackPanel>
        </src:RibbonToolTip.ExpandedContent>
    </src:RibbonToolTip>
</ResourceDictionary>

Additional info:

Share this page:

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Tags: 🏷️ Autocad Lisps, 🏷️ CAD, 🏷️ Clipboard, 🏷️ DCL, 🏷️ Dialog_UI, 🏷️ Extra_AutoCAD, 🏷️ General_AutoCAD, 🏷️ Layouts, 🏷️ Layouts_menu, 🏷️ Lisp, 🏷️ Paper Space, 🏷️ Viewports
0
Would love your thoughts, please comment.x
()
x