-
-
Notifications
You must be signed in to change notification settings - Fork 177
Description
ACadSharp MULTILEADER Gaps
-
DXF reader now captures MULTILEADER line/dogleg breaks in context data:
LeaderLine.StartEndPoints+LeaderLine.SegmentIndexLeaderRoot.BreakStartEndPointsPairs
-
Renderer avoids orphan doglegs when no visible leader line was produced for a root.
-
Test coverage expanded for MULTILEADER corner cases (dogleg disabled endpoint, invisible line behavior, dogleg breaks, multiple roots, direction fallback, custom arrow block, DXF break parsing path).
-
Render-plane fields from context data are not applied:
BasePoint,BaseDirection,BaseVertical,NormalReversed- Current behavior assumes WCS-only geometry.
-
Connection semantics are simplified:
LandingGapis not used to reposition content.- Block/text connection-to-extents logic is not implemented (mostly trusts parsed content locations).
-
MTEXT extras from context data are not mapped in rendering:
- text background fill/mask settings
- text columns and related layout flags
-
Annotative context selection is not implemented (render path uses
MultiLeader.ContextDatadirectly). -
Break representation in ACadSharp model is limited:
LeaderLinehas oneSegmentIndexfor all break pairs, so breaks on multiple segments of the same line cannot be represented faithfully.
-
Cross-CAD parity for connection types is incomplete:
- per-side behavior (left/right/top/bottom variants, underline/overline modes) is not modeled as a first-class render strategy.
-
Color handling needs oracle validation for all raw-color edge cases (
ByBlock,ByLayer, true-color variants in MULTILEADER-specific fields).
Open gaps (validation and quality)
- Need more oracle tests with real files (AutoCAD/TrueView/BricsCAD baselines):
- mixed MTEXT/BLOCK content variants
- multi-root + multi-line + mixed break patterns
- vertical-attachment cases
- non-default context plane orientation
- Need explicit regression fixtures for DXF vs DWG parity around breaks and style overrides.
Suggested next implementation order
- Apply context render-plane transformation (
BasePoint/BaseDirection/BaseVertical/NormalReversed) in scene-graph MULTILEADER path. - Implement
LandingGap+ connection-to-content semantics for text/block anchors. - Add MTEXT background/column mapping for MLEADER content.
- Extend model or parser strategy for multi-segment break encoding in one leader line.
- Add oracle-based integration fixtures for parity verification.