The scripts became a product.
A personal script helps one person. The moment a tool has an installer, a version number and documentation, it helps everyone — and that is the difference between a clever trick and something a company can actually rely on.
Today AJ-Tools is a C# Revit add-in suite with WPF interfaces and its own installer, so the whole drafting team runs the same version of the same tools. One codebase builds for Revit 2020 through 2027, currently at v1.56.2. Two ribbon tabs carry 46 tools across 17 panels — AJ Tools for view, graphics, MEP and coordination work, AJ Annotation for dimensioning, tagging and text.
AJ Tools 31 tools · 12 panels
View 6
- View CropView crop and annotation crop tools.
- Unhide AllUnhide all elements in the active view (Temporary Hide/Isolate + hidden items).
- Toggle LinkToggle visibility of all Revit Links in the active view.
- Filter ProCreate parameter filters quickly (category, parameter, values) and apply them to the active view.
- ColorizeColorize elements by category or by parameter value directly in the active view (or selected views) - no view filter is created.
- Highlight SelectionColor the selected elements red and every other element in the active view gray, for instant visual identification.
Graphics 3
- Apply GraphicsApply the same graphics override settings to selected elements or selected categories in the active view.
- Match GraphicsMatch category or element graphics from a picked source.
- Reset GraphicsReset category and element graphics overrides in the active view.
Datums 3
- Reset Grid / Level Extents to 3DReset grid or level datum extents back to 3D.
- Modify Level ExtentsMatch or maximize level 3D extents.
- Flip Grid / Level BubblesToggle which datum end shows the bubble for grids or levels, one item at a time.
Modify 4
- Match MEP Element ElevationMatch center, top, or bottom elevation from a source MEP element to others.
- Reassign Reference LevelReassign supported MEP elements from one level to another without moving them physically - whole project, or just your current selection.
- Pin / Unpin ElementsPin/unpin separated Sheet groups (Title Blocks, Placed Views, Legends, Schedules) with Active Sheet Only or All Sheets mode, and Model groups (Duct, Pipe, Cable Tray, Generic Models, Mechanical Equipment, Plumbing Fixtures, Electrical Equipment, Grids, Levels).
- Smart SelectionPick one reference element, then one window or crossing-select - only elements of the same category are added.
MEP 4
- Connect MEP ElementsConnect two same-category MEP elements (Pipe, Duct, Cable Tray) with routing and angle settings.
- Elements to Ceiling GridPick ceiling, pick grid intersection, then snap point-based elements to nearest tile centers.
- HVAC SchematicConvert selected ducts, air terminals, and mechanical equipment into a connector-based HVAC schematic inside a new Drafting View.
- Pipe SizingCalculate domestic water pipe sizing from fixture units, system type, pipe material, and velocity limit.
Opening 1
- OpeningCreate direct wall, floor/slab, and beam openings from selected pipes, ducts, cable trays, and conduits.
Coordination 3
- Element IDElement ID tools for current and linked models.
- 3D Views3D view creation tools.
- Link WorksetAssign selected Revit links and CAD imports to a workset.
Data 2
- Assign LocationAssign Room, Level, Coordinates, Altitude, and HVAC Zone data to selected categories.
- Duct StandardCalculate and write duct sheet thickness, gauge, weight, and area based on SMACNA-style rules.
Manage 2
- TransferTransfer tools.
- PurgePurge tools.
Family 1
- Shared to FamilyConvert selected shared parameters in the active family into normal family parameters.
Quick 1
- Quick MenuA tool wheel that opens around the mouse pointer, with the slots you choose. Customise opens the wheel itself to set them.
Game 1
- Game ModeWalk inside the model like a video game, in a real Revit perspective view
AJ Annotation 15 tools · 5 panels
Dimensions 4
- Auto MEP DimensionCreate a chained perpendicular reference dimension for ducts, nearby ducts, walls, structural columns, and structural beams.
- Automatic DimensionCopy Above/Below/Prefix/Suffix text from one dimension to others.
- Quick DimensionCopy Above/Below/Prefix/Suffix text from one dimension to others.
- Copy Dimension TextCopy Above/Below/Prefix/Suffix text from one dimension to others.
Annotation 3
- Duct Flow AnnotationsPlace duct flow annotations along horizontal ducts.
- Revision CloudsCreate orthogonal stepped revision cloud boundaries aligned to dominant selected-element angle. Keeps running until Esc.
- Copy / Swap Text NotesCopy the text value from one text note to others (click targets until ESC).
Family 1
- Center AnnotationCenter selected annotations in the active annotation family view.
Tags 6
- Smart MEP TagsForce tags to use a right-angle leader. Run again on the same tag to flip the elbow side. Preselect tags or pick tags (Tab cycles) until Esc.
- Rearrange TagsForce tags to use a right-angle leader. Run again on the same tag to flip the elbow side. Preselect tags or pick tags (Tab cycles) until Esc.
- L-Shape LeaderForce tags to use a right-angle leader. Run again on the same tag to flip the elbow side. Preselect tags or pick tags (Tab cycles) until Esc.
- Create TagsSelect one or more MEP elements, then click a location for each to create a tag there. Skips elements already tagged in the view, shorter than the configured minimum length, or a vertical run. Press Esc to stop early.
- Center Room TagsMove every room tag in the active view to the center of its tagged room. Handles local rooms and loaded linked rooms; skips orphaned, pinned, and unreadable tags.
- Section Mark VisibilityAutomatically manage section visibility based on Sheet Number filters or sheet placement status.
Text 1
- Arrange Text in BoxFit selected text notes into a box you drag: each note is resized to the box width and the notes are spread evenly top-to-bottom with left edges aligned. Pick the top-left corner once, then pick bottom-right corners to re-fit live. Press Esc to finish.
Recent releases 162 versions so far
- v1.56.2Fixed Smart MEP Tag said "No elements to tag in this view" in views full of untagged ducts
- v1.56.1Changed Superseded by 1.56.2 on the same day; built and deployed but never tagged
- v1.56.0Added a command can say which open project it means
- v1.55.0Added each session says which one it is
- v1.54.0Fixed Quick Menu slots that quietly did nothing
- v1.53.0Changed Quick Menu → Customise now shows the wheel itself, instead of a numbered list standing in for it
- v1.52.0Changed New tool: Quick Menu — a game-style tool wheel that opens around your mouse pointer, holding the AJ Tools buttons you use most
- v1.51.0Changed accessory tags now sit 150mm from their element instead of 300mm
- v1.50.5Fixed tags without a leader could land on top of a duct or fitting
- v1.50.4Fixed the category list in Create Tags Settings was squashed to two rows
Show every release152 more, back to v1.2.0 on 2026-04-07
- v1.50.3Changed the whole Tags panel is now small stacked buttons, instead of a mix of small and large, and laid out in two columns: | | | |---|---| |...
- v1.50.1Changed Create Tags no longer asks you where to put each tag
- v1.49.10Fixed the tag spacing setting now means the gap you can see between tags, not the distance between their centres
- v1.49.9Fixed accessory tags with the leader turned off were still landing below the accessory instead of beside it
- v1.49.8Fixed the tag spacing setting can no longer be set too small to work
- v1.49.7Added Smart MEP Tag Settings now has two tabs
- v1.49.6Changed Fix Tag Clash now moves a tag the shortest way out, instead of always shifting it by a whole tag height
- v1.49.5Added the "this is a big job, continue?" warning now covers the whole Tags panel, not just the two tools that got it in 1.49.4
- v1.49.4Added a count-and-confirm before a long run
- v1.49.3Added the Skip vertical ducts, pipes and cable trays tick box now also appears in Smart MEP Tag Settings, so it can be set from either tagging...
- v1.49.2Changed the Skip vertical ducts, pipes and cable trays tick box moved out of the Fix Tag Clash settings window and into the Create Tags settings...
- v1.49.1Changed the five tag tools now share three common blocks instead of each carrying its own copy
- v1.49.0Added NEW TOOL — Fix Tag Clash, on the AJ Annotation "Tags" panel, with Clear Tag Clash Marks and its own settings
- v1.48.3Changed the Auto MEP Dimension settings window is now in two tabs — What to dimension (which services, and what they are measured to) and How...
- v1.48.2Fixed Auto MEP Dimension left two dimensions on the same ducts
- v1.48.1Fixed the Connect MEP Elements settings window cut off the bottom of the Main tab — the "Warn me if the new run hits something" box was half...
- v1.48.0Changed the tool always stretches what you picked
- v1.47.8Fixed repo housekeeping pass — several docs had drifted from the real code:
- v1.47.7Fixed the Connect MEP Elements button was getting stuck on Settings
- v1.47.6Removed three more pieces of leftover code found by that check — a number that was being tracked and passed around but never actually read by...
- v1.47.5Removed the automatic pairing for a big selection
- v1.47.4Fixed a bug Ajmal caught by testing the tool live
- v1.47.3Changed the Bend angle section is tidier
- v1.47.2Fixed the 45° crank was being built backwards whenever the two runs overlapped
- v1.47.1Changed the Connect MEP Elements settings window was too much to take in
- v1.47.0Changed no more dialog on every click
- v1.46.0Added "A separate row for each run, stacked" — a third way of drawing the dimensions, from Ajmal's own sketch
- v1.45.2Removed "Overhang past the end reference"
- v1.45.1Changed No popup when it works
- v1.45.0Changed "Auto Duct Dimension" is now "Auto MEP Dimension"
- v1.44.0Removed Web Panel
- v1.43.1Fixed The installer could not install Revit 2025, 2026 or 2027 at all
- v1.43.0Added Web Panel
- v1.42.1Fixed Transferred legends and drafting views arrived empty
- v1.42.0Note This entry also records the voice's original arrival
- v1.41.0Added A model picker for it
- v1.40.6Fixed Game Mode — the camera flew off every time you shot something with the SELECTOR gun
- v1.40.5Note Found by listing every UI surface in the add-in and checking them off one by one, rather than trusting the running list
- v1.40.4Fixed You could close a Purge window while it was still scanning
- v1.40.3Changed The tick boxes inside the scrolling lists (View Crop target views, Section Mark views) now match the rest of AJ Tools too
- v1.40.2Changed Tick boxes and radio buttons now look like AJ Tools
- v1.40.1Added Purge Unused Elements now shows a progress bar and a running count while it scans - "Checking element 340 of 1,200..." - instead of...
- v1.40.0Added Windows now close with a short fade and a slight sink, instead of vanishing
- v1.39.7Added Switching tabs no longer hard-cuts
- v1.39.6Added The last four windows that have their own separate styling now react to the mouse too, so the whole suite is consistent
- v1.39.5Added A checking script, tools/verify-wpf-styles.ps1
- v1.39.4Added Buttons now react when you touch them
- v1.39.3Added Every AJ Tools window now opens with a short fade and a small upward settle instead of snapping onto the screen
- v1.39.2Added The About window now animates
- v1.39.1Fixed The Revit 2025, 2026 and 2027 builds now compile with zero warnings, matching the 2020 baseline
- v1.39.0Added Game Mode laser now also shows the element's System and Level in its identity line (e.g
- v1.38.4Changed Game Mode full audit pass, zero behaviour change - no logic bug found
- v1.38.3Changed Game Mode - final weapon color scheme applied everywhere (crosshair, beams, glows, texts): GUN amber, LASER green, CLEANER black &...
- v1.38.2Fixed Game Mode aim/display sync - shots could land beside the crosshair when Revit had 2D-zoomed/panned the perspective view; the game now...
- v1.38.1Changed Game Mode teleport visual finalized to the approved VR reference - solid green ballistic arc dropping onto a landing disc drawn flat on...
- v1.38.0Added Game Mode PROFESSIONAL MODE (N, remembered across sessions) - no gun ever shows, presentable in meetings, every tool keeps working with...
- v1.37.0Removed Game Mode measuring (not working properly) - the laser keeps its live distance in mm and element identity
- v1.36.4Fixed Game Mode CLEANER rifle rotated and repositioned so barrel and beam form one straight line to the crosshair
- v1.36.3Changed Game Mode SNAG MARKER now shows Ajmal's blaster picture - every weapon has its own gun: pistol (gun + laser), rifle (cleaner), blaster...
- v1.36.2Changed Game Mode CLEANER weapon now shows Ajmal's rifle picture instead of the pistol
- v1.36.1Changed Game Mode saved positions are now unlimited - B keeps counting past 9, the tour (O) visits every slot, the left-side list shows them all...
- v1.36.0Added Game Mode round 11 - true rubber-band measure line (superseded - removed in 1.37.0), SNAG MARKER weapon (paints red + punch-list report...
- v1.35.1Removed Game Mode follow-me section box (X) - the game is back to zero undo entries in every mode
- v1.35.0Changed Game Mode teleport reworked to the Autodesk Workshop XR feel - hold T for a glowing jump arc with landing ring and distance, release to go
- v1.34.1Changed Game Mode restructure, zero behaviour change - everything now lives in one folder (src/GameMode) with one small file per feature...
- v1.34.0Added Game Mode "add all" round - teleport (T), saved positions (B / 1-9), photo mode (K, to Pictures\AJ Game Photos), CLEANER weapon...
- v1.33.0Added Game Mode scroll-wheel holster (gun slides away; scroll up or click to draw), and the measure card's axis breakdown (Total, X/Y/Z deltas...
- v1.32.2Fixed Game Mode laser/bullet/flash now start at the gun picture's real barrel tip (they were starting from the striker plate at the rear -...
- v1.32.1Fixed Game Mode gun picture now displays exactly as generated - no flip, no tilt
- v1.32.0Added Game Mode laser measuring, BIM-360 style - hold on the first face, release on the second; Total / Horizontal / Vertical in mm...
- v1.31.1Changed Game Mode HUD gun is now Ajmal's own pistol picture (vector pistol stays as fallback); freshly created "AJ Game View" views come with...
- v1.31.0Changed Game Mode weapon + speed rework after Ajmal's first play - hold left-click for automatic fire with impact sparks, right-click switches...
- v1.30.0Added New tool - AJ Game Mode ("Game" panel, AJ Tools tab)
- v1.29.1Fixed Stack Tags' first-click tags now use Rearrange Tags' exact leader routine (no leader end-condition fallback)
- v1.29.0Added New tool - Stack Tags (AJ Annotation, Tags panel): select MEP elements, click once, a tag per eligible element is created and stacked...
- v1.28.0Added 9 new tools across the Transfer and Purge pulldowns (Manage panel) - Transfer Schedules / Legends / Drafting Views, Purge Unused View...
- v1.27.0Added New tool - Create Tags (AJ Annotation, Tags panel): select MEP elements, click a location for each in turn; creates fresh tags with...
- v1.26.0Added Reassign Reference Level now has a Selected Elements scope alongside Whole Project - pre-select elements and only those move to the...
- v1.25.8Changed HVAC Schematic error dialogs now name the exact failing method and line (exception type + trimmed stack trace) instead of only a bare...
- v1.25.7Fixed HVAC Schematic crash, "An unexpected error occurred
- v1.25.6Fixed Full UI audit pass over every window in the suite
- v1.25.5Changed Smart MEP Tagging Settings rebuilt as a themed WPF window - the last WinForms dialog in the suite is gone, every AJ Tools window is now...
- v1.25.4Changed Reassign Reference Level's level picker rebuilt as a themed WPF window (reassignment logic untouched)
- v1.25.3Added The credit line "Created & All Rights Reserved @ Ajmal P.S." now appears in every window in the suite - added as a bottom-centred footer...
- v1.25.2Fixed On comma-decimal Windows regional settings the old dialog could read "12.5" as 125 and silently save a 10x tag spacing - both decimal...
- v1.25.1Changed Improved: Highlight Selection now completes the insulation story in both directions: selecting insulation or lining directly also turns...
- v1.25.0no note recorded
- v1.24.0no note recorded
- v1.23.1Fixed Smart Selection swapped its multi-pick window/crossing/click loop (needed an explicit Finish/Enter to end) for a single one-shot...
- v1.23.0Added Smart Selection tool (AJ Tools tab, Modify panel) - pick one reference element, then window, crossing, or click-select more elements in...
- v1.22.0Changed Elements to Ceiling Grid (Ceiling Magnet) now offers both the original one-at-a-time workflow and the newer window-select-then-loop...
- v1.21.0Changed Ceiling Magnet reworked - elements to snap are now window/click multi-selected once up front, then the tool repeats a...
- v1.20.2Changed new About icon (Ajmal's own artwork), used for both the ribbon button and the About window's taskbar icon
- v1.20.1Fixed Highlight Selection left a selected duct/pipe's insulation gray instead of red; insulation is now colored along with its host element
- v1.20.0Added Highlight Selection tool (View panel) - colors the current selection red and every other element in the active view gray, for instant...
- v1.19.1Changed About window overhaul - real taskbar/window icon, a Minimize button, a maximize-size fix, the house Neon Blue accent color, and a...
- v1.19.0no note recorded
- v1.18.0no note recorded
- v1.17.1Changed "Generate C# Code" button resized to match the other buttons; added a Stop button beside it, visible while busy
- v1.17.0no note recorded
- v1.16.2Fixed three visual issues from the first live launch - clipped button labels, Settings ComboBoxes ignoring their background color, and a...
- v1.16.1Fixed a real startup crash (AiShellView/SettingsWindow StaticResource lookups failing before their Resources dictionary was populated) that...
- v1.16.0no note recorded
- v1.15.2no note recorded
- v1.15.1Changed pane label shortened to "C#"
- v1.15.0no note recorded
- v1.14.0no note recorded
- v1.13.11no note recorded
- v1.13.10no note recorded
- v1.13.9Fixed McpBridgeService.Start() leaked a named-pipe handle on every failed start attempt
- v1.13.8Changed Perf: SmartMepTagService.MarkDenseZones and SmartTagPlacementEngine's parallel-group check both replaced an O(n^2) full pairwise scan...
- v1.13.7Fixed a naming collision between two unrelated DuctSelectionFilter classes (not a live bug, a future trap) - renamed one to...
- v1.13.6Fixed AJ Annotation ribbon typo ("Auto Dimention" -> "Auto Dimension", visible on the tab)
- v1.13.5Changed Multi-version build: one codebase now builds Revit 2020 through 2027 from a single project, via root Directory.Build.props/.targets...
- v1.11.3Changed Fixed Revit startup dependency resolution so bundled DLLs such as CommunityToolkit.Mvvm.dll load from the AJ Tools install folder
- v1.11.2Changed Optimized IndependentTag compatibility so Revit 2022 and newer use the cleaner reference-based tag and leader APIs
- v1.11.1Changed Split Revit 2020-2024 into separate .NET Framework package payloads built against matching Revit API reference packages
- v1.11.0Changed Added modern Revit builds for Revit 2025-2026 on .NET 8 and Revit 2027 on .NET 10
- v1.10.1Changed Updated the installer to stage AJ Tools folders and .addin manifests for Revit 2020-2027
- v1.10.0Changed Added the MEP Openings split-button workflow in the MEP panel
- v1.9.1Changed Fixed Colorize shuffle behavior so repeated shuffles stay in the window and apply immediately
- v1.9.0Changed Added the Colorize tool in the View panel for per-view element overrides by category or parameter values
- v1.8.0Changed Full project audit: added the Pipe Sizing tool (MEP panel) for domestic water pipe sizing from fixture units, system type, pipe...
- v1.7.0Changed AJ Annotation tab refactor/audit: full metadata blocks across every Dimensions, Auto Duct Dimension, Tags, Duct Flow, Revision Cloud,...
- v1.6.0Changed Modify / MEP / Coordination / Data / Manage / Family panels refactor/audit: full metadata blocks across every tool in these panels;...
- v1.5.4Changed Datums panel refactor/audit: full metadata blocks across all datum tools, removed success popups (silent success), single-undo batch for...
- v1.5.3Changed Graphics panel refactor/audit: single-undo TransactionGroup for both Match tools, view-scoped Reset Element Graphics in View, full...
- v1.5.2Changed View Crop tool refactor/audit pass: shared helpers, bulk-edit confirmation, ElementId helper for 2024+ readiness
- v1.5.1Changed Fixed MSBuild compilation errors related to legacy PackageReference restores in the zero-warnings 2020 project configuration
- v1.5.0Changed Added Search and Sort functionality for Categories and Parameters in the Filter Pro tool
- v1.4.9Changed Added new Section Mark Visibility tool to automatically manage section visibility in plan views based on Sheet Number filters or...
- v1.4.8Changed Fixed Transfer View Templates so the Copy From and Copy To document dropdowns show readable Revit document names instead of the internal...
- v1.4.7Changed Added separate Purge Unplaced 3D Views and Purge Unplaced Sections tools under the AJ Tools Purge menu with preview, selection,...
- v1.4.6Changed Reduced the Apply Graphics startup window size again for smaller screens
- v1.4.5Changed Reduced the Apply Graphics default window size for smaller screens while keeping the settings area scrollable
- v1.4.4Changed Rebuilt Apply Graphics around a dark, compact settings manager with separate apply actions for element and category overrides
- v1.4.3Changed Restored preset color buttons in Apply Graphics, but scoped each preset row to its own color field so preset clicks never spill into...
- v1.4.2Changed Removed the unused Preset Target UI and quick-preset dependency from Apply Graphics
- v1.4.1Changed Combined Element Graphics and Category Graphics into one Apply Graphics tool with a shared UI mode switch
- v1.4.0Changed Added the HVAC Schematic tool to create drafting-view schematics from selected ducts, air terminals, and mechanical equipment
- v1.3.9Changed Cleaned the Graphics Tools command group: Apply Graphics, Match Graphics, and Reset Graphics
- v1.3.8Changed Cleaned the Toggle Link command and added standardized production metadata
- v1.3.7Changed Standardized production metadata headers for all View Crop C# and XAML files
- v1.3.6Changed Cleaned the Unhide All command and removed old debug-style comments
- v1.3.5Changed Cleaned the View Crop command flow, shared target-view selection path, and command result handling
- v1.3.4Changed Refactored the About command to use a dedicated WPF About window
- v1.3.3Changed Added pin tools and family parameter purge tools
- v1.3.2Changed Added manual Smart MEP tag priority controls in the settings UI
- v1.3.1Changed Improved Smart MEP tag priority placement behavior
- v1.3.0Changed Added a new tool suite
- v1.2.1Changed Updated the About tool to a dedicated About window
- v1.2.0Changed Added the Smart MEP Tag workflow
Want something like this for your team?
The suite is built around the standards of the team I work with, so it is not sold off the shelf. Adapting it, or building a private version around another company’s templates and naming, is straightforward — the installer, the versioning and the multi-version build are already in place.
Looking for an MEP BIM Coordinator?
Doha, Qatar · transferable QID with NOC · able to join within days.