
CopyClipboardText
✅ Mass clipboard copy – copies many drawing text values in one operation.
✅ Single line text – supports standard AutoCAD text objects.
✅ Paragraph text – supports MTEXT style paragraph content.
✅ Optional block attributes – includes attributes when Attribs is enabled.
✅ Selection order – keeps text in the picked order.
✅ X sorting – sorts text left to right.
✅ Y sorting – sorts text top down.
✅ Column sorting – sorts top down and then left to right by column.
✅ Substring replacement – can replace a predefined substring before clipboard transfer.
✅ MTEXT paragraph conversion – normally converts paragraph control codes to new lines.
✅ Reformat override variable – _CCtextNoReformat disables paragraph reformatting.
✅ Windows Clipboard output – supports normal paste into external applications.Spline2Poly
✅ Manual selection mode – converts only selected SPLINE entities.
✅ All drawing mode – converts every SPLINE found in the drawing.
✅ Dynamic DCL – creates a unique temporary dialog file.
✅ Locked layer protection – skips splines on locked layers.
✅ Frozen layer protection – skips splines on frozen layers.
✅ Layout switching – processes entities in their correct tab.
✅ Fixed precision 1 – uses SPLINEDIT polyline precision 1.
✅ Conversion verification – checks whether the original entity is no longer a SPLINE.
✅ Conversion summary – reports Converted Skipped and Failed totals.
✅ Persistent mode – remembers the selection mode.
✅ Dialog position memory – remembers the DCL screen location.
✅ Undo support – groups conversion operations.Slope_Ro
✅ Two point slope – calculates slope from two picked XY coordinates.
✅ Fixed 12 reference – uses a 12 unit reference value.
✅ Ratio simplification – reduces the integer ratio with GCD.
✅ Angle calculation – reports the corresponding slope angle in degrees.
✅ Alert output – shows the result in a modal AutoCAD alert.SelectStraightEntities
✅ Automatic drawing scan – requires no manual object selection.
✅ Current layout filtering – uses CTAB to limit the scan.
✅ LINE detection – selects horizontal and vertical lines.
✅ LWPOLYLINE detection – selects polylines containing only horizontal and vertical straight segments.
✅ POLYLINE detection – attempts the same orthogonal test on old polyline entities.
✅ Arc exclusion – rejects polyline geometry containing nonzero bulge values.
✅ Layer exclusion – ignores PAGE_LIMIT_02.
✅ Selection handoff – leaves valid entities actively selected.ParallelPolylinesOption
✅ Close parallel sides – joins two open sides into one polyline.
✅ Unclose closed parallel shape – splits a closed lightweight polyline into two open side polylines.
✅ LINE conversion – accepts line source geometry in close mode.
✅ ARC conversion – accepts arc source geometry in close mode.
✅ SPLINE conversion – accepts spline source geometry in close mode.
✅ Automatic endpoint pairing – chooses the shortest total end connection arrangement.
✅ Centerline generation – creates midpoint geometry on _HILFSLINIEN.
✅ Shortest connector detection – unclose mode removes the two shortest boundary segments.
✅ Property preservation – rebuilds unclosed sides with source layer color linetype and lineweight.
✅ Apply and Undo – supports iterative dialog operations.
✅ Cancel rollback – reverses Apply operations from the current run.PLTools
✅ Large polyline toolbox – contains more than thirty command entry points.
✅ Intersection vertex insertion – adds vertices at curve intersections.
✅ Direction normalization – forces clockwise or counterclockwise polyline direction.
✅ Object and segment reversal – reverses entire entities or selected sections.
✅ Line and arc segment conversion – switches polyline segment type between linear and curved.
✅ 2D and 3D joining – provides joining workflows for planar and spatial polylines.
✅ Polyline division – divides selected segments or all segments.
✅ Vertex editing – adds reduces deletes optimizes and moves vertices.
✅ Polyline simplification – includes vertex reduction and optimization tools.
✅ Segment width editing – changes start and end width on selected segments.
✅ Segment information – reports geometric information for selected segments.
✅ 2D and 3D conversion – converts polyline dimensional representation.
✅ Chain selection – selects connected entity chains.
✅ Middle polyline creation – includes an MPL center or middle polyline workflow.
✅ Menu launcher – provides PL-MENU and PLTOOLS-MENU.OffsetAndLayer
✅ Inward offset – chooses the sign producing a smaller area when possible.
✅ Outward offset – chooses the sign producing a larger area when possible.
✅ Editable distance – accepts a numeric offset value.
✅ Layer filter – searches the available user layers by name.
✅ Layer dropdown – assigns new geometry to the chosen drawing layer.
✅ Xref layer exclusion – hides dependent Xref layers from the target list.
✅ Planar curve validation – skips non planar objects and 3D polylines.
✅ Automatic sign correction – retries the opposite offset sign when the first result moves in the wrong direction.
✅ Persistent settings – stores last distance layer and direction using setenv.
✅ Undo grouping – wraps the operation in an AutoCAD undo mark.MultiOffsetBothSidesWithLayer
✅ Profile based offsets – uses configurable Profile_000 Profile_002 and Profile_003 profile definitions.
✅ Independent left and right offsets – supports different boundary distances.
✅ Pipe count planning – creates structured repeated duct or pipe geometry.
✅ Extra ducts – adds additional left and right parallel offsets.
✅ Four start modes – interprets the picked source as centerline left edge right edge or Profile_000 exterior.
✅ Target layer assignment – creates or assigns output geometry to selected layers.
✅ Profile layer styling – supports profile color linetype and lineweight when creating layers.
✅ Linetype fallback loading – attempts acadiso.lin then acad.lin before Continuous fallback.
✅ Parallel close and join – closes one left and right pair into a single polyline when enabled.
✅ Centerline helper – creates averaged centerline geometry on _HILFSLINIEN.
✅ Profile_000 centerlines – creates pipe centerline helper offsets for Profile_000 profiles.
✅ Delete original – can erase selected source objects after generation.
✅ Live transient preview – shows planned offsets in model space before Apply.
✅ Apply – commits all planned geometry in one processing run.
✅ Undo last – restores the latest Apply through explicit entity tracking.
✅ Persistent profiles – stores profiles and group checkbox defaults in XML.
✅ Persistent UI preferences – stores window position size splitters selected profile target layer and preview zoom.
✅ Docking support – provides floating and PaletteSet hosted interface modes.
✅ Diagnostic commands – includes profile management and debug entry points.
MiddleLinePolylines_2
✅ Simple endpoint average – creates the centerline from averaged start and end positions.
✅ General curve API – works with several open AutoCAD curve types.
✅ First and last selection logic – uses only the first and last objects from the selection set.
✅ Closed curve guard – skips processing when a selected source appears closed.
✅ Two vertex result – creates a straight LWPOLYLINE with two vertices.
✅ COM creation – adds the lightweight polyline directly to ModelSpace.
✅ 2D output – forces the generated Z coordinate to zero.
MiddleLinePolylines
✅ Two curve centerline – creates a middle path between two selected open curves.
✅ General open curve support – uses vlax curve validation for line polyline spline arc and similar objects.
✅ Automatic working offset – calculates a construction offset from curve separation.
✅ Temporary source copies – protects original curves during the construction process.
✅ Loft based processing – uses AutoCAD LOFT geometry as part of the centerline algorithm.
✅ Straight result handling – can produce polyline centerline geometry.
✅ Curved result handling – can produce spline centerline geometry.
✅ Elevation validation – checks selected curve elevation compatibility.
✅ Normal validation – checks source object orientation compatibility.
✅ UCS and view validation – includes environment checks before geometric processing.
Lengthen
✅ DCL first workflow – opens the interface before source selection.
✅ Pick Entities button – supports window crossing pick fence and All selection methods.
✅ Selection highlighting – keeps selected geometry visually highlighted.
✅ Separate endpoint values – controls start and end extensions independently.
✅ Both Ends Slot – applies one shared extension value to both ends.
✅ Dynamic drag preview – updates the shared slot through cursor movement.
✅ Apply – updates the selected geometry without closing the dialog.
✅ Undo – restores the latest stored geometry snapshot.
✅ Debug report – writes settings selection and entity information to DEX_debug.txt.
✅ Dialog position memory – stores the DCL screen position during the AutoCAD session.
✅ C3D compatibility – includes protected Visual LISP COM initialization and command-s cleanup.InteriorPolylinesArea
✅ Seven option DCL launcher – centralizes the complete area creation workflow.
✅ BreakAll – breaks selected curve objects at mutual intersections.
✅ Boundary Offset – creates closed region based boundaries.
✅ Region2Polyline – converts region boundaries back to polylines.
✅ Combined boundary workflow – runs Boundary Offset followed by Region2Polyline.
✅ Combined full workflow – runs BreakAll Boundary Offset and Region2Polyline in sequence.
✅ Closed polyline cleanup – removes lines and open polyline geometry while retaining closed polylines.
✅ JoinAreas – unions closed polyline areas and rebuilds joined boundaries.
✅ Session option memory – remembers the last selected BR2P radio option.ExtendStartEndMultiple
✅ Multiple object processing – extends a selection of supported curve entities.
✅ Independent start extension – uses a separate value for the beginning of each curve.
✅ Independent end extension – uses a separate value for the end of each curve.
✅ LINE support – extends straight lines.
✅ ARC support – extends supported arc geometry.
✅ LWPOLYLINE support – extends lightweight polyline endpoints.
✅ Legacy POLYLINE support – processes supported old polyline geometry.
✅ Apply workflow – allows iterative changes without leaving the tool.
✅ Undo last Apply – reverses the latest Apply operation.
✅ Cancel rollback – restores Apply changes from the current session.
✅ Undo grouping – groups the command modifications for AutoCAD undo.
DynamicDivide
✅ Dynamic preview – shows temporary point markers while the cursor moves over supported geometry.
✅ Equal segment division – calculates equally spaced locations from total curve length.
✅ LINE support – divides straight line entities.
✅ ARC support – divides arc entities by curve distance.
✅ LWPOLYLINE support – divides lightweight polylines by accumulated curve length.
✅ Keyboard count control – supports plus minus and direct numeric entry.
✅ Persistent count – remembers the last segment count between command runs.
✅ Point style integration – temporary markers respect AutoCAD point display settings.
✅ Undo grouping – wraps generated point creation in an AutoCAD undo group.DuplicateToNewLayer
✅ Independent left and right offsets – allows different offset distances on each side.
✅ Engineering profiles – provides preset Profile_000 cable channel and Profile_003 bundle dimensions.
✅ Multiple object selection – accepts LINE LWPOLYLINE POLYLINE SPLINE and ARC geometry.
✅ Filtered layer picker – filters non Xref layers by user entered name text.
✅ Pick layer from drawing – reads the target layer from a selected drawing entity.
✅ Optional source deletion – erases the original after offset generation when enabled.
✅ Parallel closing – adds two endpoint connector lines and joins the new offset pair.
✅ Automatic endpoint pairing – chooses the lower total endpoint connection distance.
✅ Safe centerline – creates a sampled midpoint LWPOLYLINE between the two offsets.
✅ Apply workflow – creates repeated processing passes without closing the tool.
✅ Undo workflow – rolls back the most recent Apply operation.
✅ Cancel rollback – reverses every Apply made during the current command session.
✅ Persistent UI values – keeps profile offsets deletion layer filter selection mode and close options in global variables.DoubleOffset
✅ Both side offset – creates positive and negative offsets from one selected curve.
✅ Distance mode – uses the specified numeric offset distance.
✅ Through mode – calculates the offset distance from a picked through point.
✅ Multiple through points – supports repeated through point offsets for one source object.
✅ Erase source option – optionally deletes the source object after successful processing.
✅ Current layer option – can move generated offsets to the active layer.
✅ Source layer option – can retain the original object layer on generated offsets.
✅ Broad curve support – supports ARC CIRCLE ELLIPSE SPLINE LWPOLYLINE XLINE and LINE.
✅ Persistent command settings – keeps Erase and Layer choices in global variables for later command runs.
✅ Undo marks – provides grouped rollback for individual processed objects.ConvertMultiplePolylines
✅ 🎛️ Embedded DCL interface – provides processing mode and joining fuzz controls.
✅ 🖱️ Selected entities mode – processes an implied selection or prompts for LINE LWPOLYLINE and POLYLINE objects.
✅ 🌐 All entities mode – collects all compatible drawing entities automatically.
✅ 🔄 Old 2D POLYLINE conversion – rebuilds legacy planar POLYLINE entities as LWPOLYLINE objects.
✅ 📐 LINE conversion – uses PEDIT Multiple to convert LINE entities into polyline geometry.
✅ 🔗 Optional joining – joins compatible working geometry when the fuzz distance is greater than 0.
✅ 📏 Adjustable fuzz distance – controls the maximum joining tolerance used by PEDIT.
✅ ➡️ Extend jointype – uses the PEDIT Join Extend option when joining is enabled.
✅ 🧬 Property preservation – transfers important entity and vertex properties from old 2D polylines.
✅ 🚫 3D polyline exclusion – rejects 3D polylines polyface meshes and polygon meshes from legacy conversion.
✅ 💾 Persistent session defaults – remembers the last processing mode and fuzz value while the AutoCAD session remains active.LispLoaderExtra
✅ Multi format scanning – discovers LSP VLX FAS and DLL files in the structured source tree.
✅ Modeless loader window – stays usable while AutoCAD remains active.
✅ Category and name filters – narrows the displayed tool collection.
✅ Text search – filters visible loader rows by search text.
✅ Checkbox selection – supports selective loading and Select All or None actions.
✅ Load and reload actions – process checked files or force reload the chosen set.
✅ Load Selected – loads highlighted grid rows and is also available through F3.
✅ Persistent checked state – stores checked file paths in ss checked.json between sessions.
✅ Automatic disk rescan – uses FileSystemWatcher with debounce when supported files change.
✅ Right click tools – provides load reload open folder open editor copy path and checkbox actions.
✅ Editor integration – opens source files in Notepad++ with a Notepad fallback.
✅ Live log panel – shows real time color coded loading messages with Store Log Clear and Auto Scroll.
✅ Status change flash – briefly highlights rows whose load status changed.
✅ Diagnostics command – searches loaded AutoCAD assemblies for LISP related invocation methods.LispLoader v1.0.000
✅ Configuration driven loading – uses LoaderConfig.txt as the source list.
✅ LSP loading – supports AutoLISP source files.
✅ VLX loading – supports Visual LISP executable files.
✅ FAS loading – supports compiled AutoLISP files.
✅ DLL loading – loads .NET assemblies with Assembly.LoadFrom and ExtensionLoader.
✅ Relative and absolute paths – accepts both path types in the configuration.
✅ Failure isolation – continues the loop when individual files are missing or return a handled failure.
✅ Command line logging – reports loading progress inside AutoCAD.
✅ Rolling disk log – writes LispLoader.log and rotates it at 5 MB.
✅ Version banner – prints version and build timestamp when the plugin initializes.LayoutVPOverrides
🧩 Filter layer targets by All layers, Non-Xref Layers, Last group, or selected xref layer groups.
📑 Select one or many layers for viewport override operations.
🎛️ Apply VPLAYER properties: Freeze, Thaw, Color, Ltype, LWeight, PStyle, and Transparency.
🧹 Remove viewport overrides for All, Color, Ltype, LWeight, PStyle, or Transparency.
🎨 Pick ACI or TrueColor values using AutoCAD color dialog.
📐 Apply changes across All layouts, Last group, or selected layouts.
↩️ Wrap processing in an undo mark and restore the previously active CTAB.Dan_alldlls
✅ ⚙️ Automatically runs NETLOAD for five predefined DLL paths.
✅ 🛡️ Protects each DLL load attempt with Visual LISP error trapping.
✅ 📋 Collects the paths of assemblies that fail to load.
✅ 📄 Writes failed DLL paths to load_report.txt.
✅ 🔢 Reports the total number of failed DLL load attempts.
✅ ✅ Displays a success message when all configured tools load without a trapped error.
✅ 🧰 Centralizes several Civil 3D plugin load operations in one startup LISP file.@Dan_acaddoc
✅ 📦 Loads a predefined library of 426 AutoCAD and Civil 3D tools.
✅ 🧩 Processes LSP FAS VLX and DLL program formats.
✅ 🛡️ Uses protected loading with Visual LISP error trapping.
✅ 🔁 Detects files already loaded by another dependency and records them as skipped.
✅ 🧪 Generates diagnostic hints for common startup loading problems.
✅ 📄 Creates a detailed load_report.txt file for troubleshooting.
✅ 🚫 Prevents reentrant execution of the master loader.
✅ 📊 Displays a final AutoCAD summary with OK SKIP and FAIL totals.
✅ ⚠️ Shows the first failed tools in an alert when errors occur.
✅ 🧹 Excludes known problematic folders that can crash the loading sequence.ViewportMatchOrientation
✅ 🧭 Read viewport orientation from a selected source viewport.
✅ 🔄 Apply the same TwistAngle to another selected viewport.
✅ 📐 Standardize rotated plan views between layouts.
✅ 🖱️ Use simple two-click viewport selection.
✅ 🧰 Work directly in paper space for layout production tasks.VportsPoly2Rectang
✅ 🪟 List viewports by layout with rectangular/poly status.
✅ 🔍 Filter visible viewports by All, Poly only, or Rect only.
✅ 🔐 Show and modify viewport locked/unlocked state.
✅ 🔄 Convert polygonal viewports to rectangular viewports.
✅ ✏️ Convert rectangular viewports to custom polygonal clipping boundaries.
✅ 🖱️ Select all poly viewports or all rectangular viewports quickly.
✅ 🔎 Zoom to the selected viewport for visual checking.
✅ 💾 Persist dialog options and clip boundary layer settings between sessions.PlotExtra
✅ 🖨️ Open a custom plot dialog from AutoCAD using a .NET command.
✅ 📐 Show a paper/layout preview based on captured drawing geometry.
✅ 🧾 Open a modeless log viewer with save and clear actions.
✅ 🗂️ Manage PDF project locations and project-specific plotting folders.
✅ 🎨 Use C3D dark/light palettes, compact buttons, and generated icons for consistent UI styling.
✅ ⚙️ Centralize build naming through project properties so command and assembly names follow the build number.
✅ 🧪 Provide a foundation for wiring UI fields to AutoCAD PlotSettings and PlotEngine logic.PageSetupAllLayouts
✅ Process all paper-space layouts in the active drawing.
✅ Skip the Model tab automatically.
✅ Detect layouts currently assigned to Canon iPF770.pc3.
✅ Replace Canon iPF770.pc3 with AutoCAD PDF (High Quality Print).pc3.
✅ Assign Canon iPF770V2.pc3 to other paper-space layouts.
✅ Use Visual LISP ActiveX layout access for direct ConfigName updates.
✅ Provide a compact command for fast plot device migration.
Delete2Layouts
✅ Pick a block or xref reference from the drawing and capture its INSERT name.
✅ Filter paper-space layout tabs using AutoCAD wildcard patterns.
✅ Select all matching layouts or clear the layout selection.
✅ Delete all matching block/xref instances from selected layouts only.
✅ Preserve model space because the routine targets paper layouts returned by layoutlist.
✅ Wrap deletion inside an AutoCAD undo group for easier rollback.
✅ Attempt to purge the selected block name after layout deletion.
CopyPaper2Model
✅ Copy Paper Space objects into Model Space using a selected viewport as the scale and coordinate reference.
✅ Copy Model Space objects into Paper Space through all or selected layout viewports.
✅ Filter layout names using * and ? wildcard matching for fast selection in large sheet sets.
✅ Select all layouts, clear selections, choose all viewports, or manually choose specific viewport targets.
✅ Use horizontal scrolling for long layout names and viewport labels in the DCL list boxes.
✅ Temporarily unlock locked viewports, activate the correct CVPORT, then restore the previous lock state.
✅ Group operations inside an undo mark for easier rollback.SelectCreateLayerFilter
✅ 🔎 Creates an AutoCAD Properties Filter from layers extracted from selected entities.
✅ 🧱 Removes duplicate layer names before presenting the layer list.
✅ 🎛️ Provides a custom DCL dialog for filter name, parent filter, pattern search, multi-selection, and confirmation.
✅ 🔍 Supports wildcard layer filtering with * and ? characters.
✅ ↔️ Includes a horizontal scroll slider so very long layer names remain readable in the dialog.
✅ 📋 Copies the generated layer-filter expression to the clipboard for review or reuse.
✅ 📋 Copies selected layer names to the clipboard as a line-by-line list.
✅ 🧪 Provides a Debug button that copies the current filter name, parent filter, selected layers, pattern, and expression.
✅ 💾 Remembers last-used settings in the Windows registry.
✅ 🧰 Runs the AutoCAD -LAYER FILTER workflow automatically after the user clicks Apply.
ChangeVPLayerColor
✅ 🎨 Apply VP layer color overrides to selected layers in selected layout viewports.
✅ 🔍 Filter the drawing layer list and refresh layer data from the current drawing.
✅ 🧰 Select all or none from the visible layer list for faster bulk processing.
✅ 📄 Use Config Bestand and Config Neu paginated dialogs to decide which preset entries are active.
✅ 🟢 Apply Bestand and Neu preset buttons only to checked preset entries.
✅ 🎛️ Choose fixed ACI/true-color style values or open the AutoCAD color palette option.
✅ 📐 Pick target layouts and apply the VPLAYER override to viewport entities with id greater than 1.
✅ 🔄 Return to the VP Manager main dialog after preset configuration or color assignment.Reconcill_All_Layers
✅ Clears unreconciled-layer metadata from every layer in the active AutoCAD drawing.
✅ Removes the ADSK_XREC_LAYER_RECONCILED xrecord from layer extension dictionaries when present.
✅ Disables AutoCAD’s new-layer evaluation system using LAYEREVAL = 0.
✅ Disables unreconciled-layer notification warnings using LAYERNOTIFY = 0.
✅ Uses safe vl-catch-all-apply wrappers while removing layer dictionary records.
✅ Prints a command-line confirmation after the drawing has been processed.
✅ Helps clean DWG files before plotting, xref management, delivery, archiving, or CAD standards checking.Make_layers_linetypes_draw
✅ Scan all loaded linetypes in the active drawing.
✅ Exclude ByLayer, ByBlock, and Continuous from the output list.
✅ Choose a drawing start point manually or by picking a point.
✅ Set sample line length, vertical row spacing, linetype scale, and label gap.
✅ Select only specific linetypes using a paginated DCL list.
✅ Filter linetypes with wildcard patterns.
✅ Draw one sample polyline per selected linetype.
✅ Create/update matching layers and assign their linetype property.
✅ Place MTEXT labels as linetype name, layer name, or both.
LayersName2Clipboard
✅ Select AutoCAD entities and extract their layer names.
✅ Use entget and DXF group 8 for reliable layer-name reading.
✅ Remove duplicate layer names from the selection.
✅ Preserve first-detected order by reversing the accumulated list before output.
✅ Copy the clean layer list to the Windows clipboard.
✅ Print the same layer list in the AutoCAD command line.LayerImport
✅ Import AutoCAD layer properties from CSV or XML.
✅ Create missing layers automatically when enabled.
✅ Update existing layers only when the update option is enabled.
✅ Choose exactly which layer fields are imported using property toggles.
✅ Filter import rows using * and ? wildcard patterns.
✅ Use multi-select layer lists, Select All, Select None, paging, and horizontal-scroll support for long layer names.
✅ Apply changes without closing the dialog, then use Undo to restore the previous layer state.
✅ Copy the visible layer list or debug report to the clipboard.
✅ Store settings in a support-folder configuration file and remember dialog position.
✅ Use predefined OneDrive/project folders and auto-select a folder based on the active drawing name.LayerFilterFreezeThawOnPlotVPFreeze
✅ Select an existing AutoCAD layer filter from a DCL list.
✅ Apply multiple non-conflicting layer actions in one run.
✅ Freeze or thaw layers globally.
✅ Turn layers on or off.
✅ Lock or unlock layers.
✅ Enable or disable plotting for matching layers.
✅ VP Freeze or VP Thaw matching layers in a selected layout viewport.
✅ Invert the filter to apply actions to all layers except the filtered set.
✅ Remember the last dialog settings during the session.
✅ Regenerate the drawing after applying actions.
ChangeLayerToSelected_vs.01
✅ Display all drawing layers in a DCL popup/list interface.
✅ Filter layer names with typed search text.
✅ Remember the last used layer and last filter between command runs.
✅ Pick an existing object to use its layer as the destination layer.
✅ Copy the selected layer name to the clipboard.
✅ Select multiple objects after confirming the target layer.
✅ Move selected objects to the chosen layer using CHPROP.
✅ Optionally preserve original displayed linetype, linetype scale, and lineweight/width after the layer change.
ChangeLayerToCurrent
✅ Display all drawing layers in a DCL popup/list interface.
✅ Filter layer names with typed search text.
✅ Remember the last used layer and last filter between command runs.
✅ Pick an existing object to use its layer as the destination layer.
✅ Copy the selected layer name to the clipboard.
✅ Select multiple objects after confirming the target layer.
✅ Move selected objects to the chosen layer using CHPROP.
✅ Optionally preserve original displayed linetype, linetype scale, and lineweight/width after the layer change.NamespaceFix
✅ Detect broken AutoLISP multiplication operator symbol.
✅ Repair * automatically after save-related command activity.
✅ Repair immediately on load if the symbol is already damaged.
✅ Print command-line status messages such as * OK on load or * repaired on load.
✅ Avoid editing the conflicting third-party/source LISP directly.ChangeBackgroundColor
✅ Change Model Space background color.
✅ Change Paper Space / Layout background color.
✅ Change Block Editor background color.
✅ Use global color mode or separate colors per space.
✅ Use quick commands for black, white, and grey backgrounds.
✅ Toggle black/white background with BGT.
✅ Automatically adapt crosshair, AutoTracking vector, and AutoSnap marker colors for contrast.
✅ Apply changes live, accept them with OK, or restore the original settings with Cancel.Text2Multileader_2
✅ Convert selected TEXT and MTEXT objects into one MLeader annotation.
✅ Use a selected LINE as the exact leader arrowhead and landing-point guide.
✅ Use the first and last points of a selected LWPOLYLINE or POLYLINE as MLeader points.
✅ Sort text by insertion point to preserve a readable annotation order.
✅ Apply the widest selected text bounding-box width to the new MLeader.
✅ Create the MLeader with non-osnap point input using _non for more predictable placement.
✅ Delete the source guide geometry and original text objects after the conversion.SetupOverriteDimStyles
✅ Select an object and extract its relevant CAD standards properties.
✅ Compare current workspace settings against selected-object settings in a clear DCL matrix.
✅ Show quantity counts for current and selected Layer, Text Style, Dimension Style, and MLeader Style usage.
✅ Toggle whether to set the selected object layer current.
✅ Toggle whether to set the selected text style and text size current.
✅ Toggle whether to restore the selected dimension style and/or set the selected MLeader style current.
✅ Preserve toggle choices in session variables for repeated use.
✅ Wrap updates in an AutoCAD UNDO begin/end group.MLeaderExtra
• Opens a dedicated MLeader editing panel with MLTOOLS.
• Adds a new bend/inflection vertex interactively with MLADDVERT.
• Supports handle-based editing with MLADDVERT_HANDLE.
• Validates that the selected object is an AutoCAD MLeader.
• Works through locked documents and AutoCAD transactions.
• Updates MLeader geometry using AddLastVertex and SetVertex.
• Regenerates the drawing after successful edits.
• Provides preview/highlight and logging tools in a WinForms interface.
• Includes version metadata and a build structure that separates compile output from NETLOAD output.
Xline2Poly
Converts selected XLINE entities into finite two-point LWPOLYLINE objects.
Converts selected RAY entities into finite LWPOLYLINE objects using a ray cut length.
Supports independent left/back and right/forward offsets for XLINE conversion.
Includes a Symmetric L=R toggle for matching offset values.
Provides a DCL interface with Pick Lines/Rays, filter, All, None, OK, Apply, Undo, Copy Log, and Close controls.
Displays each loaded object by type, handle, layer, angle, and base coordinates.
Persists dialog position, filter, scroll, offset, and ray length settings.
Temporarily suspends reactors during selection/conversion and restores them afterward.
Poly2Xline
Converts LINE entities to XLINE objects.
Converts every segment of LWPOLYLINE and old POLYLINE entities into separate XLINE objects.
Converts ARC and SPLINE geometry through curve-segment sampling based on the vlax-curve parameter range.
Uses a temporary DCL dialog with Pick Objects, filter field, multi-select list, All, None, Apply, Undo, Copy Log, Debug, and Close buttons.
Supports wildcard filtering by object description, including handle, type, layer, and segment count.
Persists dialog position, filter text, horizontal scroll, and the Keep original geometry option.
Optionally keeps or deletes the original source geometry after conversion.
Groups changes in a single undo mark for safer rollback.
ParallelPipes.NET
– Provides one AutoCAD command: VTPCS.
– Opens a modeless dark-themed WinForms dialog with tabs for Pipe Profile, Geometry, Fillet Radius, Extensions, Offset Layer, Options, Placed Pipes, and Log.
– Lets the user select boundary curves including LINE, ARC, CIRCLE, ELLIPSE, LWPOLYLINE, POLYLINE, SPLINE, RAY, and XLINE entities.
– Creates multiple parallel pipes by shifting the picked point laterally according to pipe count and pipe spacing.
– Finds below/above boundary intersections and builds a route between them using the chosen working direction.
– Supports configurable gap, polyline width, search length factor, current-UCS or world-Y vertical direction, closest-pair modes, and optional fixed angle.
– Supports tangent fillets at both ends with common or separate below/above radii.
– Supports extension lengths below and above the fillets, with equal or separate values.
– Includes factory default pipe profiles for Profile_003 and Profile_003 Profile_000 bundles and a profile CRUD manager.
– Includes radius presets such as 750V, 400V, 230V, OSE, RL, PRL, SE_fST, 30kV, and D_25.
– Creates pipe edge geometry from AutoCAD GetOffsetCurves, using the same solved geometry for preview and final placement.
– Can keep a centerline polyline on _HILFSLINIEN or use it only as construction geometry for offset generation.
– Creates or updates known output layers such as Profile_000, Profile_001, and _HILFSLINIEN with configured color, linetype, and lineweight.
– Supports optional AutoCAD group creation per placement and a custom Undo Last placement stack.
– Shows placed pipe sets in a table and highlights selected placement rows in the AutoCAD viewport.
– Provides a timestamped log tab and a Save Log button for troubleshooting and later tuning.
– Uses a real TransientManager preview in model space, plus a synchronized preview panel that reflects the current viewport orientation.
30ParallelExisting
• 🚀 Runs with the 30PARAEXIST and PARA30EXIST command aliases.
• 📌 Starts from an existing line or curve, with pick-point fallback where needed.
• 📐 Creates automatic profile offsets from selected geometry using AutoCAD offset logic.
• 🧱 Supports Profile_002 profile presets and profile-based offset distances.
• 🔀 Supports centerline, offset up, and offset down start references.
• 🧭 Adds automatic dynamic or fixed-length 30 degree branch continuations.
• 🔄 Provides Apply continuation modes including last-angle plus 30, dynamic 30, fixed 30, Ortho plus dynamic 30, and Ortho plus fixed 30.
• 🟡 Supports Design, Reconstruction, and Existing layer modes.
• 🎯 Uses visible temporary preview entities during dynamic placement.
• 🧹 Rebuilds offsets from the complete centerline after continuation so offset branches remain parallel.
Lin_Shx_Loader
Embedded DCL interface created temporarily at runtime.
Separate LIN and SHX columns with live filters and multi-selection.
File mode for loading complete LIN files.
Individual type mode for loading selected linetype definitions parsed from LIN headers.
Live preview text showing the selected linetype description or source path.
Include subfolders option for recursive standards-library scanning.
Multi-folder input using semicolon-separated paths.
Favorites for frequently used standards folders.
Named profiles storing folder paths, filters, mode, recurse flag and selections.
Validation report for LIN syntax and missing SHX references, printed to the command line and copied to the clipboard.
Manage Loaded Linetypes dialog with filter, select all, select none and purge selected actions.
Debug report generation with folder, filter, list and environment information.
VLA-based linetype loading to avoid command-line reload prompts and false bad-definition messages.
30Parallel
• 🚀 Runs with the PARA30 and 30PARA command aliases.
• 📐 Creates parallel centerline and profile offset geometry for utility layouts.
• 🧱 Supports Profile_002 Gr. I, Profile_002 Gr. II, Profile_002 Gr. IIIa, and Profile_002 Gr. IV profile presets.
• 🔀 Starts from centerline, offset up, or offset down reference modes.
• 📏 Supports fixed parallel length and main offset inputs.
• 🧭 Continues from the last endpoint using Apply and chain continuation logic.
• 🎯 Offers dynamic preview for segment and 30 degree branch placement.
• 🟡 Uses design, reconstruction, selected-layer, and automatic profile-layer workflows.
• 🧹 Includes layer-name repair logic for reconstruction layer naming issues.
• ⚙️ Computes branch and offset vectors in WCS for stable drafting behavior.
30Degree
Comming soon …ReplaceBlock
🔄 Replaces selected AutoCAD block references with another block definition.
🧩 Accepts only INSERT entities through the selection filter.
📋 Lists available block definitions from the active drawing.
🔍 Provides a DCL dialog with a live filter field for faster block lookup.
📌 Preserves insertion point, X scale, Y scale, Z scale, and rotation.
🎨 Preserves original block layer and color.
🧭 Works in ModelSpace or PaperSpace depending on the active viewport context.
🛡️ Uses an undo group for safe rollback.
🧹 Deletes the temporary DCL file after the command completes.
RenameBlockList
🔁 Batch renames AutoCAD block definitions through a DCL dialog.
🔍 Filters the visible block list with wildcard patterns using * and ?.
🧩 Supports Rename, Add Prefix, and Add Suffix operations.
✂️ Allows matched text deletion by leaving the replacement value empty in Rename mode.
📋 Opens a preview dialog before applying renames.
👁️ Applies rename rules only to currently filtered visible blocks.
🧠 Preserves rule, filter, operation mode, From value, and To value during the AutoCAD session using global variables.
↔️ Includes horizontal scroll sliders for long block lists and long rule descriptions.
🛡️ Skips invalid block names and existing target names instead of overwriting them.
📊 Prints renamed and skipped counts to the AutoCAD command line after processing.CopyRenameBlockChangeLayer
• 🧱 Selects one AutoCAD block reference and validates that the picked object is an INSERT.
• 🔒 Rejects blocks located on locked layers to prevent unsafe modifications.
• 📝 Suggests a unique default block name using the original effective block name plus an incremental suffix.
• 📋 Opens a DCL dialog with New Block Name, Filter Layers, and Choose Layer controls.
• 🔍 Filters available non-xref layers with wildcard logic while the user types.
• 📦 Duplicates the original block definition through ObjectDBX before assigning the new name.
• 🧬 Supports dynamic blocks by preserving dynamic property values during the block-reference rename.
• 🧭 Handles anonymous block names and xref-reload behavior where applicable.
• 🎯 Selects the copied reference after the operation when copy mode is active.
• 🎨 Applies the target layer to the block reference and internal block entities.
• 🟨 Sets internal entity color to ByLayer, linetype to ByLayer, and lineweight to ByLayer for clean layer-driven display.
LayerLeaderPlugin
✅ Modeless AutoCAD toolbar panel with the LLP and SHOWPANEL commands.
✅ PLACELEADER command for entity-based MLeader annotation using DB-standard display labels.
✅ Layer database manager based on layer_database.json with add, remove, list, refresh, apply, undo, and delete workflows.
✅ Dynamic block label manager based on block_database.json with wildcard matching for block names and visibility states.
✅ Place on Block workflow for dynamic blocks, including visibility-state label resolution such as matching X_2.80_2.30_* patterns.
✅ LLUPDATEFIELDS command to refresh source-object-backed MLeader label fields in the active drawing.
✅ Automatic DB MLeader style creation and activation on plugin load.
✅ Automatic BoQ.01_Text layer setup using ACI color 11 and Continuous linetype.
✅ Setup Styles integration through SETUPDIMSTYLES and LOADSETUPDIMSTYLES commands.
✅ Integrated SetupOverriteDimStyles.lsp and Background_Mask.lsp copied beside the DLL at build time.
✅ Native Setup Styles panel for Text, Dimensions, and MLeader style control.
✅ Background mask controls for text, dimensions, and multileaders.
✅ Arrowhead symbol support using AutoCAD standard MLeader arrowheads.
✅ UCS-aware position handling for placed leaders and block labels.
✅ Horizontal label rotation convention preserved after the v1.0.023 block-label correction.
✅ Log tab with timestamped activity, store log, clear log, copy log, and auto-persist options.
✅ Visual Studio 2022, .NET Framework 4.8, x64, Windows Forms, Newtonsoft.Json, and AutoCAD Civil 3D ObjectARX references.
NavvCubeDisplayOffOn
[‘🚀 Provides one command-line entry point named NavvCubeDisplayOffOn.’, ‘🧭 Controls the AutoCAD navigation cube display state through NAVVCUBEDISPLAY.’, ‘🔄 Sends NAVVCUBEDISPLAY 1 followed by NAVVCUBEDISPLAY 3 to reset the display state.’, ‘🧰 Uses the active AutoCAD document and vla-sendcommand for command execution.’, ‘⚡ Runs without a dialog, without selection prompts, and without drawing geometry edits.’, ‘🖥️ Helps restore navigation cube visibility after workspace changes, display issues, or screen setup adjustments.’, ‘📌 Keeps the workflow simple for CAD production users who need a fast visual navigation reset.’, ‘🔒 Leaves model-space entities, layers, blocks, xrefs, and Civil 3D objects unchanged.’]

