Function Syntax: DELETEBLOCKCROSSINGS / DBC / ABBS Version: 1.0 Date: 30.06.2026 17:58:39 Version: 1.1 Date: 30.06.2026 8:35:39PM N/A short_description: 🚀 DeleteBlockCrossings is an AutoCAD and Civil 3D 2024 .NET plugin for detecting and trimming curves that cross selected block references. It replaces the older ABBS workflow with a modeless C# interface, crossing diagnostics, preview feedback, apply control, undo support, and exportable logs. The main benefit is faster DWG cleanup, safer block crossing control, better CAD quality review, and fewer manual trim operations. command: 🧰 Load the plugin with NETLOAD by selecting the compiled DeleteBlockCrossings_yyyyMMdd_HHmmss.dll or the active build output DLL. 🚀 Main commands: DELETEBLOCKCROSSINGS, DBC, and ABBS compatibility alias. 📌 The command can use pickfirst block selection or prompt the user to select block references with an INSERT selection filter. 🧩 Target platform: AutoCAD and Civil 3D 2024 x64, C# .NET Framework 4.8, ObjectARX managed API, and WinForms. description: 📘 The user selects one or more block references and runs DELETEBLOCKCROSSINGS, DBC, or ABBS. 🔍 The plugin reads the selected block references, resolves effective dynamic block names, builds block frames, and scans the same owner drawing space. 📐 It detects lines, arcs, polylines, splines, and other curve geometry that crosses, touches, projects through, or overlaps the selected block frames. 🧠 Rows are classified as CROSSING, TOUCHING, CROSSING - CHECK, PROJECTED, EXTENTS TOUCH, or INTERFERING BLOCK. ✅ Only safe CROSSING rows with a reliable two-point break pair are enabled for automatic trimming. 🔴 Warning-only rows remain visible for quality control but are not automatically trimmed. 📝 The modeless interface provides selected block groups, crossing candidate rows, preview, viewport highlight, command log, apply, undo apply, copy log, and save log. helper_function: 🚀 Command registration system - Plugin.cs registers DELETEBLOCKCROSSINGS, DBC, and ABBS as AutoCAD CommandMethod commands. 🧩 Command runner - DeleteBlockCrossingsCommandRunner.Run() collects pickfirst or prompted block selection, clears implied selection, loads settings, and opens the modeless form. 🔍 Block candidate collector - DbcScanner.CollectBlocks() reads BlockReference objects, handles, layers, owner spaces, and calculated block frames. 📐 Crossing scanner - DbcScanner.ScanCrossings() searches the block owner space for curve crossings, touches, projected hits, extents overlaps, and interfering blocks. 🧠 Geometry diagnostics - GeometryUtil.Intersections(), PolylineSamplesTouchOrEnterPolygon(), and ApproximateSamplePolygonIntersections() improve curve detection. 📊 Status classification - the grid separates CROSSING trim rows from TOUCHING, CROSSING - CHECK, PROJECTED, EXTENTS TOUCH, and INTERFERING BLOCK diagnostics. âœ‚ī¸ Trim engine - DbcTrimmer.TrimChecked() uses Curve.GetSplitCurves() to keep outside pieces and erase the original crossing curve. â†Šī¸ Undo apply system - TrimApplyRecord and UndoApply() restore original cloned entities and erase generated curve pieces from the last apply operation. 🎨 Preview and highlight - PreviewSampler.Sample() and the preview panel show candidate geometry and block frame context for visual checking. 🔐 Settings and diagnostics - DbcSettings saves form and block settings, while DbcLogger saves versioned diagnostic reports. functionalities: 🚀 Open DeleteBlockCrossings - runs a modeless AutoCAD Civil 3D block crossing cleanup panel. 📌 Select block references - uses pickfirst or INSERT-filtered selection to define cleanup zones. đŸ”ĸ Group selected blocks by name - shows block names, counts, handles, and process toggles. 🔍 Scan crossing and touching entities - detects curves, block interference, extents overlap, and projected crossing diagnostics. 📐 Trim safe crossings - removes the curve portion located inside the selected block frame. 🟧 Review warning-only candidates - keeps diagnostic rows visible for QA without unsafe automatic trimming. 🎨 Preview selected candidate - shows sampled geometry and block frame context in the preview panel. 🔍 Highlight in viewport - helps identify the active candidate in the AutoCAD drawing. 🔄 Rescan candidates - updates crossing rows after changing selected block process toggles. ✅ Check all and none controls - quickly controls trim-capable rows before applying changes. â†Šī¸ Undo last apply - restores original entities after the last trimming operation. 📝 Copy and save logs - exports handles, statuses, intersection points, and command diagnostics. 🔒 Persist settings - saves form bounds and block-name process states in DeleteBlockCrossings.cfg. result: ✅ The final result is a practical AutoCAD and Civil 3D cleanup plugin that identifies and removes unwanted curve segments passing through selected blocks. It reduces manual trimming, improves DWG quality control, documents crossing diagnostics, supports visual review, and keeps a reversible apply workflow for safer production drawings. additional_info: 🔴 Important limitation: only CROSSING rows with reliable break pairs are automatically trim-capable. 🟧 TOUCHING, CROSSING - CHECK, PROJECTED, EXTENTS TOUCH, and INTERFERING BLOCK rows are diagnostic rows only. 🔴 Applying checked rows modifies the AutoCAD database by replacing original crossing curves with outside pieces. 📌 Settings and logs are stored in %APPDATA%\DeleteBlockCrossings. 🧰 Build requirement: C# .NET Framework 4.8, x64, AutoCAD Civil 3D 2024 managed references, and ObjectARX props configuration.