Function Syntax: DynamicBlockFilter Version: 1 Date: July 13, 2008, 02:01:26 PM Version: 1.1 Date: 21.06.2026 9:06:20PM https://www.theswamp.org/index.php?topic=23944.0 short_description: | SEO Description 🚀 DynamicBlockFilter is an AutoCAD and Civil 3D AutoLISP utility for filtering dynamic block references by property values. It helps CAD users isolate matching dynamic blocks, audit DWG content, clean drawings, and reduce manual selection time. The main benefit is faster dynamic block selection and more reliable AutoCAD Civil 3D production drawing management. command: | Main Command and Loading Method 🧰 Load the routine with APPLOAD or load DynamicBlockFilter.lsp from the startup suite. ▶️ Run DynamicBlockFilter at the command line to start the DCL-based dynamic block filter. ⌨️ The function (DynamicBlockFilter) can also be used at a Select objects prompt inside another command. 🎯 The target platform is AutoCAD and Civil 3D with Visual LISP COM and ActiveX support. description: | Detailed Description 📘 The program asks the user to select a source dynamic block reference in the drawing. 🔍 It verifies that the selected object is an AcDbBlockReference and that it is a dynamic block. 🧠 It reads the effective dynamic block name and extracts the dynamic block properties from the selected reference. 📊 A temporary DCL dialog is generated from the detected properties, so the available filters match the selected block. 🏷️ Properties with allowed values become popup lists, while free values become edit boxes with optional fuzz tolerance. 📌 The user chooses whether to search all drawing block references or only a selected subset. 🟢 Matching dynamic block references are returned as an AutoCAD selection set and highlighted in the drawing. 🟧 The tool does not change Civil 3D alignments, profiles, sections, labels, or styles. It is focused on dynamic block filtering and DWG selection automation. helper_function: | Helper Logic 🚀 Command wrapper - c:DynamicBlockFilter applies the returned selection with sssetfirst. 🧠 Reusable function - DynamicBlockFilter returns a real AutoCAD selection set that can be used inside other routines. 🔍 Dynamic block validation - vla-get-ObjectName and vla-get-IsDynamicBlock confirm the selected source object. 🧩 Effective name matching - vla-get-EffectiveName supports dynamic anonymous block references. 📊 DCL dialog builder - DynBlkPropValue writes and loads a temporary DCL interface. 🏷️ Allowed values - dynamic property AllowedValues become popup filters with an asterisk match-all option. 📐 Fuzz tolerance - numeric values are compared with equal and a user-entered tolerance. 🧮 Unit conversion - ToString, angtos, rtos, angtof, and distof help compare angle and distance values. 🔒 System variable restoration - DIMZIN is restored after execution or error handling. functionalities: | Functionalities 🔍 Select matching dynamic blocks - finds block references with the same effective name and chosen dynamic property values. 🧩 Filter by visibility, lookup, distance, angle, flip, stretch, and custom dynamic block parameters. 📊 DCL-based property selection - creates a compact dialog from the selected block properties. ⭐ Match all option - empty values and asterisk values allow broad filtering. 📐 Fuzz tolerance - improves matching for numeric dynamic properties and floating-point values. 🟢 Whole drawing mode - searches all matching block references in the active DWG. 🟧 Selection mode - limits filtering to user-selected objects when required. 🧰 Command chaining - the function can be called during another AutoCAD selection prompt. 📌 Highlight result set - matched block references become the active AutoCAD selection. 🧹 Drawing cleanup support - useful for block audits, CAD standards checks, and AutoCAD Civil 3D DWG management. result: | Final Result ✅ The final result is a fast, property-aware dynamic block selection workflow for AutoCAD and Civil 3D. Users can isolate the exact block variants they need, reduce repetitive manual selection, improve DWG cleanup, and speed up production editing. additional_info: | Additional Information and Limitations 🔴 Important limitation - the source object must be a dynamic block reference. 🟧 The routine only creates a selection set and does not modify block geometry by itself. 📌 Anonymous dynamic block references are handled through effective name matching. 🧠 Numeric filtering depends on the selected fuzz tolerance. 🔐 The temporary DCL file is created, loaded, unloaded, and deleted during the command.