CopyMove2MidPoint_vs.01
✅ Select multiple AutoCAD drawing objects for midpoint-based relocation.
📐 Define a source midpoint using two picked reference points.
🎯 Define a destination midpoint using two picked reference points.
🔄 Move selected entities with MMid2.
📋 Copy selected entities with CMid2.
🌐 Respect the active UCS by transforming base point and vector data to WCS.
🔒 Skip objects located on locked layers.
🧰 Use a single shared engine for move and copy behavior.
Export_Import_MS_UCS
✅ 📤 Export named UCS definitions from the active AutoCAD drawing to a portable .ucs file.
✅ 📥 Import named UCS definitions from a previously exported .ucs file into the current drawing.
✅ 🧭 Transfer model-space coordinate systems between DWG files without manually recreating UCS origin and axis settings.
✅ 🗂️ Use AutoCAD file dialogs for selecting save and import locations.
✅ 💾 Remember the last-used folder path across sessions through the Windows Registry.
✅ 🏗️ Default to the current drawing folder when no previous UCS export/import folder exists.
✅ 🔁 Handle duplicate UCS names on import by generating unique names instead of overwriting existing UCS records.
✅ 🧱 Use UCS table records, entmake, tblnext, tblsearch, open, read-line, write-line, and Visual LISP file operations.
✅ 📐 Support CAD production workflows where UCS definitions must be reused across project drawings, xrefs, Civil 3D sheets, and model-space layouts.
✅ 🧰 Keep export and import workflows simple with dedicated command aliases for dialog-based and raw file-path execution.
XrefDrawingOrder
🚀 Open a dedicated XREF ordering dialog with MXR or MXR_DCL.
📋 Automatically list xrefs found in the active drawing.
⬆️ Move selected xrefs upward in the display order.
⬇️ Move selected xrefs downward in the display order.
🔝 Send an xref to the top of the ordering list.
🔻 Send an xref to the bottom of the ordering list.
🔄 Reset the list to the current xref collection.
🕘 Reload the last applied xref order stored in the drawing.
💾 Save named xref order presets for repeated use.
📂 Load saved order presets and fill missing current xrefs automatically.
✏️ Rename saved presets from the DCL dialog.
🗑️ Delete selected saved presets or clear all saved presets.
✅ Apply the draw order while keeping the dialog open for iterative testing.
🟢 Use OK to apply the order and close the dialog.
🔴 Use Cancel to close without applying changes.
ExpImpUCS
✅ 📤 Export all named UCS definitions from the active drawing to a reusable .ucs text file.
✅ 📥 Import named UCS definitions from an external .ucs file and rebuild them in the active AutoCAD drawing.
✅ 🧭 Store UCS data as origin, X-axis point, and Y-axis point for reliable coordinate system reconstruction.
✅ 🔄 Update existing UCS definitions instead of blindly duplicating names.
✅ 🧮 Normalize and validate UCS vectors before writing them to the UserCoordinateSystems collection.
✅ 🗂️ Use predefined project folders for fast access to UCS_Lageplan directories.
✅ 🔍 Discover OneDrive project roots from environment variables, registry values, and user profile OneDrive folders.
✅ 🧰 Use a DCL dialog for Export UCS, Import UCS, predefined folder selection, help, reload, Explorer, and Notepad++ actions.
✅ 📋 Copy help text, selected help lines, and current path information to the clipboard.
✅ 🔤 Toggle Unicode help output for better compatibility with older AutoCAD or Windows clipboard behavior.
✅ 🧹 Skip empty, comment, malformed, or invalid UCS import lines safely.
✅ 🧱 Keep the user workflow focused on UCS setup, coordinate transfer, CAD standardization, and drawing preparation.AreaCalc
🚀 Starts with the AC command from the AutoCAD command line.
🔍 Provides an object filter for ANY, POLYLINE, CIRCLE, ELLIPSE, REGION, SPLINE, and HATCH.
📐 Calculates individual and total area from closed area-capable entities.
🧭 Uses bounding boxes to place area labels near the center of each selected object.
🏷️ Allows a custom label prefix and starting number.
🔢 Supports decimal precision settings from 0 to 8, with LUPREC fallback.
🧮 Converts from drawing units to selected target area units.
➕ Supports an optional additional conversion column.
🔗 Can build AutoCAD field expressions for linked area values when field mode is enabled.
📊 Outputs to LineText, AutoCAD Table, TXT, or CSV.
💾 Creates TXT and CSV area reports and opens the output file location automatically.
↩️ Wraps the operation in an AutoCAD undo mark and restores CMDECHO after completion.
LinetypeWithCharacters2
🚀 Launches a DCL-based linetype builder with the MAKELT2 command.
🔤 Creates or redefines AutoCAD linetypes with embedded text strings.
📐 Controls dash length, dash pattern, text height, text gap, vertical offset, and text style.
✨ Provides a Funky Chars dropdown for inserting special characters into the linetype text string.
🎨 Creates or updates layers with ACI, RGB, or Color Book color values.
🖱️ Supports Pick color using AutoCAD TrueColor or Color Index dialogs.
📏 Applies layer lineweight from a predefined lineweight list.
🟦 Applies transparency values from 0 to 90.
⚙️ Sets CELTSCALE and THICKNESS defaults for the created layer workflow.
📌 Optionally sets the created layer as the current layer.
📂 Applies the generated linetype to one layer or multiple selected layers.
🔍 Includes layer filtering and horizontal scroll handling for long layer names.
💾 Remembers common linetype and layer defaults in the Windows registry.
🔄 Regenerates the drawing after successful linetype assignment.
LinFileDraw_vs.01
🚀 Embedded DCL interface for selecting a LIN file and controlling the full drawing workflow.
📂 Browse and refresh support for external *.LIN linetype definition files.
🔍 Automatic parsing of linetype names from LIN definitions.
✅ Multi-select linetype dialog with Select All, Select None, and Invert actions.
📐 Draws one sample LWPOLYLINE row per selected linetype.
🏷️ Creates MText labels showing the linetype name, the layer name, or both.
📊 Adjustable sample length, row step, linetype scale, text height, line-to-label gap, and label-to-label gap.
🎯 Start point can be typed manually or picked from the drawing.
🧭 Current UCS support for point picking, sample geometry, row layout, and text orientation.
🧱 Output layer modes include layer per linetype, current layer, or selected existing layer.
🟢 Automatic layer creation when using the layer-per-linetype mode.
🔄 Draw, Apply, Undo, OK, and Cancel workflow for iterative testing.
💾 Persistent CFG memory for accepted settings and dialog positions across AutoCAD restarts.
🛡️ Safe linetype loading with skipped-item reporting when a linetype cannot be loaded.
⚠️ Reports common LIN loading problems, including missing SHX shape or font files.
LinFileDraw
🚀 Embedded DCL interface for selecting a LIN file and controlling the full drawing workflow.
📂 Browse and refresh support for external *.LIN linetype definition files.
🔍 Automatic parsing of linetype names from LIN definitions.
✅ Multi-select linetype dialog with Select All, Select None, and Invert actions.
📐 Draws one sample LWPOLYLINE row per selected linetype.
🏷️ Creates MText labels showing the linetype name, the layer name, or both.
📊 Adjustable sample length, row step, linetype scale, text height, line-to-label gap, and label-to-label gap.
🎯 Start point can be typed manually or picked from the drawing.
🧭 Current UCS support for point picking, sample geometry, row layout, and text orientation.
🧱 Output layer modes include layer per linetype, current layer, or selected existing layer.
🟢 Automatic layer creation when using the layer-per-linetype mode.
🔄 Draw, Apply, Undo, OK, and Cancel workflow for iterative testing.
💾 Persistent CFG memory for accepted settings and dialog positions across AutoCAD restarts.
🛡️ Safe linetype loading with skipped-item reporting when a linetype cannot be loaded.
⚠️ Reports common LIN loading problems, including missing SHX shape or font files.
XrefOffsetLayer
- 🔍 Pick individual entities nested inside Xrefs using a dedicated modeless dialog.
- 📐 Offset supported curve objects such as lines, arcs, circles, ellipses, lightweight polylines, and splines.
- 🔄 Use Flip direction to offset to the opposite side without typing a negative distance.
- 🏷️ Choose between placing offsets on the current host layer or on a cloned source Xref layer.
- 📂 Run
XOFFSETCPLAYSto clone Xref-dependent layer definitions from the source drawing into the host drawing. - 🧩 Supports nested Xref containers by transforming created geometry through the full block reference path.
- 📊 Displays picked entities in a grid with apply status, entity type, handle, layer, block path, and readiness state.
- 📋 Copies the entity table to the clipboard as tab-separated data for Excel or Notepad review.
- ↩️ Provides Undo Apply for the last offset operation in the dialog session.
- 📝 Includes live log, copy log, save log, and clear log workflows for repeatable diagnostics.

