ToolbarManager_vs.01

Short description

🚀 ToolbarManager is an AutoCAD Civil 3D .NET Framework 4.8 plugin for managing, filtering, saving, restoring, exporting, and repositioning AutoCAD toolbars across monitor setups. It helps CAD users create repeatable toolbar profiles, fix floating toolbar positions, audit toolbar contents, and improve productivity in multi-monitor Civil 3D production environments.

Image 000 43

Command:

🧰 Load the compiled plugin with NETLOAD and select ToolbarManager_023.dll or the current build DLL generated from ToolbarManager_023.csproj.
🚀 Run the generated command TOOLBARMANAGER_023 to open the modeless WinForms toolbar manager inside AutoCAD or Civil 3D.
📌 The command name is generated from BQ_Build through BuildConstants.CommandName, so future builds use the same pattern, for example TOOLBARMANAGER_024.
🧩 Target platform: AutoCAD Civil 3D 2024 x64, .NET Framework 4.8, WinForms, AutoCAD COM Interop, and ObjectARX managed references such as AcMgd.dll, AcDbMgd.dll, accoremgd.dll, Autodesk.AutoCAD.Interop.dll, and Autodesk.AutoCAD.Interop.Common.dll.

Description:

📘 ToolbarManager scans the active AutoCAD or Civil 3D session, reads every available toolbar from every AutoCAD menu group, and presents the result in a filterable grid. The user can search toolbars, filter by menu group, show only visible toolbars, inspect toolbar commands, and apply visibility changes from one central panel.

🔍 The program is designed for CAD users who work with many floating AutoCAD toolbars, custom CUI toolbars, Civil 3D workspaces, and multi-monitor layouts. It records each toolbar label, group, visibility state, screen position, width, height, and toolbar contents where AutoCAD exposes that information through the COM API.

📌 A key purpose of the tool is toolbar profile management. Users can save named profiles such as office monitor, laptop, docking station, or project-specific layouts, then restore the dialog position and saved floating toolbar set later. This makes it easier to move between Civil 3D workstations, screen resolutions, remote sessions, and multiple monitor arrangements.

🧠 The project includes a monitor-aware fix through ScreenHelper.cs. Instead of relying on AutoCAD SCREENSIZE, it uses the AutoCAD main window handle and Windows screen detection to determine the correct monitor. This improves Fit to Screen behavior when Civil 3D is not on the primary display.

📊 The settings dialog provides advanced profile editing, toolbar ordering, align tools, gap control, distribution, CSV import/export, clipboard round-trip support, and right-click context menus. This makes the plugin useful for AutoCAD toolbar organization, Civil 3D UI standardization, workspace recovery, and CAD production setup automation.

Helper function: (if any)​

  • 🧩 Command registrationCommands.cs registers RunToolbarManager() with [CommandMethod(BuildConstants.CommandName)], making the build-specific AutoCAD command available after NETLOAD.
  • 🔍 Toolbar enumeration engineToolbarService.Refresh() scans AcadApplication.MenuGroups and AcadToolbar collections to collect toolbar labels, groups, visibility, Left, Top, Width, and Height.
  • 📋 Toolbar contents readerToolbarService.GetToolbarItems() reads toolbar button names and command macros with late-bound COM access and caches the result for faster row selection.
  • 🟢 Visibility apply logicApplySelection and the toolbar grid let users turn selected AutoCAD toolbars on or off without opening multiple AutoCAD CUI or toolbar dialogs.
  • 📐 Fit-to-screen layoutToolbarService.FitToScreen() computes visible toolbar bounds and shifts floating toolbar groups back inside the real AutoCAD monitor area.
  • 🖥️ Monitor-aware boundsScreenHelper.GetAcadWindowBounds() uses the AutoCAD main window handle, GetWindowRect, and Screen.FromHandle() to detect the actual monitor instead of guessing from viewport size.
  • 💾 Profile persistenceWindowSettings.cs stores named profiles, dialog positions, toolbar sets, toolbar geometry, order, and last-used profile in a plain text settings file under the user application data folder.
  • 🔄 Profile restore workflowToolbarService.RestoreToolbarSet() turns saved toolbars on and repositions them to their stored Left and Top values when those values are available.
  • 📊 CSV import and exportCsvUtil.cs and WindowSettings.ExportDetailedCsv() create Excel-friendly profile and toolbar-set reports for backup, review, or transfer to another workstation.
  • 📌 Toolbar profile editorProfileSettingsForm.cs provides profile reorder, rename, duplicate, delete, apply, export, import, toolbar move, copy, paste, distribute, align, and refresh-size actions.
  • 🧰 Profile panelProfilePanel.cs embeds the day-to-day profile save/apply controls in the main form and delegates advanced editing to the settings dialog.
  • 🎨 Civil 3D style UI themeC3DTheme.cs, Theme.cs, and ButtonIconFactory.cs apply a dark CAD-style palette, role-colored buttons, and generated GDI icons without relying on external image resources.
  • 📝 Prompt and selection dialogsPromptDialog.cs and ChooseProfileDialog.cs provide reusable text input and profile selection dialogs for rename, duplicate, import, and copy workflows.
  • 🔒 Logging and diagnosticsLogger.cs writes timestamped info, warning, and error messages to the UI log and a persisted log file for troubleshooting Civil 3D toolbar behavior.