ReplaceBlockList
- 🚀 Launches a dedicated AutoCAD DCL dialog with the
ReplaceBlockListcommand. - 🧱 Lists available non-xref, non-layout, non-anonymous block definitions from the active drawing.
- 📌 Provides two multi-select panels: replacement blocks on the left and source blocks to replace on the right.
- 🔍 Supports wildcard filtering with patterns such as
*and?for both block lists. - ☑️ Includes Select All, Select None, Clear Filter, Apply Filter, and Refresh List controls for each panel.
- 📋 Builds multiple replacement rules in the format
SourceBlock -> ReplacementBlock. - 🧠 Pairs selected blocks by list index, so replacement selection 1 maps to source selection 1.
- 🛑 Skips invalid rules where the source and replacement names are the same.
- 🛡️ Skips duplicate source rules to avoid replacing the same source block twice in one run.
- 👁️ Previews every rule with the number of source instances that will be affected.
- 📐 Preserves insertion point when the Keep Insertion Point toggle is enabled.
- 🧭 Preserves block rotation when the Keep Rotation toggle is enabled.
- 📏 Preserves effective X, Y, and Z scale when the Keep Scaling toggle is enabled.
- 🔄 Uses the first inserted replacement block reference as the template for new copies.
- 🧹 Deletes old source block references after the replacement copy is created.
- ↩️ Wraps the apply operation in an AutoCAD undo mark for easier rollback.
- 💾 Remembers filters, rules, and preserve toggles in
ReplaceBlockList.cfg.
- 🚀 Launches a dedicated AutoCAD DCL dialog with the

LayersImportExport
– Registers the collision-safe LAYERSIMPORTEXPORT_016 combined command.
– Registers LAYEREXPORT_016 to open the Extract / Export tab.
– Registers LAYERIMPORT_016 to open the Load / Import tab.
– Registers LAYERSETTINGS_016 to open the Settings tab.
– Uses a build-numbered assembly and command system for side-by-side NETLOAD testing.
– Targets AutoCAD and Civil 3D 2024 or later through .NET Framework 4.8.
– Opens one modeless and resizable Windows Forms interface.
– Extracts layer definitions from the active drawing.
– Extracts layers from all DWG files in a selected directory.
– Optionally scans DWG subfolders recursively.
– Runs directory extraction on a background thread with progress and cancellation.
– Reports DWG files that could not be read.
– Exports layer records as UTF-8 CSV.
– Exports layer records as XML.
– Imports layer records from CSV.
– Imports layer records from XML.
– Supports Layer, Colour, Linetype, Lineweight, Plot, PlotStyle, On, Frozen, FrozenInVP, Locked, and Description fields.
– Includes SourceDWG in directory-export records when required.
– Supports ACI colour values.
– Supports true-colour values stored as TC:R,G,B.
– Lets users choose which fields are included in Export.
– Lets users choose which fields are applied during Import.
– Creates missing layers when enabled.
– Updates existing layers when enabled.
– Reports created, updated, skipped, and failed layer counts.
– Shows Import Apply progress and supports cooperative cancellation.
– Captures a layer snapshot before live drawing changes.
– Restores the latest drawing-layer change through Undo.
– Applies selected edited Export-grid rows directly to existing layers in the current drawing.
– Confirms live drawing changes before Apply.
– Includes or excludes Xref-dependent layers during extraction.
– Restricts output to Xref layers only.
– Filters output by one or more selected Xref owners.
– Picks an Xref from a block reference, nested entity, or attribute-related selection in the viewport.
– Automatically checks the picked Xref and isolates its layer rows.
– Uses the picked Xref name as the export filename base.
– Displays the reason used to determine the next export filename.
– Recomputes timestamped output paths automatically unless the path is explicitly locked.
– Selects export folders from matched project names, chosen predefined folders, source folders, or fallback locations.
– Resets local Xref-layer overrides from the Xref source drawing.
– Opens the resolved Xref source DWG as a read-only side database.
– Confirms Xref reset operations and supports Undo.
– Lets users rename pending layer rows inline.
– Opens an AutoCAD-style ACI and true-colour picker from Colour cells.
– Lists loaded drawing linetypes for click-to-change editing.
– Lists standard AutoCAD lineweights for click-to-change editing.
– Toggles On, Plot, Frozen, Frozen in VP, and Locked states by clicking cells.
– Applies cell edits across multiple selected rows.
– Displays colour swatches for ACI and true-colour values.
– Displays boolean grid values as On or Off instead of raw numeric values.
– Provides per-column case-insensitive filters.
– Supports explicit asterisk and question-mark wildcard filters.
– Applies Export, Copy CSV, and Apply-to-drawing actions to the currently visible filtered rows.
– Provides right-click menus for preview, copying, selection, field editing, Xref actions, project folders, and logs.
– Copies selected grid rows as CSV to the Windows clipboard.
– Provides an interactive GDI+ preview with mouse-wheel zoom.
– Supports left, middle, or right-button preview panning.
– Fits preview geometry on double-click.
– Refreshes the preview and fits the selected layer.
– Debounces rapid grid-selection preview changes.
– Recurses through nested blocks and Xrefs for layer preview geometry.
– Caps recursive preview scans to protect responsiveness in large drawings.
– Shows selected layer geometry in its resolved colour.
– Optionally shows all other current-space geometry as gray context.
– Provides selectable black, white, and gray preview backgrounds.
– Provides WCS, Current UCS, and named-UCS preview orientations.
– Provides an optional preview grid.
– Provides optional Exact AutoCAD rendering through the AutoCAD GraphicsSystem.
– Re-enables Exact AutoCAD rendering in build 016.
– Logs GraphicsSystem initialization errors, rebuild errors, exception types, stack information, added entities, skipped entities, selected highlight, and context counts.
– Highlights matching top-level drawing objects through implied selection when possible.
– Manages a schema-versioned ProjectFolders.json database.
– Supports Add, Update, Rename, Duplicate, Delete, Top, Up, Down, and Bottom project-folder operations.
– Assigns separate default Export and Import folders.
– Highlights and automatically selects default project folders.
– Auto-selects a project folder from the active DWG filename when no saved or default choice applies.
– Opens configured project folders in Windows Explorer.
– Auto-saves project-folder changes.
– Reads legacy unversioned project-folder arrays.
– Backs up corrupted project-folder databases before reseeding defaults.
– Persists interface and workflow settings in LayersImportExport.cfg.
– Maintains a timestamped live application log.
– Copies log selections or the complete log.
– Saves logs under the LayersImportExport application-data folder.
– Creates a diagnostics ZIP for troubleshooting.
– Uses generated GDI+ button icons with no external image files.
– Uses DPI-aware sizing, anchoring, docking, and scrolling for smaller screens.
– Prevents Escape from accidentally closing the modeless dialog.
ChangeBlockLayer
– Registers the collision-safe CHANGEBLOCKLAYER_001 command.
– Registers CHANGEBLOCKLAYER and CNL as stable convenience aliases.
– Uses a modeless, resizable C# Windows Forms interface.
– Lets users click Pick nested entity repeatedly while the form remains open.
– Uses Editor.GetNestedEntity to retrieve the real ObjectId of the selected entity.
– Retrieves the complete chain of containing block-reference ObjectIds.
– Builds a FullSubentityPath by reversing the container chain and appending the nested entity.
– Highlights only the selected nested piece rather than the entire outer block reference.
– Accumulates multiple picked entities in a reviewable grid.
– Displays Apply, index, type, handle, original layer, current layer, and status columns.
– Checks newly selected modifiable rows by default.
– Detects whether any containing block definition is an external reference.
– Marks Xref-contained entities as INSIDE XREF (not modifiable).
– Disables and clears the Apply checkbox for Xref-contained rows.
– Loads all current drawing layer names from the LayerTable.
– Sorts destination layers alphabetically.
– Provides autocomplete in the destination-layer dropdown.
– Refreshes the destination-layer list from the current drawing.
– Lets users type a destination layer name and validates that it exists before Apply.
– Lets users pick a destination layer from a top-level entity.
– Lets users pick a destination layer from an entity nested inside a block.
– Removes an individual selected row and clears its viewport highlight.
– Clears all rows and removes all nested-subentity highlights.
– Shows checked, modifiable, and total-picked counts.
– Confirms the number of checked entities and destination layer before changing geometry.
– Changes only checked, modifiable entities.
– Changes the real entity Layer property inside a normal AutoCAD transaction.
– Regenerates the drawing after Apply so the new layer properties are visible.
– Updates row status to READY, APPLIED to the current layer, NOT FOUND, or INSIDE XREF.
– Keeps the modeless form open after Apply.
– Applies the same confirmed change and closes the form after OK.
– Warns when no destination layer is selected.
– Warns when no modifiable rows are checked.
– Allows OK to close without changes only after explicit confirmation.
– Stores the original layer of every successfully changed entity.
– Restores the latest Apply operation through Undo Apply while the dialog remains open.
– Enables Undo Apply only when a restorable Apply record exists.
– Maintains a timestamped live command log.
– Copies the command log to the Windows clipboard.
– Saves a diagnostic log with version information and picked nested-entity details.
– Uses build-numbered assembly and command generation for side-by-side test builds.
– Targets .NET Framework 4.8 and x64 AutoCAD or Civil 3D 2024 environments.
Entities2Layers
– Opens the Annotation Objects to Layer DCL dialog with ENTITIES2LAYERS or E2L.
– Provides separate Dimensions, MLeaders, and Text / MText object tabs.
– Processes DIMENSION entities from the Dimensions tab.
– Processes MULTILEADER entities from the MLeaders tab.
– Processes TEXT and MTEXT entities from the Text / MText tab.
– Filters the target-layer popup list using user-entered text.
– Lets the user select a target layer from the list, pick a layer from an object, or use the current layer.
– Excludes xref-dependent layers from the available target-layer list.
– Copies the selected target-layer name to the Windows clipboard through PowerShell.
– Supports Entire drawing, Current layout, Model space only, and Paper space layouts scopes.
– Displays matching source layers with per-layer object counts.
– Provides a ten-row paged source-layer checklist with Previous, Next, Check All, and Uncheck All controls.
– Marks locked source layers and the selected target layer in the source-layer list.
– Lets users exclude individual source layers from processing.
– Optionally skips objects on locked source layers.
– Shows live found, will-move, skipped, locked, and disabled-source counts.
– Uses an O(n log n) sort-and-group counting pass instead of repeated association-list updates.
– Derives live totals from the current source-layer case list and avoids a second full entity scan during each dialog interaction.
– Performs the final full entity collection only after the user accepts the dialog.
– Protects each source-layer row update and stored checkbox state with named guarded handlers.
– Validates source-row limits, source-case data, and persisted dialog coordinates before using them.
– Persists the selected category, layer filter, target layer, scope, locked-layer option, source-layer states, and dialog position.
– Uses guarded callbacks and per-entity error handling so unreadable entities are skipped instead of crashing the dialog.
– Stops safely without drawing changes when dialog initialization cannot be completed.
– Changes the entity layer through DXF group code 8 and refreshes each modified entity.
– Wraps the move operation in an AutoCAD undo mark.
– Reports found, moved, skipped, locked, and failed counts at the command line.
ExplodeLinetype
– Runs the complete standardized workflow with the ExplodeLinetype command.
– Provides LINEXP as the underlying text-explosion command.
– Converts selected AutoCAD TEXT objects into editable line geometry.
– Converts selected AutoCAD MTEXT objects into editable line geometry.
– Excludes leader-associated text identified through ACAD_REACTORS data.
– Filters selected objects located on locked layers through the Express Tools selection-set helper.
– Detects AutoCAD groups containing selected text and removes the text members before conversion.
– Calculates text bounding boxes and expands the current view when selected objects are not fully visible.
– Temporarily unlocks a locked current layer and restores its locked state after processing.
– Temporarily unlocks a locked viewport when zoom adjustment is required and restores the viewport lock afterward.
– Mirrors selected text before WMF export and mirrors imported geometry back into its original orientation.
– Exports selected text to a temporary txtexp.wmf file.
– Erases the original selected text only after the temporary WMF file is successfully created.
– Imports the WMF representation as exploded drawing geometry.
– Restores the previous view after temporary zooming.
– Reports how many selected objects were exploded to lines.
– Assigns the resulting previous selection set to the MISC layer.
– Sets the resulting geometry color to ByLayer.
– Sets the resulting geometry linetype to Continuous.
– Sets the resulting geometry lineweight to ByLayer.
– Requires the active view to be a plan view with view direction 0,0,1.
– Loads and depends on AutoCAD Express Tools when available.AutoTrimExtendLines
✅ Key functionalities:
🚀 DCL-based trim and extend control panel for AutoCAD and Civil 3D.
📐 Three operation modes: Trim only, Extend only, and Trim and Extend.
🧱 Separate selection workflow for bounding edges and objects to modify.
🔍 Supported bounding edges include LINE, LWPOLYLINE, POLYLINE, ARC, CIRCLE, SPLINE, and ELLIPSE.
✏️ Supported editable objects include LINE, LWPOLYLINE, POLYLINE, ARC, and SPLINE.
🟡 Live selection highlighting with redraw mode 3 and highlight cleanup with redraw mode 4.
🔄 Apply button processes edits and reopens the dialog with selections preserved.
↩️ Undo Last button reverses the last operation using AutoCAD UNDO 1.
🧾 Debug log list inside the dialog shows processed objects, intersections, distances, modified counts, and skipped objects.
📋 Copy Log to Clipboard exports the debug log for troubleshooting and documentation.
💾 Dialog position memory stores the last DCL window location during the AutoCAD session.
🧹 Temporary DCL file is created, loaded, unloaded, and deleted safely on every dialog loop.
🔒 Error handling clears highlights, unloads the dialog, deletes temp files, and ends undo marks safely.
SaveCUIX
Finds CIVIL.cuix automatically using AutoCAD search paths.
Creates a temporary DCL dialog with save folder, file name, and content toggles.
Builds default output names using [username]C3D_ plus a timestamp.
Lets the user include or exclude Quick Access Toolbar, ribbon tabs, ribbon panels, toolbars, and double-click actions.
Extracts the CUIX package to a temporary working folder.
Filters RibbonRoot.cui to keep only the target [username] ribbon tabs and panels.
Filters QuickAccessToolbarRoot.cui to keep only [username]_C3DRibbon when enabled.
Clears ToolbarRoot.cui when toolbar export is disabled.
Clears DoubleClickRoot.cui when double-click action export is disabled.
Repacks the filtered files into a new .cuix file.
Uses a done file to report OK, ERROR, or timeout status back to AutoCAD.
ToolPaletteExporter
– Opens a DCL-based Tool Palette Exporter interface.
– Lists discovered XTP palettes with wildcard filtering and horizontal scrolling.
– Supports multi-selection, select all, select none, and copy palette list actions.
– Exports selected palettes to ZIP archives named PaletteName_export.zip.
– Includes the original XTP file in the archive.
– Includes the matching PaletteName_2 image folder when it exists.
– Groups found referenced source files by file extension under Source_Files.
– Writes Files_not_found.csv for missing source-file references.
– Displays a missing-file report dialog when unresolved paths are found.
– Copies missing-file and diagnostic reports to the Windows clipboard.
– Adds custom XTP folders and saves them in the registry.
– Remembers the last output folder, filter, and selected palettes.
– Provides TPE_DIAG for troubleshooting AutoCAD ToolPalettePath, OneDrive detection, and XTP discovery.
RibbonManagerPlugin
Open a dockable/snappable AutoCAD PaletteSet from the RIBBONMGR command.
Auto-detect common Civil 3D support folders and load available CUIX files, including civil.cuix.
Browse manually for any CUIX file and load its ribbon structure.
List [username]_ribbon_* panels, groups, sub-groups, command buttons, toggle buttons, macros, images, help files, and help keys.
Search and filter ribbon commands through the palette.
Add new ribbon buttons with command name, macro, button style, display name, description, tags, keytip, tooltip title, icon path, and XAML help reference.
Edit existing ribbon buttons while preserving lookup through OriginalCmd.
Duplicate selected ribbon buttons and create copy commands.
Delete ribbon buttons from the CUIX XML.
Move and reorder buttons inside the ribbon layout.
Save edited properties back to CUIX and reload AutoCAD menus.
Preview selected PNG icon paths and XAML help content.
Audit valid, missing, and empty image paths.
Repath missing images by matching Icon_Command.png or Command.png from a selected folder.
Batch-set Acad, C3D, or shared Icons-folder image paths.
Copy Icon_*.png files into the Civil 3D Icons folder when using the Icons workflow.
Display Quick Access Toolbar commands, standard items, and controls.
Display workspace information and workspace XML.
Display double-click actions from the CUIX.
Expose help file and custom path tabs for production setup checks.LoadIcons
- 📁 Recursively scans the configured AutoCAD Help_File folder tree.
- 🖼️ Copies only files matching
Icon_*.png. - 🚫 Skips folders named
ssso screenshot folders are not processed. - 🔄 Overwrites existing destination icon files with the latest matching source files.
- 📌 Copies all icons into the Civil 3D 2024 support Icons folder.
- 🧩 Searches for
CIVIL.cuixand reloads it to refresh ribbon icon references. - 📊 Displays the total number of copied icon files in the command line and completion alert.
- ⚙️ Provides
LoadAllIconsas a simple alias for the same icon loading workflow.

EditRibbonButton
- 🧰 CUIX ribbon command editor for custom AutoCAD and Civil 3D ribbon panels.
- 🔍 Automatic CUIX discovery by scanning support-directory CUIX files for
[username]_ribbon_*ribbon panel definitions. - 📂 Ribbon panel, group, and subgroup navigation for editing commands inside folded panels, split buttons, and top-level groups.
- 🧠 Command and macro mode for browsing ribbon buttons by command name or underlying menu macro string.
- 🏷️ Wildcard filtering with
*and?to quickly locate commands or macros. - 🎨 Image assignment for small and large ribbon images using PNG or JPG file references.
- 📘 XAML help linking with
ExtendedHelpFileandExtendedHelpKeysupport, including a key picker for tooltip ResourceDictionary entries. - 📝 Metadata editing for macro, button style, group name, description, command display name, tags, key tip, and tooltip title.
- 📌 Button ordering tools to move commands to top, up, down, or bottom within the active row.
- 🔄 Move and copy tools for transferring ribbon buttons to another group or subgroup.
- 🧹 Delete button workflow for removing selected ribbon commands from the CUIX structure.
- 📤 Queue, Apply, and Save All workflow for batching edits before writing changes to the CUIX file.
- 🔐 Timestamped CUIX backup before every direct CUIX modification.
- 🧩 Debug command to inspect CUIX resolution, cached structure, support-directory files, and reload readiness.

CreateFolderStructure
– Scans CIVIL.cuix from the AutoCAD search path.
– Extracts ribbon panels whose names match [username]_ribbon_*.
– Reads Row 1 groups, split buttons, folded panels, command buttons, and toggle buttons from RibbonRoot.cui.
– Displays a DCL dialog titled Create Button Structure.
– Lets the user select the target ribbon panel and Row 1 group.
– Provides a folder-name input for the new command/help item.
– Shows a live computed target path before creating files.
– Maps [username]_ribbon_Acad directly to the main Help_File folder.
– Maps [username]_ribbon_XXX to Help_File\XXX.
– Creates the final folder as {RibbonBase}\{Group}_menu\{Name}.
– Creates a blank Icon_{Name}.png file.
– Creates a blank {Name}.lsp file.
– Copies the configured XAML model template to {Name}.xaml.
– Replaces x:Key=”Test” with x:Key=”T{Name}” in the generated XAML file.
– Creates ss\ss_00, ss\ss_01, ss\ss_02, and ss\ss_03 folders.
– Creates vlx_fas\vlx_fas_00, vlx_fas\vlx_fas_01, vlx_fas\vlx_fas_02, and vlx_fas\vlx_fas_03 folders.
– Persists last-used ribbon, group, and folder name between runs.
– Uses unique temporary DCL, PowerShell, and done-file names based on the AutoCAD DATE value.
– Includes a CBS_Diag command for troubleshooting path setup, template availability, CUIX detection, and cached data.
CommandSearchExtra
• Modeless AutoCAD command search palette opened with CMDSEARCHExtra.
• Ribbon CUIX command browsing with command, macro, group, PNG, XAML key, file size, created date, and modified date columns.
• Advanced filtering by command, macro, LSP command, group, source key, empty values, duplicate values, wildcard patterns, and preset filters.
• Direct command execution, load-and-run support, reload visible commands, and command row context actions.
• Ribbon button management for add, edit, delete, duplicate, move, save properties, browse image, browse XAML, and preview help content workflows.
• CUIX engine for reading Ribbon panels, groups, subgroups, buttons, menu macros, QAT data, workspaces, double click actions, and ZIP entries.
• Image path audit tools for finding missing Ribbon icons, checking existing paths, rebatching missing images, and setting common icon folders.
• Embedded Lisp Loader tab and standalone LISPLOADEXTRA window.
• AutoCAD and Civil 3D support folder scanning for LSP, VLX, FAS, and DLL files.
• Load checked, load selected, reload, report, export checked paths, live log, open folder, open file, copy path, and open-at-command-line workflows.
• FileSystemWatcher based automatic rescan when supported files are created, deleted, renamed, or modified.
• AutoLISP analysis that ignores comments and string literals while extracting command defuns, helper defuns, line numbers, and dependencies.
• Validation tab for duplicate command names, duplicate XAML keys, duplicate macro strings, missing macros, missing files, macro-to-defun mismatch, hard-coded path warnings, dependency checks, large-file warnings, and duplicate LSP commands.
• CSV and HTML export for validation results.
• HTML command catalog generation for Ribbon command documentation.
• Timestamped CUIX backup before saving changes.
• Layout persistence for filters, column widths, and repeated CAD management sessions.
• Diagnostic command LISPLOADDIAG for scanning loaded assemblies for LISP-related invocation methods.
• Core parser and filter self-test command CMDSEARCHExtraTESTS.
CommandSearch Lisp Loader Only
– Search ribbon commands from selected CUIX files.
– Filter by panel, group, command name, macro text, LSP command, XAML key, and missing or duplicate metadata.
– Add, edit, delete, duplicate, move, run, load and run, and reload ribbon command rows.
– Read CUIX data directly from ZIP-based CUIX XML files without Autodesk.AutoCAD.Customization.
– Work with [username]_ribbon_ panel naming conventions.
– Audit PNG image paths, XAML help files, XAML SourceKey values, duplicate command names, duplicate macro strings, and missing LSP command links.
– Scan structured Help_File folders for LSP, VLX, FAS, and DLL loader files.
– Extract AutoLISP C: defun command names and display them in loader columns.
– Load checked files, load selected rows, reload checked files, and reload all visible loader files.
– Use a batch loading path that enters AutoCAD application context once per reload session.
– Watch disk changes and rescan when support files are modified.
– Persist checked rows, filters, column widths, and layout state between sessions.
– Open file folders, open source files in an editor, copy paths, copy row data, and jump to LSP command lines.
– Record scan, load, warning, error, and diagnostic messages in a live log panel.
– Export loader paths, CSV or HTML validation reports, and command documentation.
– Run CMDSEARCHTESTS to verify core parser and filter logic.
– Run LISPLOADDIAG to inspect available LISP invocation methods in loaded assemblies.
AutoBackupCUIX
Key functionalities:
– Automatic daily backup at 17:00 using ABC:HOUR and ABC:MINUTE settings.
– Manual Backup Now command for immediate CUIX protection.
– Start and Stop commands for enabling or disabling the command reactor.
– Status command showing enabled state, reactor state, configured schedule, save path, and last backup date.
– DCL control dialog generated in the Temp folder for non-command-line operation.
– CIVIL.cuix discovery using findfile, so the active AutoCAD support path is used.
– Timestamped output file names for versioned backup history.
– Hidden PowerShell execution using a VBS launcher to avoid a visible console window.
– CUIX archive extraction and rebuild using System.IO.Compression.FileSystem.
– RibbonRoot.cui filtering that keeps [username]_ribbon_Acad, [username]_ribbon_C3D, [username]_C3D, and [username]_Acad ribbon definitions.
– Done-file reporting for OK, error message, or timeout feedback.
– Auto-start integration through s::startup so the backup reactor can enable when AutoCAD starts.
AddRibbonButton
Reads loaded CIVIL.cuix ribbon data. Lists @Dan_ribbon_* ribbon panels, All groups, folded panels, sub-groups, and existing commands. Adds new RibbonCommandButton nodes below or above a selected reference command. Supports queueing several buttons before applying. Creates MenuMacro entries with macro text, command display name, description, tooltip metadata, image paths, and extended XAML help content. Auto-completes image paths and XAML help keys. Provides button styles including LargeWithText, LargeWithVerticalText, Large, SmallWithText, and SmallWithoutText. Can delete selected ribbon command buttons. Writes logs and diagnostic files to TEMP\ARB_Patch. Reloads CIVIL.cuix after successful patching.

AECVersionPlugin
- 🚀 AutoCAD .NET plugin build setup – prepares a managed DLL project for loading into AutoCAD and Civil 3D.
- 🔧 Command-ready reference structure – includes
accoremgd,acdbmgd, andacmgdreferences needed by typical AutoCAD commands. - 📐 64-bit platform targeting – configures
x64so the DLL matches the AutoCAD runtime architecture. - 🧩 Visual Studio friendly configuration – uses C# language version 9.0 and a clean SDK-style project file.
- 🪟 Windows Forms support – allows dialog-based version scanners, diagnostic panels, and result windows.
- 📦 Copy Local disabled – keeps Autodesk DLL references external so AutoCAD loads its own runtime assemblies.
- 📌 Documented loading workflow – notes the expected
NETLOADandAECVERSIONusage path directly in the project comments.

ToolbarManager_vs.01
- 🚀 Open toolbar manager – run
TOOLBARMANAGER_023to 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.
- 🚀 Open toolbar manager – run

ImportBlock
- 🚀 Import blocks from external drawings – select a source
DWG,DWT, orDWSand copy a chosen block definition into the active AutoCAD or Civil 3D drawing. - 🧩 DCL block picker – display available importable block definitions in a practical dialog instead of requiring manual block table browsing.
- 🔍 Filter unsafe or unavailable definitions – skip layout blocks, xrefs, anonymous blocks, externally referenced names, and definitions already present in the current drawing.
- 📌 Optional immediate insertion – import only the block definition or insert a block reference immediately after import.
- 📐 Scale control – use uniform XYZ scale or separate
Scale X,Scale Y, andScale Zvalues for inserted block references. - 🧭 UCS rotation alignment – align inserted blocks to the current UCS when the Align rotation to current UCS option is enabled.
- 📝 Confirm before import – use an optional confirmation prompt before copying the selected block definition into the active drawing.
- 💾 Saved settings – remember source path, last block, scale options, toggles, and dialog position in
ImportBlock.cfg. - 🔄 ObjectDBX workflow – read external drawing block definitions efficiently without forcing the user to open the source drawing in the editor.
- 🟢 Non-destructive source handling – the selected source drawing is read for block definitions while the source file itself is not modified.
- 🚀 Import blocks from external drawings – select a source

InsertBlockFilterScale
- 🚀 Open a block insertion browser – launches a practical DCL interface for browsing block definitions in the active AutoCAD or Civil 3D drawing.
- 🔍 Filter block names quickly – supports text filters and wildcard search patterns to find the required block without scrolling through long block tables.
- 🧩 Preview block geometry – shows a simplified CAD-style preview of the selected block definition inside the dialog.
- 🔢 Multi-select block insertion – allows several block names to be selected and inserted in one command session.
- 📐 Scale and rotate inserted blocks – applies the user-entered XY scale and rotation angle during insertion.
- 📍 Pick insertion points interactively – prompts for a drawing point for each selected block and places each block exactly from the user workflow.
- 🧭 Respect current UCS orientation – converts the picked UCS point to WCS and adds UCS rotation to the inserted block rotation.
- 📋 Copy selected block names – copies selected block names to the Windows clipboard as a semicolon-separated list.
- 🔐 Remember user preferences – stores filter text, scale, rotation, selected block names, and dialog position for later sessions.
- 🧰 Print debug diagnostics – uses
IBB-DEBUGto display internal log messages for troubleshooting.

ExplodeBlocks
- 🚀 Explode hard-to-edit blocks – converts selected block references into editable AutoCAD geometry.
- 🔒 Bypass blocked explode settings – temporarily enables the block definition
Explodableproperty and restores it after the explode attempt. - 📐 Handle non-uniform block scale – uses a manual transformation fallback when AutoCAD native explode cannot handle the selected block reference.
- 🧩 Process multiple blocks – supports batch selection and processes every selected
INSERTreference in one run. - 🔄 Use native explode first – relies on AutoCAD
._EXPLODEwhen possible for normal block reference behavior. - 🧠 Fallback to copied block definition geometry – copies definition entities and transforms them into drawing coordinates if native explode fails.
- 🧹 Delete original block references – removes the original block after the manual explode replacement is created.
- 🔍 Report success and failure counts – gives the user clear command-line feedback after the batch operation.
- 📌 Support nested block workflows – can expose nested block references one level at a time depending on the contents of the block definition.

DeleteObjectFromBlock
- 🚀 Extract nested block objects – copies a picked object from inside a block into model space and removes it from the block definition.
- 🔴 Delete nested block objects – removes unwanted internal block geometry without creating a copy in model space.
- 🧠 Shared command workflow –
ExtractFromBlockandDeleteObjectFromBlockuse the same dialog and pick loop for consistent behavior. - 📌 Retain objects toggle – lets the user choose between copy and remove or delete only before picking nested geometry.
- 🔍 Interactive pick loop – repeatedly asks the user to pick nested objects and ends cleanly when the user presses Enter.
- 📐 Accurate object placement – applies the nested transformation matrix so extracted geometry is placed correctly in model space.
- 🏷️ Layer preservation and cleanup – keeps extracted objects on a clean local layer and can copy color, linetype, and lineweight settings.
- 🔒 Xref and layout protection – avoids editing xref blocks and layout definitions, reducing the risk of invalid database edits.
- 🧹 Block definition cleanup – removes unnecessary internal objects from reusable blocks, helping reduce DWG clutter.
- 🧰 Temporary DCL interface – generates and deletes the DCL file automatically from the Windows TEMP folder.
- 🔄 Undo-aware editing – wraps the pick session in an AutoCAD undo mark for easier rollback.

DeleteBlockCrossings
- 🚀 Launch crossing cleanup workflow – run
DELETEBLOCKCROSSINGS,DBC, orABBSto open a modeless AutoCAD Civil 3D cleanup tool. - 📌 Select block references – use pickfirst selection or a prompted
INSERTfilter to choose the block references that define the cleanup zones. - 🔢 Group selected blocks by name – display selected block names, counts, handles, and process toggles so repeated block references can be enabled or disabled together.
- 🔍 Scan crossing and touching geometry – find curves, block references, extents overlaps, projected crossings, tangent contacts, and warning-only interference candidates.
- 📐 Trim safe crossing curves – automatically trim checked
CROSSINGrows by removing the curve portion inside the selected block frame. - 🟧 Show warning-only diagnostics – keep
TOUCHING,CROSSING - CHECK,PROJECTED,EXTENTS TOUCH, andINTERFERING BLOCKrows visible for manual QA review. - 🎨 Preview candidate geometry – display sampled entity geometry and block frame context in the preview panel for faster visual confirmation.
- 🔍 Viewport highlight – highlight the active candidate in the AutoCAD drawing without leaving the modeless management workflow.
- 🔄 Rescan after changing block filters – update selected block processing state and rebuild the crossing candidate table.
- ✅ Check all and none controls – quickly enable or disable block groups and trim-capable crossing rows before applying changes.
- ↩️ Undo last apply – restore original entities and erase generated curve pieces from the last trim operation.
- 📝 Copy and save logs – copy the live log or save a diagnostic report with version, selected block handles, candidate handles, statuses, and intersection points.
- 🔒 Persist user choices – remember form size, form position, and enabled block-name settings in
DeleteBlockCrossings.cfg. - 🧰 Developer-friendly build output – use timestamped local build folders to reduce DLL lock problems while testing with AutoCAD
NETLOAD.
- 🚀 Launch crossing cleanup workflow – run

CreateMultipleRectangleBlocks
- 🚀 Create page block definitions – converts repeated drawing page zones into AutoCAD block references for cleaner DWG organization.
- 📐 Draw inner and outer rectangles – creates visual page frames and selection zones on dedicated layers
RECT_INNERandRECT_OUTER. - 🔢 Batch page range processing – generates multiple pages from a start and end number, making it suitable for large drawing sets and repeated sheet layouts.
- 🏷️ Automatic block naming – creates predictable block names using
Page_NNN_suffixso exported or managed page blocks are easy to identify. - 📌 Pick insertion point – allows the user to select the top-left origin of page 1 directly from the drawing.
- 🔍 Preview rectangle layout – zooms to the calculated rectangle area so the user can verify the layout before final block creation.
- ↩️ Undo last rectangle batch – uses AutoCAD undo marks to remove the last drawn preview rectangles quickly.
- 🧹 Optional OVERKILL cleanup – can remove duplicate or overlapping geometry before wrapping page entities into blocks.
- 🧩 Wrap entities into blocks – copies matching drawing entities into each block definition and replaces the source content with a block insert.
- 📊 Command-line progress report – prints collection counts, skipped blocks, empty blocks, and created block results for review and quality control.
- 🎯 Civil 3D production support – helps organize AutoCAD and Civil 3D drawing content into reusable page-based block references for drafting, cleanup, and deliverable preparation.

CopyBlock_vs.01
- 🚀 Copy and rename a block reference – creates an independent block definition from the selected block reference and assigns the copied reference to the new definition.
- 🏷️ Automatic block name proposal – generates a safe default block name based on the original effective name and an available numeric suffix.
- 🧩 Two workflow modes – supports simple
Copy Rename Blockand extendedCopy Rename Block + Layerprocessing. - 🎨 Layer assignment mode – lets the user choose a layer from the drawing and place the copied block reference on that layer.
- 🔍 Layer filter list – provides a searchable layer list in the DCL dialog so users can quickly find the required CAD layer.
- 📌 Pick layer from drawing – allows layer selection by clicking an existing object, making layer matching faster and less error-prone.
- 🧹 ByLayer block content cleanup – optionally updates entities inside the newly created block definition to the target layer and resets color, linetype, and lineweight to ByLayer behavior.
- 🔴 Delete initial block option – removes the originally selected block reference after the copy is created when the default toggle is left enabled.
- 🔒 Block and layer validation – rejects non-block entities, avoids locked-layer block edits, validates new block names, and prevents duplicate block table names.
- 📐 Preserves copied reference geometry – uses
vla-Copyso the copied block reference keeps the placement, rotation, scale, and other reference-level data from the original. - 🧰 ObjectDBX block definition workflow – uses a temporary ObjectDBX database to rename a copied block definition before importing it back into the active DWG.
- 🟢 DCL-based interface – gives the user a compact dialog instead of requiring manual command-line block table editing.

AttachImagesToBlocks
- 🚀 Attach PDFs and images to blocks – places matched files in model space at the corresponding block insertion point with user-defined scale and offsets.
- 📤 Copy and rename PDFs by block name – creates organized PDF copies on disk using matched block names or custom naming patterns.
- 🧩 Add underlays into block definitions – embeds the attached PDF or image into the matched block definition instead of leaving it only in model space.
- 🔍 Scan folders for supported file types – reads PDF, JPG, JPEG, PNG, TIF, TIFF, and BMP files from a selected folder.
- 🏷️ Match files to blocks by page number – pairs file names and block names using editable rules such as
*_#,##_*, andPage_. - 🧠 Suggest matching rules automatically – analyzes real file names and block names, then proposes rule combinations with the highest match count.
- 📌 Filter and manually add files – narrows scanned files with a wildcard filter and allows additional files to be added manually through the dialog.
- 🔢 Control selection rows – supports select all, select none, toggle row, remove row, move row up, move row down, and horizontal scrolling for long names.
- 📐 Apply offset and scale settings – uses configured
dX,dY, and scale values when attaching files at block insertion points. - 🧹 Use a target layer – creates or activates a layer before attachment for cleaner CAD underlay organization.
- 📝 Preview rename results – shows how the output name pattern will look before copying files.
- 📘 Display built-in rule help – explains file suffix rules, block prefix rules, and live examples from the current DWG and folder scan.
- 🔒 Group operations into undo marks – attach and embed actions are wrapped in AutoCAD undo workflows so the user can reverse the batch operation.
- 🔐 Save reusable settings – stores the last used configuration in the drawing folder for repeated production use.
Convert3DFaceToPolyline
- 🚀 Convert 3D faces to polylines – transforms selected face entities into practical editable AutoCAD polyline outlines.
- 🔍 Select multiple 3D faces – processes a selection set so several objects can be converted in one command run.
- 📐 Extract face vertices – reads the four corner points from each selected 3D face using AutoLISP entity data.
- 🧩 Create closed polyline boundaries – builds closed shapes that visually represent the original 3D face perimeter.
- 🧠 Skip invalid geometry – reports 3D faces that do not contain the expected vertex information instead of stopping the whole workflow.
- 🧹 Support DWG cleanup – helps convert face-based legacy geometry into easier-to-edit CAD linework.
- 📌 Improve Civil 3D preparation – provides cleaner polyline geometry for review, drafting, surface-related preparation, and production drawing coordination.
- 📘 Provide ribbon help content – the XAML tooltip explains the command syntax, command behavior, important functions, and usage steps for users.
3DF_to_3DPoly
- 🚀 Convert 3DFACE to 3D Polyline – quickly transforms face geometry into editable closed 3D polyline objects.
- 📐 Preserve vertex elevations – keeps the original Z values from the selected 3DFACE vertices.
- 🔍 Select multiple faces – processes an AutoCAD selection set so several 3DFACE entities can be converted in one command run.
- 🧩 Create closed boundaries – uses the four face vertices and closes the generated 3D polyline automatically.
- 🧠 Use direct DXF data – reads entity vertex data from
entgetinstead of relying on manual point picking. - 🔒 Restore drafting settings – returns
CMDECHOandOSMODEafter processing or after an error. - 🧹 Improve drawing cleanup – helps replace legacy 3DFACE objects with more practical 3D polyline geometry for CAD editing.
- 📘 Support Civil 3D production workflows – useful before terrain cleanup, feature interpretation, surface boundary preparation, 3D drafting, and DWG conversion tasks.
BookmarkEntities
- 🚀 Open a bookmark manager dialog – run
BMEntityPosto manage saved entity positions from a DCL interface. - 📌 Pick objects from the drawing – select text, lines, polylines, circles, splines, and blocks with
ssget. - 📐 Store entity extents – save lower-left and upper-right coordinate windows for future zoom operations.
- 🔍 Zoom to bookmarked positions – return instantly to saved DWG locations using padded
vla-ZoomWindownavigation. - 🔐 Refresh zoom by entity handle – use
handentto re-check the original object before zooming when possible. - 📝 Add and update remarks – attach practical review notes, coordination comments, or QA remarks to each bookmarked object.
- 📊 Use synchronized list boxes – inspect element labels, coordinates, color data, and remarks in aligned DCL lists.
- 🏷️ Filter bookmarks by group – show All, Text, Lines, Polylines, Circles, Splines, Blocks, or Other object categories.
- 🧩 Duplicate bookmark rows – clone a selected bookmark entry immediately after the original item.
- 🔴 Delete selected bookmarks – remove unwanted saved positions from the in-memory bookmark list.
- 🧹 Clear all bookmarks – reset the active bookmark list and refresh the DCL interface.
- 📤 Save bookmark lists – write the current list to
[DWG base name]_BMEntityPos.lstin the drawing folder. - 📘 Load default bookmark lists – reload saved bookmark data from the active drawing folder.
- 🧰 Import external bookmark lists – replace the current in-memory list with a selected
.lstfile. - 🎨 Capture color metadata – read true color
DXF 420or color indexDXF 62, including ByLayer and ByBlock cases.
- 🚀 Open a bookmark manager dialog – run

XrNet
- 🚀 Open XRNET xref manager – run a modeless control panel for AutoCAD and Civil 3D external reference management.
- 🔍 Scan active DWG references – list DWG xrefs and raster images with name, type, status, units, layer, and path.
- 🔄 Reload selected references – update selected references to use the latest source files.
- 🟧 Unload selected references – unload xrefs or hide raster images while preserving the reference structure.
- 🔴 Detach selected references – remove unwanted xrefs or raster references from the active drawing.
- 📌 Attach missing list entries – apply saved xref list records and attach missing DWG files.
- 🧩 Convert xref type – change references between Overlay and Attached where supported.
- 🧹 Set organized xref layers – move references onto clean generated xref layers for better drawing management.
- 📊 Load and save xref lists – read and write reusable TXT reference lists for repeatable CAD coordination workflows.
- 📤 Export CSV reports – export selected xref splitter rows for review, checking, and project coordination.
- 🧠 Fix and validate paths – detect missing paths, blank paths, and path problems before they become production issues.
- 📐 Preview selected references – display selected DWG geometry before applying changes.
- 🔢 Zoom, pan, fit, grid, and UCS options – improve visual inspection with CAD-style navigation controls.
- 📝 Edit xref splitter rows – add, delete, reorder, validate, edit, and apply list entries.
- 🏷️ Generate layers and abbreviations – create organized layer values and short names for consistent xref naming.
- 📘 Manage predefined folders – store project folder shortcuts for faster reference workflows.
- 🔒 Use dry-run mode – check apply actions before modifying the active drawing.
- 🧰 Save logs and diagnostics – export troubleshooting information and operation logs.

BoQExtra
- 🚀 Modeless AutoCAD interface – opens with
BoQExtraand stays available while the user works in the drawing. - 📐 Length and area measurement – calculates geometry quantities from selected AutoCAD and Civil 3D model-space objects.
- 🔢 Per-object quantity table – displays handle, layer, object type, length, area, closed status, minimum length, maximum length, and repeated vertical dimensions.
- 🧠 Formula profiles – applies saved BoQ formulas, decimal formatting, Excel-ready expressions, CEILING rounding, and automatic Profile_002 layer divisors.
- 📝 Field-based MTEXT placement – places raw, length, area, length plus area, detailed, CEILING, or profile-based results into AutoCAD as MTEXT.
- 📋 Clipboard output – copies formulas, raw values, selected table data, block counts, unique counters, and logs for quick reuse in Excel or project documentation.
- 🧩 Dynamic block counting – counts block references by effective name, visibility state, dynamic status, xref status, and individual handle.
- 🔢 Bottom unique block counter – shows each unique block name and its total number of visible instances in the current filtered block table.
- 🏷️ Dynamic visibility editing – changes selected dynamic block visibility states directly from the Blocks tab.
- 🎨 Layer management – changes the layer of selected geometry or selected block references using wildcard-filtered layer lists.
- 🧹 Delete and undo tools – deletes selected entities or block references and provides undo access in both main tabs.
- 🟧 Polyline cleanup actions – closes selected polylines, joins selected polylines, and closes two selected parallel polyline rows without centerline creation.
- 🔍 Model-space selection synchronization – selecting multiple rows in the grid can also select the corresponding objects in AutoCAD model space.
- 📌 Model-space zoom control – zooms to the current row, selected rows, or selected model-space objects for visual checking.
- 🎨 Preview with drawing context – shows selected geometry in highlight color and unselected context geometry in gray, with UCS rotation, zoom, pan, fit selected, and fit all.
- 📤 CSV and TXT export – exports Length and Area tables, Blocks tables, unique block counters, and logs for downstream reporting and QA workflows.
- 🔒 Diagnostic logging – records startup checks, build information, active drawing path, Civil 3D assembly detection, action history, warnings, and errors.
- 🚀 Modeless AutoCAD interface – opens with