Functionalities:

  • 🚀 Open toolbar manager – run TOOLBARMANAGER_023 to launch a modeless AutoCAD Civil 3D toolbar management window.
  • 🔍 Filter toolbar list – search by toolbar name, filter by menu group, and optionally show visible toolbars only.
  • 📋 Inspect toolbar contents – select a toolbar row to view its internal buttons, separators, and command macros.
  • 🟢 Apply toolbar visibility – check or uncheck toolbar rows and apply visibility changes to the active AutoCAD session.
  • 📐 Fit toolbars to screen – move floating toolbars back into the visible AutoCAD monitor area for multi-monitor recovery.
  • 📌 Save dialog and toolbar profiles – store named layouts with the manager window position and the currently visible toolbar set.
  • 🔄 Restore saved toolbar profiles – turn saved toolbars back on and reposition floating toolbars to their recorded coordinates.
  • 🧭 Manage multiple monitor profiles – keep separate profiles for laptop, office monitor, external screen, remote desktop, or custom Civil 3D workspaces.
  • 🧩 Edit toolbar sets per profile – move toolbar entries up, down, to top, to bottom, duplicate entries, rename entries, and delete entries.
  • 📏 Align and distribute toolbars – align left or right, set a common Left value, set all gaps, distribute vertically, and distribute horizontally.
  • 📊 Refresh real toolbar sizes – read live toolbar Width and Height from AutoCAD so spacing and distribution use actual toolbar geometry.
  • 📤 Export and import CSV – share profile and toolbar position data through Excel-friendly CSV files.
  • 📋 Clipboard round-trip – copy toolbar entries or profiles to the clipboard, edit tabular data in Excel, and paste values back into the profile editor.
  • Set current profile – mark a profile as the default last-used profile without applying or moving toolbars immediately.
  • 🧹 Clear filters and refresh lists – quickly reset search controls and rescan AutoCAD toolbar state.
  • 🔐 Preserve safe restore behavior – restore saved toolbar sets without automatically hiding unrelated toolbars that the user turned on for other work.

Result:

✅ The final result is a productivity-focused AutoCAD Civil 3D toolbar layout manager that centralizes toolbar discovery, visibility control, monitor-aware positioning, profile storage, profile restore, toolbar-set editing, CSV export, clipboard workflows, and diagnostic logging.
🟢 It reduces manual AutoCAD UI setup, improves multi-monitor Civil 3D workflow recovery, makes toolbar layouts repeatable across workstations, and helps CAD teams standardize floating toolbar arrangements with fewer repetitive steps.

Images, animations etc.

Image 000 43
Image 001 22
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="ToolbarManager_1.0">
<src:RibbonToolTip.ExpandedContent>
<StackPanel>
<TextBlock Background="AntiqueWhite" TextAlignment="Left">
<Bold>Function Syntax: ToolbarManager</Bold>
<LineBreak/>
<Bold>Version: 1.0 Date: 10.11.2025</Bold>
<LineBreak/>

</TextBlock>
            
<Grid>
<Image Source=".jpg" Stretch="Uniform"/>
</Grid>

<Grid>
<Image Source=".png" Stretch="Uniform"/>
</Grid>





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

<src:RibbonToolTip x:Key="ToolbarManager_1.1">
<src:RibbonToolTip.ExpandedContent>
<StackPanel>
<TextBlock Background="AntiqueWhite" TextAlignment="Left">
<Bold>Function Syntax: ToolbarManager</Bold>
<LineBreak/>
<Bold>Version: 1.1 Date: 20.06.2026 6:38:54PM</Bold>
<LineBreak/>


</TextBlock>
<Grid>
<Image Source=".jpg" Stretch="Uniform"/>
</Grid>

<Grid>
<Image Source=".png" Stretch="Uniform"/>
</Grid>



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

</ResourceDictionary>

Additional info:

Share this page:

Page Tag: 🏷️ Bookmark_menu

  • ToolbarManager_vs.01

    Short description Command: Description: Helper function: (if any)​ Functionalities: Result: Images, animations etc. XAML code: Expand Code ↓ Select Code Copy 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="ToolbarManager_1.0"> <src:RibbonToolTip.ExpandedContent> <StackPanel> <TextBlock Background="AntiqueWhite" TextAlignment="Left"> <Bold>Function Syntax: ToolbarManager</Bold> <LineBreak/> <Bold>Version: 1.0 Date: 10.11.2025</Bold> <LineBreak/> </TextBlock> <Grid> <Image Source=".jpg" Stretch="Uniform"/> </Grid> <Grid> <Image Source=".png" Stretch="Uniform"/> </Grid> </StackPanel> </src:RibbonToolTip.ExpandedContent>…

  • BookmarkEntities

    Short description Command: Description: Helper function: (if any)​ Functionalities: Result: Images, animations etc. XAML code: Expand Code ↓ Select Code Copy 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="BookmarkEntities"> <src:RibbonToolTip.ExpandedContent> <StackPanel> <TextBlock Background="AntiqueWhite" TextAlignment="Left"> <Bold>Function Syntax: BookmarkEntities</Bold> <LineBreak/> <Bold>Version: 1 Date: 30.11.2025</Bold> <LineBreak/> <LineBreak/> <Hyperlink>N/A</Hyperlink> <LineBreak/> <Bold>Description</Bold><LineBreak/> This AutoLISP program defines the command <Run Foreground="Red">BMEntityPos</Run>, which…

  • ToolbarManager

    Short description Sort / Purpose: Interactive manager for showing and hiding AutoCAD toolbars using a filterable, grouped list dialog. • Scope: Reads all toolbars from all menu groups, displays them with their group names, and lets you control visibility in bulk. • Goal: Quickly create, recall, and adjust toolbar layouts without hunting through CUI, using…

  • NamedViewList

    Short description Command: Description: Helper function: (if any)​ Functionalities: Result: Images, animations etc. XAML code: Expand Code ↓ Select Code Copy 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="NamedViewList"> <src:RibbonToolTip.ExpandedContent> <StackPanel> <TextBlock Background="AntiqueWhite" TextAlignment="Left"> <Bold>Function Syntax: NamedViewList</Bold> <LineBreak/> <Bold>Version: 1 Date: 20.06.2026 6:38:50PM</Bold> <LineBreak/> <Hyperlink>N/A</Hyperlink> <LineBreak/> <Bold><Run Foreground="DodgerBlue">🔍 NamedViewList – AutoCAD Named View Manager</Run></Bold><LineBreak/> <Run Foreground="White">NamedViewList…

  • Add_Bookmark

    Short description Purpose: Collect and store basic positional data about selected entities into a global bookmark list for later use Scope: Works on TEXT, MTEXT, LINE, LWPOLYLINE, POLYLINE, CIRCLE, SPLINE, and INSERT (blocks) Output storage: Appends entries to global variable *textPositions* in the form (label startPoint endPoint) Command: Command: BMEntityPos Execution: Type BMEntityPos then press…

  • Clear_Bookmarks

    Short description Clears the internal **bookmark list** used by BMEntityPos for storing text/entity positions Provides a simple confirmation dialog before erasing stored data Ensures the global list *textPositions* is reset safely Command: Command: ClearTextPos Input: Confirmation via alert dialog (OK / Cancel) Effect: Clears global bookmark storage list Description: This command displays a confirmation alert…

  • Exp_Imp_NamedViews

    Short description Command: Description: Helper function: (if any)​ Functionalities: Result: Images, animations etc. XAML code: Expand Code ↓ Select Code Copy 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="Exp_Imp_NamedViews"> <src:RibbonToolTip.ExpandedContent> <StackPanel> <TextBlock Background="AntiqueWhite" TextAlignment="Left"> <Bold>Function Syntax: ExpImpNVU</Bold> <LineBreak/> <Bold>Version: 1 Date: 02.10.2025</Bold> <LineBreak/> <LineBreak/> <Hyperlink>AI+https://jtbworld.com/autocad-viewsio-lsp</Hyperlink> <LineBreak/> <Bold><Run Foreground="DodgerBlue">Function Syntax: Exp_Imp_NamedViews</Run></Bold><LineBreak/> <Bold><Run Foreground="Orange">Command Name:</Run></Bold> <Bold><Run Foreground="DarkRed">ExpImpNVU</Run></Bold><Run Foreground="White">,…

  • BookmarkEntities

    Short description Sort / Purpose: Bookmark entities in the current drawing and revisit them later by name, coordinates, color, and custom remarks. • Scope: Lets you pick TEXT, MTEXT, LINE, (LW)POLYLINE, CIRCLE, SPLINE, INSERT (blocks), stores their positions + color, and gives you a manager dialog to zoom to them, duplicate, delete, filter by type,…

  • Bookmark_menu

    Lisp code: Expand Code ↓ Select Code Copy Code ; — auto-generated by LispLoader — ; Menu: Bookmark_menu ; Generated: 2026-06-09 07:28:31 (setq base "C:\\Users\\mateid\\OneDrive – DB E.C.O. Group\\@C3D\\@Dan_Templates\\Acad\\Support_files\\Lisps\\Help_File\\") (load (strcat base "Bookmark_menu\\BookmarkEntities\\BookmarkEntities.lsp")) (load (strcat base "Bookmark_menu\\Exp_Imp_NamedViews\\Exp_Imp_NamedViews.lsp")) (load (strcat base "Bookmark_menu\\NamedViewList\\NamedViewList.lsp")) (princ)