SetPlotDeviceNames
✅ List layouts with plot device, page setup, paper size, viewport lock, annotation, and zoom status.
✅ Filter layouts with * and ? wildcard support.
✅ Select all, select none, selected scope, or all displayed scope.
✅ Apply plot device changes to selected layouts.
✅ Apply existing page setups to layouts.
✅ Apply compatible paper/media names from the selected plot device.
✅ Lock or unlock paper-space viewports in selected layouts.
✅ Toggle annotation visibility and run Zoom Extents or Zoom Window viewport tools.
DuplicateLayouts
✅ Select layout tabs from a DCL list box and assign individual copy counts.
✅ Build a summary list of source layouts and requested copy quantities before committing changes.
✅ Duplicate multiple paper-space layouts in one operation.
✅ Automatically avoid name collisions by generating Layout_001-style unique names.
✅ Apply changes while keeping the dialog open for repeated duplication batches.
✅ Use OK to duplicate selected layouts and close the tool.
✅ Use Undo to roll back the latest session operation.
✅ Delete a selected summary row or delete a drawing layout tab directly from the dialog.
✅ Exclude Model from duplication targets to protect the model-space tab.
LayoutTools
✅ Filter layout tabs with wildcard patterns using * and ?.
✅ Display layout rows with lock status, annotation status, and zoom status.
✅ Choose Selected layouts or All displayed layouts as the action scope.
✅ Skip layouts with no viewports to avoid unnecessary processing.
✅ Skip OFF viewports when locking or unlocking, depending on the option.
✅ Lock all usable viewports on target layouts.
✅ Unlock all usable viewports on target layouts.
✅ Toggle ANNOALLVISIBLE on or off across target layout tabs.
✅ Apply Zoom Extents to multiple paper-space layouts.
✅ Apply one picked Zoom Window to multiple layouts.
✅ Copy layout status information to the clipboard.
✅ Store layout zoom status in the DWG Named Object Dictionary.
Zoom Extend Window
Functionalities- Dialog UI with filter, multi-select list, select all, select none, and selected count display.
- Layout filtering using wildcards to quickly isolate target layout tabs.
- Clipboard export of selected layout names and their status, formatted line-by-line for paste into other tools.
- Zoom Extents across selected layouts in Paper Space with stable post-dialog execution.
- Zoom Window across selected layouts using one picked window applied consistently to all layouts.
- Paper Space enforcement by forcing MSpace false before zooming to avoid viewport context issues.
- Undo grouping using StartUndoMark and EndUndoMark for clean rollback of multi-layout operations.
- Robust fallbacks for zoom (COM first, then command-based) and for clipboard copy (multiple methods).

LayerCreation
✅ Create a new AutoCAD layer by name.
✅ Update an existing layer with new display and plotting properties.
✅ Select ACI, RGB true color, or color book color information.
✅ Choose linetype and lineweight from drawing data.
✅ Clamp transparency values to a safe range.
✅ Set the new or updated layer current when required.
✅ Apply object-default variables for new entities.
✅ Fall back to NEWLAYERCLI when the DCL core is unavailable.
TotalLengthAreaDetailed
🚀 DCL dialog workflow for choosing Length or Area.
📏 Detailed total length calculation for lines, polylines, arcs, circles, ellipses, splines, mlines, regions, and mpolygons.
📐 Detailed total area calculation for closed polylines, circles, ellipses, regions, hatches, and mpolygons.
📋 Clipboard export as additive expression, Excel formula, or CEILING formula.
🧮 Optional Profile_002 profile conversion for profile-width based quantity extraction.
📝 Optional MTEXT placement in AutoCAD using UCS to WCS transformation.
🔗 Dynamic AutoCAD field support for object properties such as Length, ArcLength, Circumference, Perimeter, and Area where available.
🏷️ Version 02 selected-layer behavior for MTEXT placement and layer-labeled results.
💾 Persistent user settings through CTC_* environment variables.
🎯 Decimal precision and ceiling step controls.
🔐 Type-based object filtering with safe fallbacks for unsupported field properties.
CopySelection_vs.01
• Segment duplication: Quickly duplicates only a chosen portion of an LWPOLYLINE between two points, instead of copying and trimming manually. • Layer targeting: Lets you send the new polyline and its copies directly onto a specific layer chosen from a filtered list or from a picked object, keeping layer structure organized. • Optional advanced transforms: When Extra is on, you can extend ends, rotate the new polyline around the start or end point, shift it perpendicular to its own direction, and generate several parallel copies at fixed offset distances. • Preset offset library: Built in presets (DN110, KK I to KK IV) automatically set offset distances that match typical pipe or trench sizes, saving you from repeatedly typing standard values. • Interactive Apply and Undo: You can iteratively test different settings: Apply to create geometry, Undo to remove the last created batch, adjust dialog values, and repeat, all on the same source polyline selection. • Robust cancellation: If you close the dialog or choose Cancel after one or more Apply actions, the routine automatically undoes all those actions so the drawing returns to its original state. • Single step final undo: When you finish with OK, all geometry created in this session remains, but the entire operation is enclosed in an UNDO group so one undo command removes everything if needed.3DPolyVertex2Table
✅ 3DPolyline vertex extraction – reads all X Y Z coordinates from the selected 3D polyline.
✅ Coordinate table creation – creates an AutoCAD TABLE object.
✅ Point numbering – labels vertices sequentially by default.
✅ Letter markup option – the source adjustment section can switch labels from numbers to letters.
✅ Four decimal precision – uses coordinate precision value 4 in the current adjustment settings.
✅ Interactive table placement – lets the user place the generated table in the drawing.
✅ Drawing vertex markers – creates text labels and small red circles at each source vertex.
✅ Undo grouping – wraps the drawing changes in an AutoCAD undo mark.
ToolbarManager
• Centralized toolbar overview: Lists all toolbars across all menu groups in one dialog, showing their group and name so you can understand your full toolbar set at a glance. • Text filtering: Allows you to type a partial name or wildcard into the filter box to narrow the list to toolbars whose labels match that pattern, making it easy to find related toolbars. • Group based view: Lets you restrict the view to a single menu group or to All, so you can manage toolbars for a specific add on or workspace separately. • Visible only mode: When enabled, shows only toolbars that are currently visible in the UI, useful for cleaning up or saving an existing configuration. • Multi selection control: Supports multiple selection in the list box so you can toggle on a whole set of toolbars at once while hiding the rest in the current view. • Select all helper: The Select all button selects every toolbar in the current view in one click, ready to be applied as a visible set. • Incremental apply: The Apply button updates toolbar visibility without closing the dialog so you can interactively refine your setup, adjusting the filter, group, or selections as you go. • Persistent view settings: Remembers the last used filter text, visible only condition, and selected group in global variables, making subsequent uses of ToolbarManager feel continuous within the session.
CreatesXrefsLayersAssign_vs.00
Functionalities: • Automatic xref detection: every external reference in the drawing is listed in the dialog. • Per xref enable checkbox: only checked xrefs will be processed by create or assign actions. • Per xref layer popup: each xref can be assigned to any existing layer through a dropdown. • Create layers button: makes layers named _xref_xrefName for all checked xrefs, ensures they exist, refreshes the popups, and selects the new layer for those rows. • Assign layers button: moves all inserts of the checked xrefs to the currently selected layer, in both model space and paper space. • Select all and Select none: quick buttons to toggle all checkboxes in one click. • Dynamic layer list: if new layers are created the dialog reloads the layer list so the new layers can be picked immediately. • OK button: performs the assign action then closes the dialog. • Close button: exits without changes.
ZoomXref
• Scans the active drawing block table for Xref block definitions.
• Displays Xref names in a generated DCL dialog.
• Shows readable unit names such as Meters, Millimeters, Feet, Inches, and Unitless.
• Summarizes the layer used by model-space Xref inserts, including Multiple when inserts use more than one layer.
• Supports live wildcard filtering with * and ?.
• Keeps name, units, and layer list selections synchronized.
• Uses Apply to zoom without closing the dialog.
• Uses OK to zoom and close the dialog.
• Computes the combined lower-left and upper-right bounding box of selected Xref references.
• Uses pure ActiveX ZoomWindow rather than command-line ZOOM or vl-cmdf.
• Provides a SELECTXREF alias that launches the same workflow.
• Creates the DCL interface temporarily and deletes the temporary DCL file after use.
XRefs2Layers
🔗 XREF detection — scans AutoCAD Blocks collection for definitions where IsXRef is true.
🧹 TBLOCK exclusion — skips XREF names matching *TBLOCK* to avoid processing title-block style references.
🪟 DCL option dialog — provides a simple radio-button interface for choosing the layer organization mode.
📂 Per-XREF layer mode — moves XREF inserts to uppercase layers named with the 0-XREF_ prefix.
🟦 Shared layer mode — moves all XREF inserts to one standard _XREF layer.
🧱 Layer auto-create — creates missing destination layers automatically.
🔐 Locked-layer handling — temporarily unlocks the current layer when required so the XREF can be moved.
↩️ Undo mark support — wraps processing in an undo mark for safer drawing edits.
📊 Move report — displays a summary alert showing counts by target layer.
⚙️ Session memory — remembers the last selected radio option during the active AutoCAD session.
🚫 Zero-XREF warning — alerts the user when no XREFs are found in the drawing.
XrefsDrawingOrder
🔍 Search and filter xrefs — filters the grid by xref name so large drawings remain manageable.
📊 Full xref metadata grid — displays order number, xref name, attach or overlay type, load status, layer, instance count, and source path.
↕️ Reorder front-to-back stack — moves selected xrefs Up, Down, Top, Bottom, or by drag and drop while preserving multi-selection order.
🚀 Apply draw order — applies the arranged xref order back into AutoCAD using queued DRAWORDER operations.
↩️ One-level Undo — restores the previous applied xref order when the last Apply needs to be reversed.
💾 Save and load named orders — stores reusable xref stacking presets by name in the user profile.
📥 Import and export order TXT — shares xref order lists as plain text files for project standards, backups, and reuse.
🧠 Drawing-level last-order memory — stores the last used order in the drawing Named Objects Dictionary under XREFDRAWORDER_ORDERS.
🖼️ Live preview panel — shows xref extents and available real geometry for visual checking before applying changes.
🔎 Zoom to selected xref — focuses the AutoCAD viewport and the preview panel on the selected xref.
🟦 Preview modes — supports Fast preview using extents and Full geometry preview where linework extraction is available.
🧮 Preview diagnostics — logs insertion, rotation, scale, local coordinates, transformed coordinates, entity counts, and skipped entities for selected xrefs.
🧱 Xref status control — reloads, unloads, or detaches selected xrefs from the same interface.
🔗 Attach or overlay conversion — converts xref reference type when the selected reference needs a different dependency behavior.
🏷️ Set xref layer — updates the layer of one or more xref block references.
📁 Folder favorites — stores commonly used folders for import and export workflows.
📋 Copy names and paths — copies selected xref names or file paths to the clipboard.
📝 Persistent logs — displays live log output and supports copying or exporting diagnostic messages.
🖥️ Adaptive dialog sizing — opens at a screen-aware size for laptop and larger monitor workflows.
🎨 Civil 3D styled UI — uses a dark themed interface with consistent functional button colors and generated icons.Multiple_text_mtext_2
• Multi text merge: Merges multiple individual TEXT and MTEXT items into a single MTEXT object for easier global editing. • Paragraph preservation: Keeps each original TEXT line as its own paragraph inside MTEXT so line structure is not lost. • Underline aware: Translates “%%U” underline codes into proper MTEXT underline formatting that works in modern text styles. • Style consistency: Uses the first selected text object as a template for layer, color, text style, and height, ensuring the new MTEXT matches the existing annotation style. • Alignment and rotation: Attempts to reproduce the same alignment and rotation of the first entity so the new MTEXT appears in the same visual position and orientation. • Space aware: Automatically works in model space or paper space depending on the current active space of the document. • Automatic cleanup: Removes all original text entities after creation of the MTEXT, preventing duplicates on screen.Copy_to_Clipboard_Xref
• Nested Entity Picking: Supports selecting items inside block references with full transformation accuracy. • Supported Types: TEXT, MTEXT, DIMENSION (with override or measurement), LEADER (via Annotation), and BLOCK attribute text. • Temporary Copy System: Creates duplicates on the current layer for consistent extraction. • Text Aggregation: Multiple selected entities produce a combined clipboard output, each separated by line breaks. • Clipboard Automation: Automatically exports collected text into Windows clipboard without extra interaction. • Cleanup Guarantee: All temporary entities are removed after copying, leaving the drawing unmodified.
Copy_to_Clipboard
• Two Export Modes: Choose between flat single-line text or structured line-by-line paragraphs. • MTEXT Formatting Removal: Eliminates all inline codes such as A1;, H0.7;, fArial;, L, O, etc. • Unicode Handling: Converts U+XXXX hexadecimal escape sequences into real characters (≥ ≤ ± °). • Paragraph Logic: Cleans unwanted “P” markers while preserving valid words like “PE-HD”. • Clipboard Automation: Sends the processed result directly to the Windows clipboard without prompting. • Wide Object Support: Works with TEXT, MTEXT, DIMENSION, MULTILEADER, attributes, and attribute blocks. • Error Safety: Custom *error* handler ensures clipboard object is released even during failures.RotateMtextVport
Functionalities:- Calculates current viewport rotation by measuring UCS X-axis angle in WCS
- Prompts user to select TEXT and/or MTEXT objects
- Iterates through selected objects and applies rotation based on object type
- For MTEXT: sets rotation to 0° and attachment point to top-left
- For TEXT: sets rotation to viewport angle and alignment to left
- Displays message if no objects are selected
Lower
• Supports TEXT & MTEXT: Works on both object types simultaneously. • Uppercase Mode: Converts all selected text content to uppercase. • Lowercase Mode: Converts all selected text content to lowercase. • Default Behavior: Uppercase is automatically used if no choice is provided. • Non-Destructive: Only the string content is modified; all other entity properties remain unchanged. • Environment-Safe: Resets all system variables changed during execution.Upper
• Select all TEXT + MTEXT automatically using (ssget). • Loops through each entity and converts its content to uppercase. • Uses STRCASE to ensure consistent uppercase transformation. • Displays “Done.” when complete.
PrefixSuffixRound
• Prefix add/remove — Add or strip prefixes to/from text, with either literal strings or wildcard patterns that can embed or preserve parts of the original text • Suffix add/remove — Add or strip suffixes similarly, with anchored wildcard matching at the end of the string • Wildcard templates — Patterns can use “*” and “?” such that the original text is reinserted into a new structured form (e.g., “PRE_*_SUF”, “?OLD?”) • Safe numeric rounding — Numeric-only texts are converted to rounded values with a given number of decimal digits, while non-numeric text is left unchanged • Per-entity text source — For INSERT, only the first attribute’s text is modified; for TEXT/MTEXT/ATTRIB, the DXF 1 text string is directly edited • Dialog radio logic — Uses USERR1 system variable and radio buttons to switch between Prefix, Suffix, and Digits modes, enabling/disabling relevant input fields dynamically • Persistent UI state — Stores the last active mode and input values (prefix/suffix add/remove strings and rounding digits) so they appear pre-filled next time • One-shot and quick commands — You can run the full dialog via PREF_SUFF_OKR_TXT or quickly reapply the last stored prefix, suffix, or rounding via PREF, SUFF, OKR_TXTPlusMinusNumericValue
• Dialog-driven numeric change — User sets plus/minus value and which numeric position(s) to affect before any entity is touched • Integer and real support — Detects whether the input increment contains a decimal point and handles values as REAL when needed, preserving or extending decimal places • Location modes — Supports changing a specific numeric block by index, all numeric blocks at once, or using interactive List mode to review positions before deciding • MTEXT-aware parsing — Respects MTEXT control sequences (like C, H, etc.), treating them as units so formatting is preserved around changed numbers • Attribute mode choice — For ATTDEF objects, prompts once whether to modify Tag or Text, then applies this choice to all attribute definitions in the selection • Per-entity processing — Reads each entity’s current string, runs parseString and adjustString, and writes back the new string using the proper VLA setter (TagString or TextString) • Undo-safe update — Starts an UNDO mark before making changes and ends it afterwards, so the user can revert the entire batch in a single undo operation • Persistent defaults — Saves the last used numeric increment and location string to the registry and global variables, so the dialog auto-fills them next time • Negative number support — Optional global flag GlbVarInvAllowNeg allows proper recognition and editing of signed numbersRegion2Polyline
• Automatic REGION selection No need to pick objects — all REGIONs are processed automatically • Topology reconstruction Correctly orders exploded segments into a clean closed loop • Arc bulge preservation Converts arcs into bulges for accurate curve representation in LWPOLYLINE format • Normal and elevation restoration Preserves the REGION’s original 3D plane orientation • Deletion of intermediate entities Exploded parts and original REGION are removed to keep drawing tidy • Undo support Protected by an undo mark for safe rollback of the entire conversion • Robust endpoint matching Ensures proper polyline closure even when geometry contains reversed or unordered segmentsCopySelection
• Polyline validation Ensures the selected object is a LWPOLYLINE • Point projection Snaps the picked points to the closest polyline points before using them • Distinct point enforcement Rejects overlapping points and forces user to choose a valid second point • Parameter order correction Swaps start and end parameters when reversed by selection • Layer dialog with memory Recalls last filter and layer using stored environment variables • Layer filtering Dynamically filters layer names using wildcard matching • Pick layer from drawing Lets the user click any object to inherit its layer • Segment extraction Reconstructs only the portion between the two parametric points including widths and bulges • New polyline creation Builds a fresh LWPolyline with original properties but on the new layer • Cleanup Removes temporary DCL file after dialog closes • Cancellation handling Stops with a message if no valid layer is chosenCopySelection_vs.03
✅ Multiple curve selection – supports processing several selected curves with one pair of reference points.
✅ Segment extraction – duplicates only the portion between the two projected reference points.
✅ LINE and ARC conversion – creates temporary lightweight polyline representations for supported non polyline curves.
✅ Legacy POLYLINE conversion – uses CONVERTPOLY Light on a temporary copy before segment generation.
✅ Layer filtering – filters the available non Xref drawing layers by name.
✅ Pick layer from drawing – reads the layer from a selected drawing object.
✅ Use source layer – creates each duplicated segment on its original source layer.
✅ Rotation workflow – supports user defined angular rotation in Extra mode.
✅ No rotation workflow – Extra 02 applies the transformation logic without angular rotation.
✅ Lateral movement – moves created geometry by a user defined perpendicular distance.
✅ Repeated offsets – creates multiple additional copies using the selected offset spacing.
✅ Offset presets – provides Profile_003 and cable channel related preset widths.
✅ Endpoint extension – supports independent Start and End extension distances.
✅ Parallel polyline closing – adds endpoint connectors and joins created pairs.
✅ Optional centerline – creates a centerline for paired created polylines.
✅ Apply and Undo – supports iterative generation and rollback while keeping the tool active.
✅ Model space interaction – temporarily closes the dialog so the user can pan zoom or navigate.
✅ Persistent settings – remembers layer filters transform values options and dialog position.All_inside
✅ Multiple boundary selection – accepts more than one circle or lightweight polyline.
✅ Inside object selection – uses AutoCAD Window Polygon selection to find contained objects.
✅ Circle boundary approximation – builds a 90 point polygon around each selected circle.
✅ Polyline boundary support – uses LWPOLYLINE vertices as the polygon boundary.
✅ Combined result selection – merges objects found inside all selected boundaries.
✅ Boundary inclusion – keeps the bounding circles and polylines in the final selected set.
✅ Optional group creation – offers creation of an AutoCAD group from the resulting set.LoadRecent
✅ Newest file view – highlights the most recent LSP from the configured @try development folder.
✅ Complete file browser – shows all discovered LSP files with metadata.
✅ Wildcard filtering – supports star and question mark file name patterns.
✅ Sort control – switches between newest first and alphabetical file ordering.
✅ Today marker – marks files created on the current date.
✅ Command extraction – detects DEFUN C commands from each LSP source.
✅ Multi command selection – supports selecting and copying multiple detected commands.
✅ Clipboard integration – copies commands through an HTML clipboard object with PowerShell and clip fallbacks.
✅ Notepad++ integration – opens the newest or selected LSP for editing.
✅ Load and run workflow – loads the chosen source and executes the selected command.
✅ Promote to Help_File – moves or copies a development LSP into the structured production menu tree.
✅ Automatic menu discovery – scans AutoCAD and Civil 3D *_menu folders for promotion targets.
✅ Loader registration – can insert the promoted path under the matching bookmark in @LoadAllLisp2.lsp.
✅ Loader backup – can create a timestamped backup before modifying the loader.
✅ Persistent last command – stores the last used command in LR_config.ini.loadedDLLFiles
✅ DLL existence checks – tests every configured assembly with findfile.
✅ NETLOAD automation – loads available .NET plugins into AutoCAD.
✅ Loaded path tracking – stores successful DLL paths in a global list.
✅ NETUNLOAD workflow – attempts to unload every tracked assembly.
✅ Missing file messages – reports configured DLL paths that cannot be found.
✅ USERPROFILE portability – builds paths from the current Windows user profile.CheckParens
✅ Category selection – provides @try AutoCAD and Civil 3D source categories.
✅ Menu folder selection – lists predefined AutoCAD and Civil 3D menu folders.
✅ DCL interface – creates a temporary folder selection dialog.
✅ Comment aware scan – ignores semicolon comments that begin outside quoted strings.
✅ String aware scan – does not count parentheses located inside quoted strings.
✅ Early extra parenthesis detection – reports the first source line where balance becomes negative.
✅ Final balance report – prints the final parenthesis count which should be zero for a balanced file.CheckLspFile
✅ LSP file selection – lets the user choose an AutoLISP source file through getfiled.
✅ Line by line scanning – processes the selected source one line at a time.
✅ Protected reader test – uses vl-catch-all-apply around the AutoLISP read function.
✅ First error detection – stops when the first reader error is encountered.
✅ Line number reporting – reports the source line where the reader problem was detected.
✅ Problem text output – prints the offending source line for faster troubleshooting.
✅ Reader error message – prints the trapped Visual LISP error message when available.
AnnoAllOff
✅ 🔇 Sets ANNOALLVISIBLE to 0 for selected tabs.
✅ 🎛️ Uses a DCL dialog to choose Model and Layout tabs.
✅ ✅ Selects all tabs by default for fast drawing-wide annotation visibility cleanup.
✅ 📋 Allows multi-select tab control with Ctrl/Shift selection.
✅ 🟢 Provides All and None buttons for quick selection management.
✅ 🧭 Switches CTAB to each selected tab before applying the setting.
✅ 📄 Forces Paper Space when processing layout tabs.
✅ 🔄 Restores the previous CTAB, TILEMODE, and MSPACE values after completion.
✅ 🧹 Cleans up the temporary DCL file after use.
✅ 📌 Avoids viewport-level confusion by treating ANNOALLVISIBLE as a per-tab setting.SelectLayout
✅ 📑 List all paper space layouts in a compact dialog.
✅ 🚫 Exclude Model space from the selectable tab list.
✅ 🖱️ Let the user pick a layout by name instead of scrolling tabs.
✅ 🔄 Switch the current drawing to the selected layout.
✅ 🧹 Create the interface dynamically without needing a separate DCL file.GoToLayout
✅ Open a compact DCL dialog for fast layout-tab navigation.
✅ Filter layout names with wildcard patterns using * and ?.
✅ Include Model together with paper-space layouts in the searchable list.
✅ Sort matched layouts case-insensitively.
✅ Preview matched tabs by switching CTAB while browsing.
✅ Move through filtered matches with Previous and Next buttons.
✅ Confirm a layout with OK and switch to it.
✅ Restore the original CTAB when the user cancels the dialog.
✅ Remember the last search pattern for repeated use.
AnnoAllOn
- Runtime DCL generation creates and loads a temporary dialog file for tab selection.
- Multi-select tab picker supports choosing any combination of Model and Layout tabs to update.
- All selects every listed tab by setting the list box to an auto-generated index string.
- None clears the list box selection to prevent changes from being applied.
- Per-tab application switches CTAB to each selected tab and applies ANNOALLVISIBLE value 1.
- Layout handling forces paperspace on layout tabs by setting MSPACE to false when in a layout context.
- State restoration restores prior CTAB, TILEMODE, and MSPACE after processing completes.

Copy2Layouts
✅ 📄 Copy selected objects to multiple Paper Space layouts in the current drawing.
✅ 🔍 Filter target layouts using * and ? wildcard patterns.
✅ 🧰 Pick source objects from the drawing directly from the dialog.
✅ 🔢 Show only total selected object count to keep the interface compact.
✅ ✅ Select all or none of the currently filtered layouts.
✅ 🧠 Use vla-CopyObjects for COM-based object duplication into layout blocks.
✅ 🛡️ Filter conversion errors to avoid breaking on proxy/custom objects that cannot be converted.
✅ ↩️ Wrap the copy operation in an AutoCAD UNDO group for easier rollback.
✅ 🚀 Provide _Copy2Layouts alias for AutoCAD macro integration.
LayoutNum
✅ Rename selected layout tabs in batch.
✅ Filter layout names with wildcard patterns using * and ?.
✅ Preview every planned rename as Old to New before applying changes.
✅ Generate names from prefix, starting number, zero-padding width, and suffix.
✅ Process selected layouts by tab order or alphabetical order.
✅ Select all filtered layouts or clear the selection quickly.
✅ Auto-resolve naming conflicts when enabled.
✅ Apply renames while keeping the dialog open.
✅ Use a safe manual multi-level undo stack instead of command-line UNDO from DCL callbacks.
✅ Remember previous dialog values for faster repeated numbering sessions.LockAllVp
🔍 Wildcard layout filter using * and ? for fast layout searching.
📑 Multi-select layout list with Select All and Select None.
👁️ Status display for Locked, Unlocked, Mixed, NoVP, and Model.
🔒 Lock selected layouts in one operation.
🔓 Unlock selected layouts in one operation.
↩️ Manual multi-level undo stack for viewport lock changes.
📋 Copy selected layout names and statuses to the clipboard.
🧩 Optional Include Model toggle, while Model is reported safely and not treated like a PaperSpace viewport workflow.Zoom Extend
✅ 📑 Select one or more layouts from a DCL list.
✅ 🔎 Run Zoom Extents on selected paper space layouts.
✅ ☑️ Include or exclude Model depending on the available option.
✅ 📋 Copy selected layout names to the clipboard.
✅ 🧰 Avoid manual tab-by-tab zoom cleanup in large DWG files.Zoom Window
✅ 🔍 Filter layout names using wildcard patterns.
✅ 📑 Multi-select layouts for batch zoom operations.
✅ 🔎 Run Zoom Extents on selected layouts.
✅ 🪟 Run Zoom Window workflow on selected layouts.
✅ ☑️ Select all or clear all layout selections.
✅ 📋 Copy selected layout names to clipboard.
✅ 🧰 Keep the UI stable by running zoom actions after the dialog closes.All_Layouts_list
🔍 Filter layout names using wildcard patterns with * and ?.
📑 List layouts in AutoCAD tab order.
☑️ Multi-select layout names from the dialog.
✅ Select All and Select None for fast batch selection.
🔢 Live selected-count field.
📋 Copy selected layout names to the clipboard, one layout per line.
🧩 Optional Include Model toggle for including the Model tab in the list.
FreezeLayersInVP
✅ Browse drawing layers in a DCL layer manager style dialog.
✅ Filter layer names using wildcard patterns such as * and ?.
✅ Display current drawing layers, xref layers, or combined layer groups.
✅ Pick specific xrefs and show only layers belonging to those xrefs.
✅ Show layer status columns for On, Freeze, Lock, Plot, Color, Linetype, and Description.
✅ Multi-select layers from the filtered result table.
✅ Freeze selected layers through the AutoCAD VPLAYER command.
✅ Persist filter and source-toggle choices with environment variables between sessions.
✅ Provide FLVP as a fast command alias.
TitleBlocksTools
Functionalities:- Displays unified menu dialog with radio buttons for Export CSV or Load CSV operations
- Resolves LISP file path dynamically from USERPROFILE environment variable
- Main dialog includes Explorer, Notepad++, and Reload buttons for file management
- Help button launches comprehensive documentation dialog
- Export workflow (EXPTBCSV_EXPORT):
- Prompts user to pick titleblock inserts until ENTER pressed
- Collects unique block names from selections
- Scans all paper space layouts for matching inserts with attributes
- Displays numbered list of all unique attribute tags found
- Accepts “All”, “None”, or range input (1,3,5-7) for tag selection
- Prompts for CSV save location with drawing name as default
- Writes CSV with DWG, Layout, Block columns plus selected tags
- Applies Excel-safe formatting (single-quote prefix for dates/formulas)
- Escapes special characters (commas, quotes, newlines) per CSV standard
- Attempts to auto-open CSV in Excel via multiple detection methods
- Update workflow (UTB2):
- Prompts for CSV file if UTB2:csv not preset
- Validates CSV format and searches for current drawing name in first column
- Applies optional layout filter if UTB2:lay is true (CSV has Layout column)
- Applies optional block filter if UTB2:blk is true (CSV has Block column)
- Uses wildcard filter UTB2:ftr to limit scope to specific block names
- Resolves effective names for dynamic/anonymous blocks
- Iterates through all attributed inserts matching filters
- Updates only attributes with tags matching CSV headers
- Changes only when current value differs from CSV value
- Supports duplicate attribute tags by removing processed items from value list
- Creates single undo mark for entire batch operation
- Reports count of attributes and blocks updated
- Help dialog functionality:
- Displays LISP file path at top of help content
- Shows comprehensive documentation with bullet points and arrows
- Unicode toggle switches between Unicode symbols and ASCII alternatives
- Rebuilds and refreshes display when Unicode preference changes
- Copy Selected copies highlighted lines to clipboard
- Copy All copies entire help text to clipboard
- Copy Path copies LISP file location to clipboard
- Explorer button navigates to LISP folder with file selected
- Notepad++ button opens LISP in editor with fallback to Notepad
- File management features:
- Reload button executes (load) on current LISP file without closing AutoCAD
- Explorer integration uses /select argument for file highlighting
- Notepad++ detection tries configured path, cmd shell, and Notepad fallback
- Path copying via MSHTML clipboard object for reliability
- Persistent state management:
- *tbt-last-option* remembers last radio button selection
- *tbt-unicode* remembers Unicode/ASCII preference
- *NPP:Path* stores custom Notepad++ installation path
- CSV parsing handles alternative delimiters (semicolon) from regional settings
- Removes case sensitivity for drawing name matching
- Supports filenames with or without .dwg extension in CSV
- Handles CSV cells containing embedded commas, quotes, and line breaks

Zoom2Layer
- • Layer filtering with wildcard patterns entered in the dialog filter box.
- • Layer list scope includes only layers that are not off and not frozen (visible/unfrozen set).
- • Pick Layer from Drawing button temporarily exits the dialog so the user can select an object and adopt that object’s layer as the new filter, then reopens the dialog.
- • Persisted filter stored in CHLAY-LAST-FILTER and restored on next run.
- • Zoom-to-layer extents by collecting all objects on the selected layer and computing min/max XY bounds from each entity’s bounding box.
- • Robustness uses guarded ActiveX calls and skips entities that do not support GetBoundingBox.

RenameLayer
🔎 Search/filter drawing layers by name before renaming.
🧱 Exclude xref layers automatically, preventing accidental renaming of xref-dependent layer names.
🧱 Exclude layer 0 automatically, protecting the default AutoCAD base layer from batch rename operations.
🧾 Multi-select one or more layers from the dialog list.
📋 Process all filtered visible layers when no specific list selection is made.
➕ Add a prefix to selected or filtered layer names.
➕ Add a suffix to selected or filtered layer names.
🧹 Remove a text string from selected layer names.
🔄 Replace an old text fragment with a new text fragment.
✳️ Use wildcard-style replacement with * to preserve the middle part of a matching layer name while changing fixed prefixes or suffixes.
🔠 Convert renamed layers to ALL CAPS for strict CAD standards.
🔀 Auto Merge matching layers into an existing destination layer with LAYMRG when the target layer already exists.
🪟 Use Apply to execute one rename pass and continue working in the dialog.
✅ Use OK to execute the final rename pass and close the dialog.
↩️ Group rename and merge actions inside an AutoCAD undo mark for controlled rollback.
🧽 Delete the temporary DCL file after the routine finishes.
PurgeUnusedLayers
✅ Open a DCL dialog for unused-layer cleanup.
✅ Scan all layers in the active drawing for assigned entities.
✅ Protect 0, DEFPOINTS, the current layer, and user-defined skip layers.
✅ Optionally skip Xref-dependent layers matching *|*.
✅ Display unused layers in a multi-select list.
✅ Purge selected unused layers or purge all detected unused layers.
✅ Report deleted and failed layer counts.
✅ Clean up the temporary DCL file after use.LayersNameToClipboard
✅ Read unique layer names from selected AutoCAD objects.
✅ Use VLA object property access instead of raw DXF entity data.
✅ Check whether the selected object exposes a Layer property.
✅ Remove duplicate names from the collected list.
✅ Copy the cleaned list to the clipboard as newline-separated text.
✅ Print the number of copied unique layer names for confirmation.
LayerList
- 📊 Export active drawing layers — Creates a text report of all layers in the current AutoCAD or Civil 3D drawing.
- 🔍 Audit layer visibility — Reports whether each layer is On or Off for faster drawing diagnostics.
- 🧊 Review freeze states — Shows whether each layer is Frozen or Thawed, including viewport default freeze information.
- 🔒 Check locked layers — Identifies locked and unlocked layers for CAD management and editing control.
- 🎨 Document layer appearance — Exports color, linetype, lineweight, and plot style values for standards comparison.
- 🖨️ Verify plotting behavior — Reports whether layers are plottable or not plottable, helping solve plotting and publishing problems.
- 📤 Excel-friendly output — Writes a text file that can be imported into Excel for filtering, sorting, documentation, and QA review.
- 🧹 Non-destructive CAD audit — Reads drawing layer properties without changing entities, layer definitions, styles, blocks, xrefs, or Civil 3D objects.
Import_Layer_Filter
✅ Export multiple AutoCAD layer filters to a single .lft file.
✅ Import multiple filters from v2 .lft files with filter selection.
✅ Import a single filter from v1 .lft files.
✅ Import property layer filters from DWG or DWT source files.
✅ Apply prefix and suffix transformations to layer-name filter patterns.
✅ Manage predefined project folders inside a custom DCL interface.
✅ Save folder configuration back into the LISP-managed preset block.
FreezeLayersInMS
✅ Filter layer names with wildcard-aware text input.
✅ Work with current layers, xref layers, or both.
✅ Filter xref names separately before displaying their layers.
✅ Multi-select matching layers from a fixed-width DCL table.
✅ Apply Freeze, Unfreeze, Off, On, Lock, Unlock, Plot, and NoPlot actions.
✅ Display ACI color names where possible for faster layer review.
✅ Clear filters and refresh the layer list interactively.Export_Layer_Filter
✅ Export one or many AutoCAD property layer filters to a single .lft file.
✅ Use a DCL list with multi-select, Select All, and Select None.
✅ Apply xref-aware prefixes and suffixes to NAME== layer patterns during export.
✅ Use predefined folders for fast project-specific save locations.
✅ Manage folder presets directly from the dialog.
✅ Import v1 and v2 .lft files or layer filters from DWG and DWT sources.
✅ Include a debug command to verify DCL creation and dialog loading.
DuplicateToSelectedLayer
✅ Duplicate one or many selected objects without changing their insertion position or geometry.
✅ Choose the target layer from a compact DCL list of local drawing layers.
✅ Exclude xref layers so copies are assigned only to editable local layers.
✅ Preserve the user’s current layer by restoring CLAYER after the operation.
✅ Bring the duplicated entities to the front for immediate visibility.
✅ Select the duplicated entities at the end for direct editing, verification, or undo workflow.
DeleteLayerByFilter
✅ 🔎 Filter layers by up to five wildcard-compatible search boxes.
✅ 🔁 Combine filters by OR logic or enable inverse mode to show layers that do not match.
✅ 🧭 Use quick preset buttons for Civil 3D, Architecture, Survey, and Structural layer naming conventions.
✅ 💾 Save and reload custom layer filter presets as .dlbf files.
✅ 📋 Select all displayed layers or clear the current DCL list selection.
✅ 📤 Export selected layers, displayed layers, or all matching layers to a TXT file.
✅ 🛡️ Skip protected layers automatically even when they match the filter or are selected.
✅ ⚠️ Ask for confirmation before deleting selected layers or all matching layers.
✅ 🧹 Delete layers using both -LAYDEL and ActiveX deletion fallback.
✅ 📊 Report how many layers were deleted, skipped as protected, or failed.
✅ 🧰 Use LayDelByList to delete layer names from a predefined LAYLIST variable.
✅ 🧱 Protect xref-dependent layers and key Civil 3D object layers from accidental removal.
✅ 🧠 Avoid large DCL list crashes by limiting list item count and total list text size.Color2Llayers
✅ Display all drawing layers with name, color, and linetype information.
✅ Filter layer names using * and ? wildcard patterns.
✅ Select multiple layers in a DCL list box.
✅ Select all or clear all layer selections.
✅ Pick a new AutoCAD color through a color selection dialog.
✅ Apply layer color changes and regenerate the drawing immediately.
✅ Undo the last applied color change snapshot.
✅ Copy selected layer/color/linetype rows to the clipboard.
✅ Save dialog position and filter text between sessions.
✅ Provide XCCDEBUG for troubleshooting DCL loading, temp file writing, and AutoCAD environment data.
ChangeLayerToCurrent
✅ Display all drawing layers in a DCL popup/list interface.
✅ Filter layer names with typed search text.
✅ Remember the last used layer and last filter between command runs.
✅ Pick an existing object to use its layer as the destination layer.
✅ Copy the selected layer name to the clipboard.
✅ Select multiple objects after confirming the target layer.
✅ Move selected objects to the chosen layer using CHPROP.
✅ Optionally preserve original displayed linetype, linetype scale, and lineweight/width after the layer change.
ChangeLayerToSelected
- • Layer scope — enumerates layers from the active document and excludes Xref layers by rejecting names matching *|*.
- • Temporary DCL generation — writes a dialog definition to a temp .dcl file and loads it each loop iteration.
- • Filter behavior — filter text is applied as a substring match using wcmatch against *filter* (case-insensitive); empty filter shows all layers.
- • Preselection rules — if a picked layer exists in the filtered list, it is selected; else if the last used layer exists, it is selected; otherwise the first entry is selected.
- • OK handler — captures current filter and selected popup index, resolves the layer name, saves ChangeLayer_LastFilter and ChangeLayer_LastLayer, then closes dialog with result 1.
- • Pick-from-drawing handler — closes dialog with result 2, prompts for an entity via entsel, reads group code 8 (layer), validates it exists in the non-Xref layer list, then reopens the dialog.
- • Final object selection — after OK, prompts for a multi-selection using ssget (no single-select flags), allowing window/crossing and add/remove selection gestures.
- • Apply layer change — runs _.CHPROP on the selected set and sets property LA to the chosen layer name.
- • Cleanup — unloads the dialog each loop and deletes the temporary DCL file at the end of the routine.
All_Color2Layers
✅ Reset entity Color to BYLAYER.
✅ Reset entity Linetype to BYLAYER.
✅ Reset both Color and Linetype in one operation.
✅ Choose processing scope: Model Space, Paper Spaces, and Block Definitions.
✅ Filter layouts/layers with wildcard-style filtering.
✅ Select all or select none in the DCL list.
✅ Temporarily unlock locked layers and restore their lock state after processing.
✅ Save operation mode, scope, filter, and dialog position between sessions.
✅ Provide an undo button for the last ByLayer operation step.SplitHatch
✅ Select one or more HATCH entities.
✅ Run AutoCAD HATCHEDIT Separate for each selected hatch.
✅ Convert multi-boundary hatch objects into separated hatch objects.
✅ Keep the workflow simple and command-line friendly.
✅ Report completion or indicate when no hatch was selected.MleaderStraight
✅ Straighten MultiLeader leader geometry for cleaner AutoCAD annotation.
✅ Choose between selected MLeader processing and all MLeaders in the current space.
✅ Supports PICKFIRST preselection via ssget “_I” and manual selection via ssget.
✅ Uses MULTILEADER filters to avoid processing unrelated entity types.
✅ Creates a temporary construction XLINE only for geometric calculation and deletes it immediately after use.
✅ Regenerates all viewports after processing so the updated leader geometry is visible.ConvertLeaderAndText2Mleader
🧰 Select an existing MULTILEADER to reuse its style, scale, width, and visual behavior, or skip the step to use the current MLEADER style.
🔁 Convert one old LEADER and one MTEXT object into a new MLEADER object with a clean AutoCAD annotation workflow.
📝 Convert MTEXT content using Title case, Lower case, Upper case, Sentence case, Toggle case, or Keep case options.
🧹 Keep MTEXT formatting or remove MTEXT formatting codes with a Lee Mac unformat routine.
📐 Rebuild leader geometry from the original leader points, supporting straight leaders, dog-legged leaders, and simplified multi-vertex leaders.
🎯 Preserve MTEXT rotation and reuse text width when appropriate for cleaner MLEADER placement.
📌 Move the new MLEADER to the original MTEXT layer when no reference MLEADER is selected.
🔒 Use undo marks, error handling, CMDECHO restoration, OSMODE restoration, and safe selection prompts.
🧠 Support annotative object checks through ActiveX and dictionary inspection helpers.
⚙️ Use helper routines for selection filtering, rounded point coordinates, string substitution, text unformatting, and annotative detection.AddVertex2Mleader
• 🎯 Selects one AutoCAD MULTILEADER entity from the drawing.
• 📌 Prompts the user to pick the new leader vertex point interactively.
• 🧠 Reads the current leader line vertices using getleaderlinevertices.
• 🔄 Inserts the picked point into the leader vertex sequence instead of recreating the whole MLeader manually.
• 📐 Uses distance-based logic to place the new point near the closest existing leader vertex position.
• 🧩 Updates the first leader line using setleaderlinevertices.
• 🧹 Leaves unsupported selections unchanged when the selected object is not a MULTILEADER.
• ⚙️ Uses Visual LISP ActiveX automation with vlax-ename->vla-object and vlax-invoke.
FixLineTextOverlap
🚀 Selects vertical LINE entities and creates clean crank-style LWPOLYLINE step-outs.
📏 Computes a practical default spacing from 1.25 times the current AutoCAD TEXTSIZE.
🎯 Lets the user pick a crank point that defines the Y level and rail position for spacing.
🔄 Uses shared spacing and rail memory so Text_Overlap can reuse the last Line_Overlap settings.
🧩 Groups TEXT and MTEXT by Y row to avoid mixing annotations from different horizontal bands.
📌 Splits text into left and right sides of the rail, anchors the nearest item, and steps the rest outward.
📝 Supports both TEXT and MTEXT with proper insertion point handling.
🔧 Respects TEXT justification by editing DXF point code 10 for left-justified text and code 11 for right-justified text when needed.
🌐 Uses trans to move between OCS, UCS, and WCS safely during text edits.
🧱 Preserves the source layer for created crank polylines.
↩️ Wraps edits in an AutoCAD UNDO group for fast rollback.
⚠️ Reports empty selections or unsupported cases instead of silently failing.
TrimIn_TrimOut_Boundary
Allows the user to define a rectangular boundary from two corner points.
Offers three trimming modes: outside with border, outside without border, and inside deletion.
Creates a temporary closed PLINE rectangle used as the trim boundary.
Uses AutoCAD ERASE and TRIM operations to remove and cut geometry relative to the rectangle.
Uses four fence trim passes around the boundary to improve trim reliability.
Saves and restores CMDECHO and HIGHLIGHT system variables.NCopyExtra
– Dialog-first workflow with Pick Rectangle, Pick XREF on Screen, XREF dropdown, wildcard filter, status feedback, and OK validation.
– Crossing and Window selection modes for copying only the XREF objects whose bounding boxes match the requested area.
– ObjectDBX-based XREF access, allowing the routine to scan the referenced DWG model space and copy matching objects into the current drawing.
– Coordinate transformation support for direct and nested XREFs, including world-to-local conversion, unit scaling, and matrix-based placement.
– Optional layer property transfer from XREF layers to local trimmed layers, including color, linetype, and lineweight.
– Optional placement of copied entities on the helper layer _hilfslinien.
– Optional single UNDO group around the copy operation.
– Debug/report mode through NCopyExtraD, with report text saved to a temporary TXT file.
– XREF locator workflow through NCopyExtraW, including preview boundary box and copy-all or rectangle-copy options.
– XREF coordinate and nesting diagnostic workflow through NCopyExtraI.
– ClassicalNCopy workflow for selecting and copying nested XREF objects one by one with nentselp.
CopyMove2MidPoint
✅ Select multiple AutoCAD drawing objects for midpoint-based relocation.
📐 Define a source midpoint using two picked reference points.
🎯 Define a destination midpoint using two picked reference points.
🔄 Move selected entities with MMid2.
📋 Copy selected entities with CMid2.
🌐 Respect the active UCS by transforming base point and vector data to WCS.
🔒 Skip objects located on locked layers.
🧰 Use a single shared engine for move and copy behavior.CookieCutter2
– Runs the primary CookieCutter2 command with the CC shortcut.
– Accepts a circle or closed polyline, ellipse, or spline as the trimming edge.
– Rejects non-closed, self-intersecting, and unsupported boundary objects.
– Lets the user pick whether the inside or outside side of the boundary should be processed.
– Can erase all objects on visible layers inside or outside the selected boundary.
– Behaves like EXTRIM when the erase-all option is not selected.
– Explodes intersecting blocks and recursively processes nested blocks.
– Converts exploded block attributes into text while preserving key properties.
– Explodes regions and non-solid hatches that intersect the trimming boundary.
– Offers to convert intersecting solid hatches into ANSI31 lines before trimming.
– Ignores true external references and can process bound block content when it is explodable.
– Skips annotation and unsupported entities such as text, mtext, leaders, dimensions, mleaders, tables, solids, traces, and remaining solid hatches.
– Temporarily unlocks locked non-xref layers and relocks them when the command ends.
– Uses an offset boundary and IntersectWith calculations to determine reliable trim locations.
– Sorts multiple intersection points to improve repeated trimming behavior.
– Restores AutoCAD system variables, object visibility, layer locks, and the original view after completion or error.
– Wraps the operation in an AutoCAD undo mark.
– Includes CookieCutter2Multi and CC2M for keeping objects inside any of several closed boundaries by erasing objects outside their combined areas.
CenterAreaCentroid
✅ Dialog-based choice between Center Area and Centroid.
✅ Session memory for the last selected option using *CAC-last-option*.
✅ Temporary DCL creation with vl-filename-mktemp and load_dialog.
✅ Most-inner-point calculation for closed AcDbPolyline and planar closed AcDbSpline objects.
✅ AutoCAD POINT creation at the calculated inner point, using color index 3.
✅ Centroid extraction from a selected polyline converted to REGION.
✅ TEXT insertion at the centroid point with middle-center justification.
✅ Visual LISP ActiveX usage through vlax, vla, and curve functions.
✅ Lightweight command workflow for area labeling, centroid checking, and closed-boundary drafting support.TotalLengthPolyline
📏 Calculates total length from a user-selected set of AutoCAD objects.
🧱 Supports LINE, ARC, CIRCLE, SPLINE, POLYLINE, LWPOLYLINE, and ELLIPSE entities.
📐 Uses direct geometric distance calculation for LINE objects.
🟠 Computes ARC length from radius and angular span.
🔄 Uses AutoCAD AREA object mode to retrieve perimeter values for circles, splines, polylines, lightweight polylines, and ellipses.
➕ Adds every valid entity contribution into one final total.
📢 Displays the result in an AutoCAD alert window.
🧰 Works as a lightweight command-line utility without a DCL dialog or external files.
TotalLengthAreaDetailed_vs_01
Functional options in the dialog • Length or Area Radio buttons to choose whether to sum linear lengths or areas. • Excel When checked, the clipboard expression is prefixed with an equal sign for direct use in Excel. • Excel ceiling When checked, wraps the expression in a ceiling call with step 5, overriding the simple Excel option. • Place result in Acad When checked, prompts for an insertion point and creates MText showing the numeric result inside the drawing. • Decimal precision Edit box where you specify the global number of decimal places used in expressions, MText, and command line output, default value is 2.TotalLengthAll
🚀 ELEN command for fast total-length calculation.
📏 Calculates total length for selected AutoCAD curve entities.
📐 Supports lines, polylines, 3D polylines, circles, arcs, ellipses, and splines.
🔍 Works with implied selection or manual entity selection.
🧹 Filters unsupported object types and reports skipped items.
📊 Prints entity count and total length in current drawing units.
🧰 Non-destructive workflow that does not modify drawing geometry.
⚙️ Compact AutoLISP routine suitable for quick CAD production checks.TLength
📏 Calculates total selected length from multiple AutoCAD object types.
📐 Uses vla-get-length for LINE, 3D POLYLINE, and POLYLINE objects.
🧭 Uses vla-get-arclength for ARC objects.
⭕ Uses vla-get-circumference for CIRCLE objects.
🌀 Uses vlax-curve-getdistatparam for SPLINE and ELLIPSE objects.
🧱 Calculates MLINE length from coordinate segment distances.
🟦 Uses vla-get-perimeter for REGION and MPOLYGON objects.
🔢 Formats the final result with four decimal places using rtos.
📋 Copies the final numeric value directly to the clipboard.
🖥️ Prints a single-object or multi-object total length message in the AutoCAD command line.
🧹 Cleans up the temporary AutoCAD selection set after calculation.SumLengthField
📏 Live length summation from selected linear objects.
🟦 Area summation from closed or area-capable objects.
🔢 Unit conversion command variants for mm to m and mm² to m² workflows.
📌 Output to new MText by picking a point in the drawing.
📊 Output directly into AutoCAD table cells.
🏷️ Output into Text, MText, Attributes, Attributed Blocks, and MLeaders.
🧩 Attribute selector dialog for blocks or MLeaders with multiple editable attributes.
🔄 FIELD expression generation using ObjectID references, AcObjProp, and AcExpr.
🧹 Existing field content is cleared before the new field is written.
🔐 Safe undo handling and locked-layer checks.PolylineArea
🚀 Launches from the AutoCAD command line with POLYAREA.
📐 Selects all supported polyline entities using the *POLYLINE object filter.
🧮 Calculates the total area of multiple selected polyline objects.
📏 Supports metric, unitless, and imperial display logic.
🟧 For imperial dimension settings, reports square inches and square feet.
📋 Copies the clean numeric result to the Windows clipboard automatically.
📊 Shows the full total area result in an AutoCAD alert dialog.
🧹 Releases the clipboard COM object after use.
⚠️ Displays a clear warning when no polylines are selected.
PLLengthByLayer
✅ Main functionalities:
– 🔍 Scans the full drawing for LWPOLYLINE objects with ssget “_X”.
– 🏷️ Reads the layer of each lightweight polyline.
– 📏 Calculates polyline length with vla-get-length.
– 📊 Groups and totals lengths by layer.
– 🔤 Sorts layer names alphabetically for the printed report.
– 🧾 Prints a command-line table with layer name and total length.
– 📤 Offers TXT, CSV, or no export after the summary.
– 💾 Writes exported reports to the current DWG folder.
– 🔐 Uses unique filenames to avoid overwriting previous exports.
– 🧹 Closes file handles safely through the local error handler.LenCalc
• 📊 Opens a Length Calculator DCL dialog with selection, object type, output, precision, and table style controls.
• 🧭 Groups length calculations by Layer, Linetype, or Colour.
• 🔍 Supports wildcard filtering for fast selection of target layers, linetypes, or color indexes.
• 📐 Calculates length for supported curve objects using AutoCAD curve distance evaluation.
• 🧩 Lets the user include or exclude LINE, LWPOLYLINE, POLYLINE, ARC, CIRCLE, SPLINE, and ELLIPSE objects.
• 📋 Creates an AutoCAD table with title, grouping name, and total length columns.
• 📄 Exports reports to TXT files with padded columns.
• 📤 Exports reports to CSV files for Excel-based quantity takeoff.
• 🔢 Provides precision choices from integer values through multiple decimal-place formats.
• 🧠 Remembers session settings for filter mode, selected list items, object toggles, precision, output type, open-with option, and table style.
• 🔒 Checks for supported AutoCAD table object availability and locked current layer conditions before processing.
BookmarkEntities
Picking & storing bookmarks: • Button “Pick from drawing” callsbm-pick-and-storewhich: – Usesssgetwith filter(0 . "TEXT,MTEXT,LINE,LWPOLYLINE,POLYLINE,CIRCLE,SPLINE,INSERT"). – For each entity, determines: • Label – e.g. “TEXT”, “LWPOLYLINE (closed)”, “3D POLYLINE”, “BLOCK MyBlock”. • Representative start/end points via bounding box or geometry. • Color string viabm-color-string(TrueColor/aci/ByLayer/ByBlock). • Handle and entity type. – Creates an entry with empty remark""and appends it to*bm-list*.
Group / filter system: •bm-entry-groupmaps entity type to a group name: – TEXT/MTEXT → “Text”. – LINE → “Lines”. – (LW)POLYLINE → “Polylines”. – CIRCLE → “Circles”. – SPLINE → “Splines”. – INSERT → “Blocks”. – Others → “Other”. •bm-build-groupsscans*bm-list*and builds*bm-groups*=("All" ... unique group names ...). • The popup “Group” in the dialog is filled from*bm-groups*; changing it updates*bm-group*and refreshes the list. •bm-pass-filterensures only entries matching the selected group (or All) are shown.
Dialog listboxes & synchronization: • Columns are separate list boxes: – No / Element (lb_elem) – row number + label. – Coordinates (lb_coord) – bookmark start point as “X,Y,Z” (formatted using currentLUPREC). – Color (lb_color). – Remark (lb_rem). •bm-update-listrebuilds these four list boxes from*bm-list*+ current group filter, and rebuilds*bm-index-map*for “visible index → real index” translation. • Selecting in any of the list boxes forces all other list boxes to the same index and runsbm-on-select(which updates the Remark edit box).
Zoom to bookmark: • Button “Zoom” callsbm-apply-zoom: – Uses selected row inlb_elemto get visible index, then real index via*bm-index-map*, then fetches entry from*bm-list*. – Attempts to resolve the current entity by handle usinghandent. If found, recomputes the bounding box for an up-to-date zoom window (even if the object has moved). If not found, falls back to stored start/end points. –bm-make-windowbuilds a padded window around those two points (5% margin). – Callsbm-zoom-ll-ur, which usesvla-ZoomWindowto actually zoom the current view.
Remarks: • The edit box “Remark” lets you attach a free-text comment to the selected bookmark. •bm-update-remark-fieldfills the edit box when you change selection. • Button “Set” callsbm-set-remarkwhich: – Reads the current remark text. – Updates the corresponding entry in*bm-list*(usingbm-replace-nth). – Rebuilds the lists and re-selects the same visible row so the UI stays in sync.
Duplicate / Delete / Clear: • Duplicate – inserts a copy of the selected entry immediately after it in*bm-list*viabm-insert-after-nth, then refreshes the UI. • Delete – removes the selected entry from*bm-list*viabm-remove-nthand clears the remark field. • Clear – empties*bm-list*and*bm-index-map*in one shot and refreshes all list boxes.
Save / Load / Import (per-DWG persistence): • Automatic default file path:DWGPREFIX + (vl-filename-base DWGNAME) + "_BMEntityPos.lst". – This means each drawing can have its own bookmark list stored right next to the DWG (same prefix, custom suffix). • Save –bm-save-list: – Writes*bm-list*as a single LISP-readable expression into the default file (usingprin1). – Notifies with the path on success; warns if there’s nothing to save. • Load –bm-load-list: – Reads from the default per-DWG file, validates that it’s a list, assigns it to*bm-list*, and updates the dialog. • Import –bm-import-list: – Usesgetfiledto let you choose any.lstfile containing a bookmark list. – On success, replaces current*bm-list*with the imported content and updates the dialog, with a path confirmation message.Exp_Imp_NamedViews
🚀 Launches a dedicated Named Views import and export dialog with the ExpImpNVU command.
📤 Exports all named AutoCAD VIEW definitions from the active drawing to a TXT file.
🎨 Exports linked VISUALSTYLE definitions once when a Named View references a visual style.
📥 Imports saved VIEW and VISUALSTYLE records back into the active drawing.
📁 Offers predefined project folders for Named_Views locations such as Beu, La, Npl, and Bis.
🧭 Uses the drawing name as the suggested TXT filename for fast project based exports and imports.
💾 Persists the last folder through the Windows registry path HKEY_CURRENT_USER\Software\JTBWorld\viewsIO.
🖥️ Provides helper buttons for opening the fixed LISP folder in Explorer and opening the LISP file in Notepad++.
🔄 Includes a reload helper for quickly reloading the fixed Exp_Imp_NamedViews LISP file during development.
📋 Includes a help dialog with copy selected, copy all, copy path, and Unicode toggle actions.
🧩 Supports GUI commands and command-line variants for scripted or manual workflows.
🛡️ Cleans handle, owner, and visual style link DXF codes during export so imported entities can be recreated safely.Add_Bookmark
• Text handling — For TEXT and MTEXT, stores the actual string content and uses the insertion point as start, with an artificial end point offset 10 units in X • Line handling — For LINE, uses the true start point (DXF 10) and end point (DXF 11) and labels it as “LINE” • Polyline handling — For LWPOLYLINE and POLYLINE, labels as “POLYLINE” and uses bounding box corners from getboundingbox • Circle handling — For CIRCLE, uses the center (DXF 10) and a corner computed from center plus radius in X and Y, labels as “CIRCLE” • Spline handling — For SPLINE, uses DXF 10 and 11 as start and end points, labels as “SPLINE” • Block handling — For INSERT, uses the block name (DXF 2) prefixed with “BLOCK: ” and uses insertion point plus an X-offset as end point • Fallback case — For unknown types, labels as “UNKNOWN” with zeroed points to avoid nil values • Selectable accumulation — Multiple runs keep pushing new bookmarks into *textPositions* instead of overwriting itClear_Bookmarks
• Prompts user with a confirmation message • Clears the bookmark memory list when confirmed • Leaves stored data untouched if Cancel is pressed • Prints status messages to the command line after completion
NamedViewList
🔍 Live filter box for narrowing Named View names in real time.
🔤 Match case toggle for case-sensitive or case-insensitive filtering.
📋 Multi-select list box for selecting one or more Named Views.
🧭 Zoom button applies the first selected view while the dialog stays open.
🗑️ Delete button removes selected views and refreshes the dialog without closing it.
📝 Double-click rename workflow with duplicate-name validation.
📊 Count label shows filtered results against the total number of views.
🔄 Clear filter button resets the search field and reloads all views.
✅ OK restores all selected views using the AutoCAD VIEW restore operation.
🧹 Error and cancellation cleanup unloads the temporary DCL and deletes the temporary dialog file.
SwapBlockAssignLayer
• 🧩 Command entry point: SwapBlockAssignLayer.
• 🔎 Prompts the user to select objects that should be replaced by block instances.
• 📋 Scans the drawing block table and lists user-defined named blocks.
• 🚫 Filters anonymous and system block names beginning with an asterisk.
• 🪟 Builds a temporary DCL dialog named DuplicateToBlockInsert for block selection.
• 💾 Remembers the last selected block with the DuplicateToBlockInsert_LastBlock environment variable.
• 📍 Uses the object InsertionPoint when available.
• 📐 Falls back to the center of the object bounding box when no insertion point property exists.
• 🧭 Inserts the replacement block using the current UCS X direction for rotation.
• 🧹 Deletes the original selected entity after inserting the replacement block.
• ✅ Reports how many selected objects were replaced.
RenameBlockPreview
🚀 Launch the RenBlocks command to open the Rename Block DCL dialog.
🔍 Filter block names with a remembered search field.
🧱 Display only rename-ready block definitions by excluding anonymous, xref-nested, Model Space, and Paper Space records.
🟢 Show a DCL image-tile indicator when a block is selected.
✏️ Rename the selected block definition directly from the dialog.
🔒 Prevent duplicate block names before applying the rename.
🔄 Refresh the block list after a successful rename.
💾 Remember the last filter and dialog position using session variables and AutoCAD CFG storage.
🧹 Create and delete a unique temporary DCL file at runtime.RenameBlock
• 🧱 Accepts one preselected INSERT or prompts the user to select one block reference.
• 🧹 Clears multiple preselected objects so the user can pick a single valid block.
• 🔎 Reads EffectiveName for dynamic blocks and Name for regular block references.
• 🚫 Excludes xrefs from the rename workflow.
• ✨ Highlights the selected block during the rename operation and unhighlights it afterward.
• 📝 Opens the current block name in the LISP text editor for easy editing.
• ✅ Rejects empty names, whitespace-only names, and names already used by another block definition.
• 🔁 Executes AutoCAD RENAME with the BLOCK option when the new name is different.
• ↩️ Uses vla-startundomark and vla-endundomark so the rename can be undone cleanly.
• 📣 Prints whether the block was renamed or the original name was retained.
DynamicBlockFilter
- 🔍 Select matching dynamic blocks – automatically finds block references with the same effective dynamic block name and matching dynamic property values.
- 🧩 Filter by visibility, lookup, distance, angle, flip, stretch, and custom parameters – supports common AutoCAD dynamic block property workflows.
- 📊 DCL-based property selection – shows a compact AutoCAD dialog generated at runtime from the selected block properties.
- ⭐ Use wildcard all values – empty fields and
*allow broad matching without requiring every property to be specified. - 📐 Use fuzz tolerance for numeric values – improves matching for dynamic block distances, rotations, and calculated values affected by precision.
- 🟢 Filter the whole drawing – searches all block references in the active DWG for matching dynamic block configurations.
- 🟧 Filter only a manual selection – limits the search to selected objects when the user wants controlled local filtering.
- 🧰 Works inside other AutoCAD commands – the function can return a selection set during a command selection prompt, improving command chaining.
- 📌 Highlight results in model space – matched block references become the active AutoCAD selection set for immediate editing.
- 🧹 Useful for DWG cleanup and block auditing – quickly isolates specific dynamic block variants without manually inspecting every instance.

DelUnusedBlocks
- 🚀 Run a dedicated AutoCAD cleanup command — use
DelUnusedBlocksto start a focused unused block definition cleanup workflow. - 🔍 Scan unused block definitions — automatically checks the active DWG block table and finds block definitions that are not inserted in the drawing.
- 🔒 Skip protected block types — excludes xrefs, xref-dependent blocks, externally dependent blocks, layout blocks, and other non-deletable block records.
- 📋 Use a generated DCL dialog — displays unused block names in a practical multi-select list instead of forcing command-line-only cleanup.
- 🟢 Select all unused blocks — quickly marks every detected unused block definition for deletion.
- ⚪ Select none — clears the current selection when the user wants to manually choose only specific block names.
- ⚠️ Confirm before delete — optional confirmation helps prevent accidental cleanup actions in production DWG files.
- 🧹 Delete selected unused blocks — removes the selected unused definitions from the AutoCAD block table with ActiveX database operations.
- 💾 Remember user settings — saves dialog position, confirmation preference, and previous selected block names in
DelUnusedBlocks.cfg. - 📌 Restore previous selection — attempts to reselect previously chosen block names when they still exist in the next cleanup session.
- 📊 Command-line reporting — prints deleted block names and the total number of deleted unused block definitions.
- 🔐 Graceful cancel behavior — preserves settings and exits cleanly when the user cancels or closes the dialog.
- 🚀 Run a dedicated AutoCAD cleanup command — use

DynamicBlockCounter
- 🚀 Count all blocks in the current layout – press Enter at the selection prompt to count every detected
INSERTobject in the active model or layout context. - 🎯 Count selected blocks only – select specific block references when only part of the drawing should be audited.
- 🧩 Support dynamic blocks – resolves dynamic block effective names so reports use readable block names instead of anonymous internal names.
- 👁️ Visibility state reporting – counts each visibility state separately for dynamic blocks that use a visibility parameter.
- 📌 Include xref-style inserts – processes reference objects that appear as
INSERTentities in the current drawing layout. - 📊 Formatted AutoCAD command-line report – prints block names, visibility states, and counts in a structured table.
- 📤 Export block counts to TXT – creates a tab-delimited report for documentation, review, or quick sharing.
- 📤 Export block counts to CSV – creates a spreadsheet-friendly report for Excel, quantity checking, and project coordination.
- 🧠 Automatic unique filenames – avoids overwriting previous reports by adding a numeric suffix when an output file already exists.
- 🔒 Non-destructive drawing audit – reads block information and writes reports without editing, moving, deleting, or changing the drawing entities.
- 🚀 Count all blocks in the current layout – press Enter at the selection prompt to count every detected

DelSelectBlock
- 🚀 Delete selected block name – removes every block reference in the active drawing that matches the chosen raw block name.
- 🔍 Scan all block references – lists available
INSERTblock names from the current DWG without manually searching the drawing. - 📌 Pick block from drawing – lets the user select one block reference and automatically fills the dialog with its block name.
- 📝 Manual block name input – allows direct typing of a raw block name for advanced cleanup workflows.
- 🧠 Recent block history – remembers the last used block names so repeated cleanup operations are faster.
- 🔒 Optional confirmation – shows the number of matching instances before deletion to reduce accidental drawing changes.
- 🧹 Optional block definition purge – attempts to remove the block definition after all matching references are deleted.
- 🎨 Persistent DCL position – saves and restores the dialog position for a smoother CAD production workflow.
- 📋 Configuration file support – stores options in
DelSelectBlock.cfgusing AutoCAD roaming, drawing, or temporary paths. - 🔐 Wildcard-safe selection – supports literal matching of special raw block names, including anonymous dynamic block names.
- 🧰 Command-line feedback – reports how many block instances were deleted and how many could not be removed.

DeleteBlocks
- 🚀 Open block deletion manager – runs
DELBLOCKSto display a DCL list of deletable block candidates. - 🔢 Show block instance counts – displays how many references each block name has in the drawing database.
- 🔍 Filter block names – narrows the list by text so users can quickly find target block definitions.
- 🔄 Sort A-Z or Z-A – changes the block list order for faster navigation in drawings with many block definitions.
- 📌 Select multiple blocks – allows multi-select deletion from one dialog instead of running repeated command-line cleanup steps.
- 🧹 Select unused blocks – automatically selects zero-instance blocks for purge-style drawing cleanup.
- 🟧 Select all and deselect all – speeds up bulk block cleanup and review workflows.
- 📊 Horizontal scroll simulation – uses a DCL slider to inspect long block names that do not fit in the list box.
- 🔴 Nested block protection warning – warns when a selected block is used inside another block definition before proceeding.
- 🔒 Locked layer support – temporarily unlocks layers so matching block references can be deleted, then restores the layer lock state.
- 🧠 Persistent user settings – remembers the last filter, scroll position, sort direction, and dialog size between runs.
- 🧰 Temporary DCL creation – creates a unique dialog file per session and removes it after use.
- 🔴 Global block deletion – removes matching block references and attempts to delete the selected block definitions from the active DWG.
- 🚀 Open block deletion manager – runs

CopyBlock
• Copy and rename in one step: Creates a new block definition, copies geometry, and assigns a new name while leaving the original definition intact. • Two working modes: Simple “Copy Rename Block” mode, or an extended “Copy Rename Block + Layer” mode with full layer control and filtering. • Interactive layer selection: In +Layer mode, you can filter layer names, select from a list, or pick any object in the drawing to adopt its layer. • Content normalization: Optionally forces all entities in the new block definition to a single layer and ByLayer display properties for consistent behavior. • Safe naming strategy: Automatically proposes a unique default name and prevents invalid or duplicate block names from being used. • Delete original toggle: You can decide whether the original block reference is kept or automatically deleted after the new one is created and linked. • Locked layer protection: Rejects block references placed on locked layers to avoid unintended edits in protected areas. • Version aware: Uses the AutoCAD version to connect to the correct ObjectDBX interface for reliable operation across releases.ChangeBlockEntitiesLayer
• Multiple block support: Processes all block references included in the selection set in one execution of the command. • Definition based edit: Modifies the block definition itself, so every instance of that block in the drawing reflects the updated internal layers. • Layer unification: Ensures that geometry inside the block uses the same layer as the block reference, improving control over visibility, color, and plotting through the block layer. • Property safe: Only objects that actually expose a Layer property are modified, preventing errors on unsupported objects inside the definition. • Case insensitive compare: Compares layer names in a case insensitive way so layers that differ only by letter case are recognized as identical. • No geometry duplication: Edits existing definition entities in place instead of creating new geometry, keeping the drawing clean.3D_PolyOffset
- 3D polyline vertex extraction.
- Temporary 2D polyline generation.
- Keyboard-driven offset distance input.
- Automated 2D offset operation.
- Reconstruction of a 3D polyline with preserved elevation values.
- Automatic cleanup of intermediate geometry.
- System variable state preservation and restoration.

SteSysVar
✅ Tabbed DCL interface for managing grouped AutoCAD system variables.
✅ Dropdown value lists with readable meaning labels for each supported variable.
✅ File settings: FILEDIA, PROXYGRAPHICS, and CMDECHO.
✅ Dialog settings: HPDLGMODE for hatch dialog behavior.
✅ Drawing behavior settings: ORTHOMODE, MIRRTEXT, REGENMODE, PEDITACCEPT, TRIMEXTENDMODE, PLINEWID, PLINETYPE, DIMASSOC, DRAGMODE, MBUTTONPAN, and WIPEOUTFRAME.
✅ Selection settings: PICKFIRST, PICKADD, PICKBOX, GRIPOBJLIMIT, SELECTIONPREVIEW, SELECTIONCYCLING, HIGHLIGHT, PICKDRAG, and GRIPS.
✅ Drafting aid settings: OSMODE, OTRACK, AUTOSNAP, DYNMODE, UCSFOLLOW, ZOOMFACTOR, DONUTID, DONUTOD, and SNAPANG.
✅ Xref setting support for XREFOVERRIDE.
✅ Publish setting support for PUBLISHCOLLATE.
✅ Layer isolation support for LAYERISOLATION, with special handling for LAYISO behavior and LAYLOCKFADECTL.
✅ Select All and Select None actions for the current tab.
✅ Built-in help dialog with copy selected, copy all, copy path, Unicode toggle, and source navigation actions.
✅ Open LSP folder, open current LSP in Notepad++, reload self, and copy LSP path utilities.
✅ Runtime DCL generation, AutoLISP COM usage, safe setvar calls, and clipboard export through PowerShell.
Hide / Show Objects
Main Functionalities: • Dialog-driven visibility control — Choose from isolate, hide, or show-all directly via a simple UI. • Remembers last selection — Automatically selects the last used option on the next run. • Dynamic DCL creation — Builds its dialog at runtime without needing an external DCL file. • Automatic screen refresh — Uses “_regen” after every visibility change to update the display.
Change Background Color
Main Functionalities: • Dialog UI (c:BG / c:BGDCL) — Interactive color picker with Apply, OK, and Cancel buttons. • Quick Commands — Includes c:BGGrey, c:BGWhite, c:BGBlack for instant background changes. • Toggle Command — c:bgt switches Model space background between black and white. • Contrast Adjustment — Automatically sets cursor, tracking vector, and snap marker colors based on background brightness. • Snapshot & Restore — Keeps original color settings safe until the user confirms changes.
AnnoAllOnOff
✅ 🔇 Sets ANNOALLVISIBLE to 0 for selected tabs.
✅ 🎛️ Uses a DCL dialog to choose Model and Layout tabs.
✅ ✅ Selects all tabs by default for fast drawing-wide annotation visibility cleanup.
✅ 📋 Allows multi-select tab control with Ctrl/Shift selection.
✅ 🟢 Provides All and None buttons for quick selection management.
✅ 🧭 Switches CTAB to each selected tab before applying the setting.
✅ 📄 Forces Paper Space when processing layout tabs.
✅ 🔄 Restores the previous CTAB, TILEMODE, and MSPACE values after completion.
✅ 🧹 Cleans up the temporary DCL file after use.
✅ 📌 Avoids viewport-level confusion by treating ANNOALLVISIBLE as a per-tab setting.
RotateUCS
Main Functionalities: • Rotate UCS around Z by a user-defined angle. • Auto-reset snap angle to 0 so the drafting angle matches the UCS. • Start from World UCS every time to avoid cumulative rotation errors. • Display the final angle to the user for confirmation. • Optionally save the rotated UCS under a custom name for later reuse.
SetUpUnits
[‘🌍 Opens a country and region based Civil 3D drawing setup dialog.’, ‘🗺️ Lists coordinate system codes for the selected country, region, UTM group, or world coordinate system category.’, ‘🚩 Shows a live flag preview in the DCL dialog using external flag pixel data.’, ‘📐 Lets the user select drawing scale values such as 1, 20, 50, 100, 200, 500, 1000, 2000, and 5000.’, ‘📏 Lets the user choose drawing units including feet, meters, millimeters, centimeters, decimeters, and inches.’, ‘🧭 Lets the user choose angular units including degrees, radians, and grads.’, ‘🔧 Applies the chosen Civil 3D coordinate system code to the active drawing.’, ‘⚙️ Applies drawing scale, angular unit mode, and drawing unit mode through Civil 3D COM settings.’, ‘🇷🇴 Starts with Romania, scale 1000, degrees, and meters as the default dialog selections in the uploaded code.’, ‘🧰 Generates the DCL dialog at runtime in the AutoCAD temporary folder and deletes it after use.’, ‘🎨 Converts RGB flag data to AutoCAD ACI colors for DCL image rendering.’, ‘⚡ Uses run-length encoding logic so consecutive same-color pixels are drawn efficiently.’, ‘📌 Prints the applied coordinate system, scale, angular unit, and drawing unit result to the AutoCAD command line.’]
C3D_NamespaceFix
✅ 🔎 Checks whether the multiplication symbol is currently a SUBR.
✅ ⚙️ Attempts vl-load-com when the multiplication symbol does not have the expected type.
✅ 🔁 Performs a second vl-load-com attempt when the condition remains unresolved.
✅ 📊 Reports the current type of the multiplication addition subtraction and division symbols.
✅ 🧪 Tests multiplication using a protected call with the values 3 and 7.
✅ 🔌 Tests whether vlax-get-acad-object can be called without a trapped COM error.
✅ 🧠 Checks whether vl-load-com exists in the AutoLISP atom table.
✅ 🖥️ Prints the complete diagnostic report directly to the AutoCAD command line.LayerFilterFreezeThaw
✅ Select a predefined layer filter from a DCL popup.
✅ Apply Freeze, Thaw, On, Off, Lock, or Unlock.
✅ Invert the selected filter to process all layers except the chosen group.
✅ Use quick commands for Kable freeze, thaw, on, off, and inverted variants.
✅ Verify whether the expected Kable layer list exists in the drawing.
✅ Print action-by-action feedback and final changed/skipped counts.
✅ Regenerate the drawing after successful layer state changes.
UnReloadDetachSelectedXrefs_00
Functionalities:- Filter by Name: Wildcard filter using
*and?patterns. - Filter by Type: Dropdown list populated from Xref types present in the drawing (All / Attached / Overlay).
- Filter by Units: Dropdown list populated from units present in the drawing (All / mm / m / ft / …).
- Filter by Layer: Wildcard filter using
*and?patterns. - Selection control: Select All / Select None, selection counter, and multi-select list behavior used as “checkboxes.”
- Save List: Writes header HOSTINSUNITS and HOSTUCSNAME, then per selected xref writes Name|Type|FoundAt|UnitsCode|Layer.
- Load List (per xref): UCS reset to World → set drawing INSUNITS to the xref UnitsCode → attach if missing (Found At + Type) → reload → force inserts to saved Layer.
- Load List (final restore): Restores original drawing INSUNITS and UCS; keeps named UCS if present, otherwise uses a temporary UCS name for safe restore.
- Apply to Selected (Operation): Unload / Reload / Detach on selected xrefs only.
- Apply to Selected (Attachment): Attach / Overlay type conversion on selected xrefs only.
- ALL operations: Unload ALL / Reload ALL / Detach ALL / Attach ALL / Overlay ALL for all xrefs, executed with UCS+view preservation to prevent user context changes.
- Zoom2Xref: Zooms to the selected xref extents without requiring manual selection in the External References palette.
- Filter by Name: Wildcard filter using

SetPlotDeviceNames_00
- • Target device selection — sets desired device string to DWG To PDF.pc3.
- • Enumerate layouts — iterates all layouts in the active drawing using vlax-for over the Layouts collection.
- • Refresh device info — calls vla-RefreshPlotDeviceInfo to ensure device list is current.
- • Case-insensitive validation — uppercases both the target device and the returned device list for reliable matching.
- • Assign plot config — if present, sets ConfigName for the layout to the target device.
- • Per-layout warning — if missing, prints Plot device ‘DWG To PDF.pc3’ not available for layout: <layout name>.
ConvertPolylineAndText2Mleader
[‘🚀 Runs from the AutoCAD command line with P2L.’, ‘📐 Selects supported polyline objects using ssget with the *POLYLINE filter.’, ‘🔄 Converts each selected polyline path into an AutoCAD LEADER sequence.’, ‘🧩 Reads polyline vertices using vlax-curve-getEndParam and vlax-curve-getPointAtParam.’, ‘🟢 Handles closed polylines by avoiding the duplicated closing vertex during leader creation.’, ‘🎨 Applies MATCHPROP so the generated leader inherits visual properties from the original polyline.’, ‘🧹 Deletes the source polyline after a successful leader conversion to keep the drawing clean.’, ‘📌 Processes multiple selected polylines in one run.’, ‘🔒 Uses a locked-selection mode in ssget to avoid editing locked objects.’]
CopyPaste2BasePoint
📋 Copy selected objects using AutoCAD COPYBASE with base point 0,0,0.
📌 Paste clipboard geometry using AutoCAD PASTECLIP at insertion point 0,0,0.
🧭 Supports origin-based CAD transfer workflows between drawings.
🔒 Temporarily disables OSMODE to prevent object snap interference during copy and paste operations.
🧊 Temporarily disables 3DOSMODE when the variable exists, improving reliability in 3D snap environments.
🏗️ Handles AECBOSMODE when available, making the routine more compatible with AutoCAD MEP and AEC-based installations.
🔇 Temporarily suppresses CMDECHO for a cleaner command-line workflow.
↩️ Wraps operations in AutoCAD undo marks using ActiveX document methods.
✅ Restores previous drafting settings after the command completes.
RotateUcs_vs.01
- 🚀 Open a modeless UCS manager —
ROTATEUCSandRUCSopen a floating WinForms palette for UCS rotation and named UCS management. - ⚡ Run quick no-dialog UCS rotation —
RU1rotates the UCS by a typed angle and immediately saves, restores, and aligns the view. - 📐 Run quick entity-based UCS rotation —
RUEextracts an entity angle, rotates the UCS, saves the UCS, restores it, and applies PLAN current behavior. - 🔢 Rotate UCS by typed angle — the palette applies a typed angle using AutoCAD managed matrix operations instead of command-line UCS calls.
- 📌 Use common angle presets — preset buttons quickly set common UCS rotation angles such as 0, 30, 45, 60, and 90 degrees.
- 📐 Pick angle from drawing —
Editor.GetAngleallows interactive angle selection, with an absolute-bearing correction when relative mode is off. - 🧩 Pick supported entity angle — the plugin extracts angles from lines, polylines, arcs, xlines, rays, and splines.
- 🔄 Rotate relative to current UCS — the user can choose whether the rotation is applied from WCS or relative to the current UCS.
- 💾 Save named UCS records — the current UCS can be saved into the AutoCAD UCS table through
UcsTableRecord. - 🏷️ Auto-generate UCS names — the plugin creates names such as
UCS_001 [45.00]using the next available sequence number. - 📚 Browse existing UCS records — the palette lists WCS and drawing-defined UCS records.
- 🔍 Filter UCS names with wildcards — users can filter the UCS list with
*and?. - 📊 Sort UCS records — the list can be sorted A-Z, Z-A, by length, or with the current UCS first.
- 🔎 Restore by double-click — double-clicking a list item restores the selected UCS and aligns the view.
- 📝 Show UCS properties — the palette displays origin, X-axis, and Y-axis values for the selected UCS.
- 🎯 Highlight selected UCS in the viewport — a transient X and Y axis marker is drawn for the selected UCS row.
- 📘 Preview UCS rotation live — the custom preview panel shows the rotated UCS axes while the angle changes.
- ✏️ Rename selected UCS — one selected named UCS can be renamed from the palette.
- 🧹 Delete selected UCS records — selected named UCS records can be deleted while WCS is protected.
- 📤 Export UCS definitions to CSV — names, origins, and axis vectors can be exported for backup or transfer.
- 📥 Import UCS definitions from CSV — saved UCS definitions can be recreated or overwritten from CSV data.
- 🪟 Copy UCS to paper-space viewport — a selected UCS can be applied to a selected layout viewport using per-viewport UCS settings.
- 📋 View and save logs — the detached log window records session messages and supports manual log saving.
- 💾 Remember user settings — angle, name, filter, relative mode, auto-save state, sort mode, and dialog location persist between sessions.
- 🔴 Important limitation — this plugin manages AutoCAD UCS records and viewport UCS behavior only. It does not directly edit Civil 3D objects such as
ProfileView,SectionView,Alignment, surfaces, labels, bands, corridors, or pipe networks. - 🔴 CSV limitation — CSV import uses simple comma splitting and should be tested carefully with unusual UCS names or complex CSV values.
- 🔴 Build path limitation — the project imports a machine-specific ObjectARX reference props file and may require reference path edits on another workstation.
- 🔐 Platform limitation — this is a Windows AutoCAD and Civil 3D .NET plugin, not an AutoLISP-only workflow.
- 🚀 Open a modeless UCS manager —

UnReloadDetachSelectedXrefs_vs.02
- 🚀 Open XRNET xref manager – run
XRNETto open a modeless xref control panel inside AutoCAD or Civil 3D. - 🔍 Scan active DWG references – lists DWG xrefs and raster images with name, type, status, units, layer, and resolved path.
- 🔄 Reload selected references – refreshes selected xrefs and raster images so the drawing uses updated external files.
- 🟧 Unload selected references – unloads xrefs or hides raster images while keeping the reference structure available.
- 🔴 Detach selected references – removes unwanted DWG xrefs or raster images from the active drawing.
- 📌 Attach missing list entries – applies saved xref list entries and attaches missing DWG files at origin.
- 🧩 Convert xref type – changes references between
OverlayandAttachedwhere the code can preserve placement. - 🧹 Set organized xref layers – moves references onto clean layers such as generated
xref_namelayers. - 📊 Load and save xref lists – reads and writes TXT reference lists for repeatable project workflows.
- 📤 Export CSV reports – exports selected xref splitter rows for review, documentation, or coordination.
- 🧠 Fix and validate paths – detects missing paths, blank paths, and path problems, then supports folder-based repair workflows.
- 📐 Preview selected references – displays selected DWG geometry or raster-related preview data before applying changes.
- 🔢 Zoom, pan, fit, grid, and UCS options – improves visual inspection with practical CAD-style preview controls.
- 📝 Edit xref splitter rows – adds, deletes, reorders, validates, edits, and applies xref list entries.
- 🏷️ Generate layers and abbreviations – creates practical layer names and short names for organized xref split lists.
- 📘 Manage predefined folders – stores project folder shortcuts for faster file selection and relative path workflows.
- 🔒 Use dry-run mode – checks apply actions before modifying the active drawing.
- 🧰 Save logs and diagnostics – exports operation logs and diagnostic information for troubleshooting.
- 🎨 Use reliable WinForms icons – displays generated bitmap button icons instead of unsupported color emoji text rendering.
- 🚀 Open XRNET xref manager – run

UnReloadDetachSelectedXrefs_01
Functionalities- Filter xrefs by Name wildcard, Type, Units, and Layer wildcard, then work only on the visible subset.
- Select All and Select None for the currently filtered list, with a live selected counter.
- Zoom2Xref zooms to the Model Space extents of the first selected xref insert set.
- Operations on selected using the Operation radio group and Apply to Selected: Unload, Reload, Detach.
- Operations on all using dedicated buttons: Unload ALL, Reload ALL, Detach ALL.
- Attachment type conversion using the Attachment radio group and Apply to Selected: Attach or Overlay.
- Attachment conversion on all using dedicated buttons: Attach ALL, Overlay ALL.
- Save List writes a text file containing only the selected xrefs with their key properties (Name, Type, Found At, UnitsCode, Layer) plus host metadata (INSUNITS and UCSNAME).
- Load List reads a saved list, attaches missing xrefs from Found At paths, enforces stored units during attach, reloads them, and restores host settings after completion.
- Predefined folders allow Save List and Load List dialogs to open directly in the selected project folder: None, Project_01, Project_02, Project_03, Project_04, Project_05.

SetPublishLocation_01
Functionalities- Apply Device sets the plot device for targeted layouts and refreshes plot device info.
- Apply PageSetup copies a selected page setup into targeted layouts, or clears it when none is chosen.
- Apply Paper sets the canonical media name based on the selected device and selected paper display name.
- Lock locks all applicable paper-space viewports for targeted layouts.
- Unlock unlocks all applicable paper-space viewports for targeted layouts.
- AnnON turns ANNOALLVISIBLE on for targeted paper-space layouts.
- AnnOFF turns ANNOALLVISIBLE off for targeted paper-space layouts.
- Zoom Extents zooms extents inside each viewport for targeted layouts and marks those layouts to display ZExt in the Zoom column.
- Zoom Window prompts for two corners inside a viewport on the first targeted layout, then applies the same window zoom across targeted layouts without marking ZExt.

DuplicateLayouts_01
Functionalities- Queue layouts for duplication
- Select an available layout and set Number of copies.
- Press Set Count to add or update the queued entry in the summary list.
- Displays queued items as layout : count for review before applying.
- Batch duplicate layouts
- Apply duplicates all queued layouts and keeps the dialog open for additional changes.
- OK duplicates all queued layouts then exits, and exits silently if nothing is queued.
- Each duplicate is created with a unique name BaseName_### to prevent naming conflicts.
- Delete behavior
- If a summary row is selected, Delete removes that queued entry only and does not change the drawing.
- If no summary row is selected and an available layout is selected, Delete deletes that layout tab from the drawing and switches CTAB to Model first if the tab was active.
- Deletion blocks invalid targets such as Model and missing layouts with clear alerts.
- Undo within the session
- Undo runs a single step undo using UNDO 1 for the last duplication batch or delete operation executed in this dialog session.
- The tool enables the Undo button only after at least one operation was performed during the session.
- UI rules
- Apply is disabled until at least one layout is queued with Set Count.
- OK remains enabled always, and will only duplicate when there are queued items.
- Queue layouts for duplication

CreatesXrefsLayersAssign_01
Dialog Controls and Actions- Filter by Name Filters the Matching Layers dropdown (non-Xref layers only).
- Assign Layer to all Xrefs Moves all XREF inserts in the drawing to the selected Matching Layer and sets it current.
- Layer Prefix Controls how Target Layer names are generated (Prefix + XrefName).
- Rebuild Re-scans XREFs and refreshes all lists and the layer filter results.
- Xref List shows detected XREF names and supports multi-select.
- Current Layer List shows where each XREF insert currently resides: single layer name, <varies>, or <none>.
- Target Layer List previews the computed target layer per XREF using the current prefix.
- Select All Selects every XREF row in all three columns.
- ZoomXref Zooms to the first selected XREF inserts extents in Model Space without closing the dialog.
- Select None Clears selection in all three columns.
- Create Layers Creates missing per-XREF target layers (color 7) for the selected XREFs (or all if none selected).
- Assign Inserts Moves selected XREF inserts onto their computed target layers (Prefix + XrefName) with locked-layer safety.
- Create + Assign Runs Create Layers then Assign Inserts in one step for the selected XREFs (or all if none selected).
- OK Closes the dialog only.
- Close Closes the dialog only.

Slope_01
Key functionalities of slope_p: • Dual input modes: 2-point mode or entity-selection mode, switchable in the dialog. • Flexible slope formats: Percentage, per-mille, H:V ratio (x.xx:1), or V:H ratio (1:x.xx). • Optional angle label: Can show angle in Degrees, DMS, Grads, or Radians; may be combined on a second line under the slope. • Prefix / Suffix control: Independent prefix/suffix strings for slope and angle text (e.g., “S=” or “α=” etc.). • Scaling & offset: User-set text height, horizontal/vertical scale factors (to respect vertical exaggeration), and above/below toggle for label offset from the line. • Drawing units integration: Dialog can read and set LUNITS, AUNITS, LIGHTINGUNITS, and their precisions for consistent numeric formatting. • Segment-wise labeling: For polylines, every segment is processed individually with its own midpoint and orientation. • Robust checks: Skips zero-length segments, handles vertical slopes (INF) and guards against invalid numeric inputs.Slope_00
• Slope formatting options — Percent, integer ratios, or decimal ratios • Scale-aware slope calculation — Applies H/V multipliers before evaluating run & rise • Negative slope detection — Prepends “-” when dy indicates descending elevation • Robust ratio reduction — Converts values like 200:100 into 2:1 cleanly • Special case protections — Vertical/horizontal slopes produce INF-safe labels • Controlled text placement — Aligns TEXT with segment and offsets above/below automatically • System variable safety — Temporarily sets and restores OSMODE and LUPREC • Dialog-driven settings — Radio buttons ensure mutually exclusive format choicesCloseParalelPolylines
• Entity filtering Skips unsupported types and informs the user • Count enforcement Ensures exactly two valid entities; warns if fewer or more • Automatic opening of polylines Closed LWPOLYLINE is forced open with a status message • Endpoint connection Creates LINE from start-to-start and end-to-end via ENTMAKEX • Automatic joining Uses PEDIT multiple and join to merge all entities into one polyline • Failure handling Gracefully aborts with a message if selection invalid or empty
DuplicateLayouts_00
- • Runtime DCL generation creates and deletes a temporary dialog file automatically.
- • Layout list shows available paper-space layouts and excludes Model from duplication choices.
- • Per-layout copy counts lets the user assign different copy quantities per selected layout using the Set Count workflow.
- • Summary management displays the configured list of layouts and counts and allows removal via Delete prior to running copies.
- • Automated naming generates new layout names by appending a two-digit sequence suffix to the source layout name.
- • Command-based duplication performs duplication using ._layout _copy for each requested copy instance.

DB_Planung_Gelände
• Two main modes: Supports separate Planum and Gelaende workflows that share the same configuration dialog but use different layers, styles, and offsets for drawn labels. • Persistent configuration: Saves and reloads mode, reference level, scale, offsets, layers, styles, and edit flags so that each drawing remembers its last annotation settings automatically. • Interactive geometry picking: Asks the user to pick the intersection between center line and band, then finds cartridge and profile reference lines and repeatedly prompts for quotation points along the profile to place labels. • Automatic layer creation: Ensures all required Planum and Gelaende layers exist before drawing, and temporarily uses auxiliary layers for highlighting while restoring their colors after finishing. • Leader and label generation: For each picked quotation point it creates a vertical leader line from the point to the band, and places one distance text and one elevation text at configurable offsets below the band on their dedicated layers and styles. • Scale aware values: Converts drawing distances to real world distances using the configured drawing scale, and adds the reference elevation to the vertical difference to compute absolute heights. • Style enable options: Allows disabling or enabling layer and style dropdowns for Planum and Gelaende groups, which can lock them to configuration values or let the user freely choose from layer and style lists. • Context sensitive help: Multiple Help buttons open image files or a sample DWG showing what each parameter, layer, style, or mode represents, assisting the user in configuring complex settings. • Undo friendly: When undo is enabled, wraps the geometry operations into an undo group so the created labels and temporary changes can be reverted in a single step if needed.
CubeDisplay_Off_On
Main Functionalities: • Turns off and re-enables the Navigation Cube display automatically. • Uses vla-sendcommand instead of manual user input, allowing programmatic control from scripts or macros. • Provides a quick way to refresh the ViewCube when it becomes unresponsive or missing. • Compatible with AutoCAD 2010+ versions supporting NAVVCUBEDISPLAY command.
