Paper deep dive
Structural Plan-to-Model Conversion with Deterministic Geometry and Guarded Agentic Vision-Language Refinement
Mohammad Talebi-Kalaleh, Qipei Mei
Intelligence
Status: succeeded | Model: Gemma-4-26B-A4B | Prompt: intel-v1 | Confidence: 94%
Last extracted: 8/19/2026, 4:29:26 AM
Summary
This paper introduces a framework for converting structural framing plans (PDFs) into editable finite-element model drafts. The system combines a deterministic geometry layer for primitive extraction, scale resolution, and entity recognition with a guarded agentic vision-language layer for semantic refinement and correction. The approach avoids task-specific neural detector training, relying instead on explicit rules and vision-language model proposals constrained by admission tests. Evaluation on a 100-drawing benchmark showed high precision and recall for structural elements like columns, beams, walls, braces, and openings.
Entities (10)
Relation Signals (5)
PD-50 Benchmark → evaluates → Structural Plan-to-Model Conversion
confidence 95% · Evaluation used an author-generated benchmark of 100 plans... All reported scores are end-to-end results...
Deterministic Geometry Layer → extracts → Primitives
confidence 95% · A deterministic stage extracts primitives, estimates scale by dimension-ratio consensus...
Deterministic Geometry Layer → recognizes → Structural Elements
confidence 95% · recognizes five entity classes with a drafting grammar... columns, beams, walls, braces, and openings
Agentic Vision-Language Layer → proposes → Corrections
confidence 90% · The agentic stage proposes typed corrections constrained by deterministic candidates...
Agentic Vision-Language Layer → refines → Structural Plan-to-Model Conversion
confidence 90% · The agentic stage proposes typed corrections constrained by deterministic candidates... Guarded review corrected missed framing and false marks...
Cypher Suggestions (0)
No Cypher suggestions yet.
Abstract
Abstract:Converting structural framing plans into editable finite-element model drafts remains labor-intensive and prone to transcription error. Existing drawing-understanding systems for building components rely on task-specific trained neural detectors, and language-model agents in structural engineering operate on text or model data rather than the drawing itself. This paper presents, to the authors' knowledge, the first framework applying an agentic vision-language layer to structural component detection and model drafting from framing-plan PDFs, without task-specific detector training or fine-tuning. A deterministic stage extracts primitives, estimates scale by dimension-ratio consensus, recognizes five entity classes with a drafting grammar, and assembles an editable layout. The agentic stage proposes typed corrections constrained by deterministic candidates, operation-specific admission tests, change-level review, and fail-closed transactions. Evaluation used an author-generated benchmark of 100 plans: a development half that informed every rule revision, and a seed-disjoint held-out half generated after the rules froze, evaluated once. All reported scores are end-to-end results of the complete framework on the held-out half. Scale was estimated within 0.1% of the generator reference for every drawing. Recall and precision were 0.922/0.997 for columns, 0.886/0.990 for beams, 1.000/1.000 for walls, 1.000/1.000 for braces, and 1.000/0.964 for openings. A controlled study repeated two corruptions three times on three development drawings. Calibration passed all nine trials; member repair met every strict end-state predicate in five of nine. Guarded review corrected missed framing and false marks within explicit bounds. The held-out half shares the development generator, so the study excludes independently drafted plans, raster evaluation, analytical connectivity, and solver validation.
Tags
Links
- Source: https://arxiv.org/abs/2608.17237v1
- Canonical: https://arxiv.org/abs/2608.17237v1
Trouble viewing inline? Open PDF directly →
Full Text
123,542 characters extracted from source content.
Expand or collapse full text
Structural Plan-to-Model Conversion with Deterministic Geometry and Guarded Agentic Vision-Language Refinement Mohammad Talebi-Kalaleh Affiliation: Department of Civil and Environmental Engineering Affiliation: University of Alberta Affiliation: 9211 116 Street NW, Edmonton, Alberta T6G 1H9, Canada Email: talebika@ualberta.ca Qipei Mei Affiliation: Department of Civil and Environmental Engineering Affiliation: University of Alberta Affiliation: 9211 116 Street NW, Edmonton, Alberta T6G 1H9, Canada Email: qipei.mei@ualberta.ca Abstract Converting structural framing plans into editable finite-element model drafts remains labor-intensive and prone to transcription error. Existing drawing-understanding systems for building components rely on task-specific trained neural detectors, and language-model agents in structural engineering operate on text or model data rather than the drawing itself. This paper presents, to the authors’ knowledge, the first framework applying an agentic vision-language layer to structural component detection and model drafting from framing-plan PDFs, without task-specific detector training or fine-tuning. A deterministic stage extracts primitives, estimates scale by dimension-ratio consensus, recognizes five entity classes with a drafting grammar, and assembles an editable layout. The agentic stage proposes typed corrections constrained by deterministic candidates, operation-specific admission tests, change-level review, and fail-closed transactions. Evaluation used an author-generated benchmark of 100 plans: a development half that informed every rule revision, and a seed-disjoint held-out half generated after the rules froze, evaluated once. All reported scores are end-to-end results of the complete framework on the held-out half. Scale was estimated within 0.1% of the generator reference for every drawing. Recall and precision were 0.922/0.997 for columns, 0.886/0.990 for beams, 1.000/1.000 for walls, 1.000/1.000 for braces, and 1.000/0.964 for openings. A controlled study repeated two corruptions three times on three development drawings. Calibration passed all nine trials; member repair met every strict end-state predicate in five of nine. Guarded review corrected missed framing and false marks within explicit bounds. The held-out half shares the development generator, so the study excludes independently drafted plans, raster evaluation, analytical connectivity, and solver validation. Keywords Structural drawings ⋅· Plan-to-model conversion ⋅· Finite-element modeling ⋅· Computer-aided design ⋅· Vision-language models ⋅· Agentic artificial intelligence ⋅· Rule-based detection 1 Introduction Structural engineers communicate through drawings. A framing plan encodes the column grid, member layout, section designations, wall and brace locations, and slab boundaries for one floor of a building [1, 2]. When an engineer needs a finite-element model of that building, whether for a retrofit study, peer review, or progressive-collapse check, the plan must be translated into nodes, elements, sections, and supports. In current practice, this translation is performed manually: coordinates are read from dimension strings, members are redrawn in analysis software, and section labels are re-entered. Gimenez et al. 2015 characterized manual three-dimensional model creation from drawings as complex and time-consuming and found no complete automatic reconstruction pipeline. Even when a building information model exists, deriving a geometrically faithful analysis model from it requires dedicated tooling [4]. Two research communities have approached the drawing-understanding problem from opposite directions. Document-analysis research has moved from rule-based interpretation of architectural drawings [5, 6, 7] to deep networks that parse raster floor plans [8, 9, 10] and, more recently, to graph and transformer models that operate directly on CAD vector primitives [11, 12, 13, 14, 15]. These methods target architectural semantics, such as rooms, doors, and furniture symbols, and report scores in image or primitive space. Structural-model reconstruction imposes additional requirements: member endpoints must be reconciled into a connected topology, and a misread scale corrupts every coordinate in the drawing. In parallel, the language-model community has produced agents that reason, call tools, and criticize their own output [16, 17, 18, 19], and these agents have begun to automate structural engineering workflows from textual descriptions [20, 21, 22]. A recent review of 134 studies identifies model generation and design checking as major areas of artificial-intelligence (AI)-enabled structural design automation [23]. Despite this broader progress, vision-language models remain unreliable on low-level visual reasoning relevant to plan review, including counting and spatial relationships. On seven synthetic tasks, four vision-language models averaged 58.07% accuracy [24], and ungrounded generation is subject to hallucination [25]. This paper examines a division of labor that places deterministic geometry before vision-language interpretation. The deterministic layer handles quantities with explicit definitions, including primitive extraction, scale consensus, symbol signatures, bearing topology, and region analysis. The refinement layer addresses semantic questions, such as whether unexplained ink is a missed girder or a title-block underline, through typed operations. Constructive edits must satisfy paper-space ink or glyph tests, whereas deletions, moves, attribute changes, and calibration retain operation-specific guards and vision-model review rather than a general geometric proof. This allocation limits the classes of decisions delegated to the vision-language model without implying that every accepted semantic decision is correct. The framework uses no task-specific learned detector or fine-tuning; extending its supported notation requires an explicit rule and a new validation cycle rather than model retraining. Section 6 therefore treats published learned systems as related methods, not as commensurate baselines. This study makes three main contributions. First, it defines a deterministic conversion pipeline from PDF primitives to an editable floor layout and a three-dimensional finite-element model draft. The pipeline includes explicit scale resolution, a structural drafting grammar, and topology-based model assembly. Second, it introduces, to the authors’ knowledge, the first agentic vision-language architecture for building-component detection and structural model drafting from drawings: prior drawing-understanding systems train task-specific neural detectors [1, 13, 26], and prior language-model agents in structural engineering act on textual briefs, scripts, or model data rather than the drawing image [20, 21, 22]. In the proposed architecture the vision-language model can propose only typed operations, bounded by deterministic candidate generators, operation-specific admission tests, change-level judging, and fail-closed handling of entity edits. The two layers are designed and evaluated as one system: deterministic geometry supplies measurable coordinates, and the agentic layer supplies the semantic reading of designations, materials, and calibration that geometry alone cannot provide. Third, it introduces a 100-drawing benchmark with exact generator ground truth, split evenly into the PD-50 development half, which informed rule and threshold revision, and the seed-disjoint PD-50-T held-out half, which was generated after the detection rules were frozen and evaluated once. Every reported detection recall and precision value comes from the held-out half and describes the complete framework end to end. The evaluation reports disaggregated end-to-end results and repeated controlled corruption trials for the guarded refinement layer. The remainder of the paper is organized as follows. Section 2 positions the study within drawing analysis, drawing-to-model reconstruction, and agentic structural engineering. Section 3 explains the division of responsibilities and presents the overall framework. Sections 3.3 and 3.4 specify the deterministic and agentic layers, respectively. Section 4 describes the benchmark and evaluation protocol, and Section 5 reports the results. Section 6 summarizes the findings, their practical meaning, the study limitations, and the required next experiments. 2 Related work 2.1 Floor plan and CAD drawing analysis Early systems interpreted architectural drawings with hand-built rules over vectorized primitives. Dosch et al. 2000 assembled vectorization, symbol recognition, and cross-floor matching into a complete scanned-drawing-to-3D pipeline. Macé et al. 2010 detected walls and rooms through Hough-based line detection and recursive region decomposition, whereas Ahmed et al. 2011 separated walls from annotation by line thickness. This classical line of work, surveyed by Tombre 1998, established vectorization foundations that remain in use [28]. Later statistical methods pursued recognition across notation and drawing styles [29]. Deep learning reframed the problem as pixel prediction. Raster-to-Vector [8] recovered vector floor plans from images through junction detection and integer programming; multi-task networks [9, 10] segmented walls, openings, and rooms on datasets such as CubiCasa5K. A second shift returned to the vector domain: FloorPlanCAD [11] released more than ten thousand CAD drawings with primitive-level annotation and defined the panoptic symbol-spotting task, addressed by graph attention over primitives [12], primitive-token transformers [13], two-stream graph networks on roughcast plans [14], and point-based primitive representations [15]. Surveys document the same trend across engineering diagrams generally [30, 31, 32]. These studies use pixel accuracy, mean class accuracy, intersection over union, room matching, or panoptic quality under dataset-specific protocols. Section 6 explains why those values cannot serve as a numerical baseline for the object-level metric used here. Recent work has also focused on architectural layouts that support structural design automation. Xie et al. 2025b combined a hierarchical vision transformer with consistency regularization to segment walls from limited labeled data. Xie et al. 2025c used transformer-based wall segmentation to retrieve similar wood-frame layouts and identify drawing differences. These studies demonstrate the value of learned wall representations for design reuse, but their outputs remain pixel-level architectural wall masks rather than scaled structural entities and connected analysis-model topology. The present study addresses the downstream conversion from drawing entities to structural-model topology while retaining wall detection as one component of a broader structural schema. Three properties separate the present work from this literature. The target entities are structural rather than architectural, and bearing relations are constructed after symbol detection. Coordinates are expressed in model units after explicit scale resolution rather than left in pixels, although the present evaluation allows the tolerances stated in Section 4.1. Finally, the detection path uses explicit heuristics rather than a fitted detector, so named rules can be tested separately during diagnosis. This structure aids diagnosis but does not itself prove structural correctness. 2.2 Drawing-to-model and building information modeling reconstruction Reconstruction of building models from legacy drawings has been studied as scan-to-building information modeling (scan-to-BIM). Gimenez et al. 2015 reviewed the field and concluded that no fully automatic system existed; a subsequent study demonstrated a semi-automatic pipeline from scanned plans [34]. Lu et al. 2007 integrated recognized objects across multiple drawings in a set. Closest to the present work, Zhao et al. 2020 detected structural components in scanned structural drawings with an object detector, and Zhao et al. 2021 assembled grids, columns, and beams into an Industry Foundation Classes (IFC) model through a hybrid image-processing and optical character recognition (OCR) pipeline. The most closely related systems process raster drawings and reconstruct BIM geometry. The work of Zhao et al. 2020, Zhao et al. 2021 also relies on task-specific object detection. The pipeline described here begins with vector primitives when available, uses no task-specific learned detector, resolves sections and materials from printed designations, and emits an editable finite-element model draft with supports, releases, and slab meshes. End-to-end structural-analysis validity is outside the present evaluation. 2.3 Language-model agents in structural engineering Large language models (LLMs) have entered construction and structural workflows as code generators and multi-agent planners. The systematic review by Xie et al. 2025a identifies language models and automated design checking among the emerging directions for AI in structural design. LLM agents translate textual building descriptions into executable structural-analysis scripts [20], coordinate multi-agent workflows that automate routine structural engineering tasks [21], generate BIM models from natural-language briefs [22], and check code compliance against building information models [36]. Assessments of general-purpose models in construction report both the opportunity and the reliability limits [37]. On the perception side, document transformers parse structured images end to end [38, 39], and question-answering corpora over piping and instrumentation diagrams show spatial and counting questions to be the hard categories [40]. The architecture adopted in this paper draws on four ideas from the agent literature: interleaved reasoning and acting [16], tool delegation for operations the model cannot perform reliably [17], iterative self-refinement [18], and model-based judging of model output [19], with verification applied at the level of individual steps rather than final outcomes, in the spirit of process supervision [41]. The combination of a symbolic scaffold with learned components follows the neurosymbolic program articulated by d’Avila Garcez and Lamb 2023. In the present architecture, this guard discipline means that the language model does not write the layout directly, its typed proposals pass operation-specific checks, and a separate judge call can strike an individual change without discarding the rest. Deterministic seeds share this operation channel but do not make every accepted edit a geometric theorem. Across these strands, the reviewed drawing-understanding systems for building components rely on trained neural detectors, from convolutional parsers [8, 1] to graph and transformer models over vector primitives [12, 13, 14, 26, 33], whereas the reviewed agentic language-model systems in structural engineering consume textual briefs, scripts, or building models rather than the drawing image itself [20, 21, 22, 36]. To the authors’ knowledge, no prior system applies an agentic vision-language layer to building-component detection and structural model drafting from drawings. The framework presented next addresses that gap. 3 Proposed plan-to-model method 3.1 Division of responsibilities Three architectures can be considered for reading a framing plan: a task-specific network trained on annotated drawings, a vision-language model prompted with the drawing image, and a deterministic geometric pipeline. A task-specific network can learn broad appearance variation, but it requires a representative annotated corpus. A vision-language model can interpret symbols and notes without task-specific fine-tuning, whereas deterministic geometry can measure coordinates and apply traceable predicates. None of these capabilities alone satisfies the combined need for metric accuracy, semantic interpretation, and bounded state changes. The proposed framework therefore assigns each task to the component that can constrain it most directly. A vision-language model is useful for interpreting hatched bands, brace signs, and designations such as W14×90, but four limitations prevent it from acting as the sole geometric extractor: 1. Coordinate fidelity. A coordinate proposed from an image is an estimate rather than a measurement from vector geometry. At a drawing scale of 1:100, a 0.3 m model-space displacement occupies only 3 m on the printed page, which is difficult to estimate reliably from a downsampled prompt image. 2. Geometric reasoning. Intersection, collinearity, and parallel-line counts resemble low-level visual tasks on which four tested models averaged 58.07% across a seven-task synthetic benchmark [24]. Framing-plan interpretation invokes the same predicates when identifying joists, beam endpoints, and crossing diagonals. 3. Dense enumeration. The drawings in this study contain as many as 85 beams. Because complete enumeration combines spatial search and counting, the method does not assign it to a single model call; Gupta et al. 2025 similarly distinguishes simple counting from spatial-counting questions. 4. Independent verification. A fluent response does not provide evidence that a proposed member exists [25]. A fabricated entity can appear complete in the resulting model, whereas a missed entity remains visible in the review overlay. Together, these limitations place metric extraction and exhaustive entity detection outside the model’s authority. Deterministic procedures instead measure coordinates, resolve scale, and apply named rules to candidate entities. Their repeatability does not eliminate misses or false detections when an office convention falls outside the encoded grammar. Annotation presents an open vocabulary that cannot be covered by fixed parsing rules. Unmodeled symbols can leave meaningful ink unclaimed, and geometric anomalies do not reveal the drafter’s intent. Semantic review is therefore reserved for the residual cases that deterministic geometry can expose but cannot interpret. The proposed architecture enforces this division of responsibilities. Geometry supplies coordinates, repair candidates, and the initial entity set, while the vision-language model can act only through a closed schema of typed operations. Additions require supporting axis or glyph ink; other operations use class-specific caps, range checks, and judging because no single geometric predicate can verify every semantic change. Proposals that fail these checks are rejected, and call or parsing failures preserve the input layout. A semantically wrong proposal can still pass the available checks, so the framework produces a reviewable model draft rather than a certified structural model. 3.2 System architecture The proposed system converts a floor-plan PDF into an editable finite-element model draft through three stages (Figure 1). The input may be a vector export from CAD or BIM software or a scanned drawing. First, deterministic extraction produces a typed two-dimensional layout containing grids, columns, beams, walls, braces, slab regions, and openings in model-space meters. The implementation applies the named rules in a fixed order, and the resulting layout remains editable. Second, the guarded agentic layer reviews an overlay of this layout on the source drawing and proposes corrections through a closed operation schema. Only operations that satisfy the applicable guards and judging procedure are accepted. This admission rule applies to typed entity edits; printed-level metadata follows the separate validation path described later in this section. The third stage converts the refined floor layouts and user-supplied story heights into a three-dimensional model draft. The model builder places beams at floor elevations, erects columns between stories, instantiates walls and braces, and meshes slabs around detected openings. Parsed designations determine sections and materials when they are available, while configured defaults fill unresolved properties. The builder then assigns base restraints and secondary-member releases. Because the intermediate layout remains editable, every accepted detection or repair can be inspected and corrected before analysis. Figure 1: System architecture with the deterministic detection layer, the guarded agentic refinement layer, and the model builder. Two design principles govern the resulting information flow. First, scale, collinearity, coverage, bearing, and containment are computed by explicit procedures rather than predicted by a task-specific detector, although their thresholds remain design choices. Second, the language model is consulted only after the initial layout exists, and its answers remain proposals until they pass the available checks. The following two subsections specify these deterministic and agentic stages. Section 5 evaluates the deterministic vector-PDF pathway and the guarded refiner, and Appendix D provides a non-evaluative illustration of the raster and model-assembly pathways. 3.3 Deterministic detection layer The deterministic layer proceeds from drawing evidence to editable model geometry in three dependent phases. Primitive extraction first creates a common vector representation and resolves drawing scale. Structural-element passes then detect grids, columns, members, and symbols before constructing bearing topology. Finally, cross-drawing reconciliation aligns related plans and the model builder assembles their entities into an editable three-dimensional draft. 3.3.1 Primitive extraction and scale resolution The extraction stage converts either PDF input type into a common set of paper-space geometric primitives. For vector exports, a custom parser traverses PDF graphics operators while tracking the transformation stack, line width, dash pattern, stroke and fill colors, and path-painting operators. Its output comprises attributed segments, closed polygons, arcs recovered from flattened Bézier runs by least-squares circle fitting, and positioned text runs with their rotations. For image-only PDFs, the adaptive thresholding method of Sauvola and Pietikäinen 2000 binarizes the embedded bitmap, which is then traced into stroke primitives. Both paths then feed the same geometric detectors, although only the vector path preserves a machine-readable text layer. Retaining primitives rather than only pixels also preserves vector endpoints and line weights, an advantage shared with vector-domain symbol-spotting methods [11, 14]. Scale resolution by dimension consensus. All downstream geometric tolerances are expressed in physical units, so the drawing coordinates must first be converted from paper millimeters to model millimeters. An incorrect conversion factor affects every modeled coordinate. The scale resolver therefore operates before entity detection and reports its method and confidence (Algorithm 1). A dimension candidate pairs a printed distance, such as 6000 m, with the line that represents that measured span. The matcher uses strict geometric conditions to reduce incorrect pairings: the text must sit within 12 m of a thin line whose direction agrees with the text rotation within 6∘6 , must project into the middle 90% of that line, and both line ends must carry a terminator, either a tick stroke of length 0.8 to 6 m whose midpoint lies within 1.2 m of the end at a relative angle above 20∘20 , or a filled arrowhead centroid within 1.6 m. Each surviving candidate i yields a scale estimate si=Di/dis_i=D_i/d_i, where DiD_i is the stated distance parsed under the drawing’s unit system and did_i is the measured line length in paper millimeters. Consensus is taken by rejecting outliers against the median absolute deviation and averaging what remains, ℐ=i:|si−s~|≤τ,τ=max(0.01s~, 4MAD),s^=1|ℐ|∑i∈ℐsi,I= \\,i: s_i- s ≤τ\, \, τ= (0.01\, s,\ 4\,MAD ), s= 1 _i s_i, (1) with s~=mediansi s=median\s_i\ and median absolute deviation MAD=median|si−s~|MAD=median\ s_i- s \. The threshold includes a minimum band equal to 1% of the median, which admits small measurement perturbations when the MAD is zero or nearly zero; exactly equal candidates would also survive a zero-width band. Confidence is the inlier fraction |ℐ|/n /n. When s s falls within 1.5% of one of the fifteen configured reference scales it snaps to that scale, which removes residual measurement noise on conforming drawings. When a valid two-click calibration is supplied, it takes precedence. Without one, a drawing with no usable dimension returns an assumed 1:100 at confidence zero, a state the agentic layer is specifically instructed to review. Input: primitives G (paper m), unit system u, optional two-point calibration c=(a,b,D)c=(a,b,D) Output: scale s s (model m per paper m), method, confidence Config: text offset 1212; text param [0.05,0.95][0.05,0.95]; angle 6∘6 ; tick length [0.8,6][0.8,6], midpoint 1.21.2, angle >20∘>20 ; arrowhead 1.61.6; min line 33 (all paper m); configured reference scales 0=10,20,25,30,40,50,75,100,125,150,200,250,300,400,500S_0=\10,20,25,30,40,50,75,100,125,150,200,250,300,400,500\ if c is valid and |a−b|>0.5 a-b >0.5 m then 1 s^←D/|a−b| s← D/ a-b ; snap to 0S_0 within 1.5%; return (s^,user-calibrated, 1)( s,\ user-calibrated,\ 1); end if 2 T←s∈G.segs:¬s.dashed,s.w≤0.3,|s|≥3T←\s∈ G.segs: s.dashed,\ s.w≤ 0.3,\ s ≥ 3\ ⊳ thin bucket S←[]S←[\,] 3 foreach text run t∈G.textst∈ G.texts do 4 D←ParseDimension(t,u)D← ParseDimension(t,u) ⊳ 24′-6′24 -6 , 75007500, 6.406.40; reject D<100D<100 m if D=∅D= then continue 5 ℓ←argmins∈T|off(t,s)| ← _s∈ T (t,s) subject to the configured offset, projection, angle, and two-terminator tests 6 if ℓ≠∅ ≠ then append D/|ℓ|D/ to S 7 end foreach 8 if S=∅S= then return (100,assumed, 0)(100,\ assumed,\ 0) ⊳ return assumed scale and warning 9 compute s~ s, MADMAD, τ, ℐI, s s by Eq. (1) 10 if ∃σ∈0:|s^−σ|/σ≤0.015∃\,σ _0: s-σ /σ≤ 0.015 then s^←σ s←σ 11 return (s^,dimension-consensus,|ℐ|/|S|)( s,\ dimension-consensus,\ / S ) 12 Algorithm 1 The algorithm resolves drawing scale by dimension consensus. 3.3.2 Structural-element detection, symbol rules, and topology Structural detection follows an ordered sequence because each pass constrains the next one. Grid recovery establishes the reference lattice, column glyphs define support locations, member and symbol rules classify intervening linework, and the topology pass connects the retained entities. This order also prevents annotation and structural symbols from being chained into members. A grid line is normally a chain of dash-dot strokes, identified by a dash array of at least four entries and anchored by a bubble at one or both ends. A long solid line attached to a labeled bubble is also admitted when an exporter omits dash patterns. A bubble is a circle of radius 3 to 7.5 m containing a one- or two-character label whose center lies inside 80% of the radius; tessellated circles, which is how some exporters emit them, are recovered by a roundness test on the polygon. The label content, not the line direction, assigns the family, so letters and digits separate correctly on a rotated wing where an orientation-based split would fail; a circular mean over each family serves only as a consistency check that the two families are near perpendicular. Bay distances follow from the intersection lattice. The column detector converts compact structural glyphs into locations, footprint dimensions, and orientations without assigning a material. A candidate is a closed glyph whose principal extents lie between 60 and 2000 m on the long axis and between 30 and 2000 m on the short axis, with an aspect ratio no greater than 6 so that member end caps do not qualify. The detector samples the interior width at five stations along the principal axis: wide ends with a pinched middle indicate a wide-flange shape, wide ends with a wide middle indicate a rectangle, and one wide end indicates a tee. A concentric white knockout identifies a hollow glyph. Material and section assignment is deferred to model assembly because the glyph alone does not provide sufficient semantic evidence. Two fallback rules address common export differences. When a drawing contains no filled structural polygons, the detector also tests unfilled glyphs and closed loops assembled from loose strokes. A stroked circle is admitted only when at least two hatch strokes lie inside it, which suppresses north arrows and detail marks in the same size band. The estimated orientation is folded to [0∘,180∘)[0 ,180 ). Values within 10∘10 of 90∘90 are retained as 90∘90 , while all other values default to 0∘0 because orientation estimates for nearly square glyphs are unstable. Member detection then converts elongated primitives into beam and wall candidates (Algorithm 2). Within the supported grammar, beam footprints are closed, unfilled polygons drawn at true width, while beam centerlines are chains of collinear medium-weight strokes. These two representations cover the concrete, glulam, and steel conventions encoded in the benchmark generator without assigning material from linework alone. Stroke weights are separated into hatch, medium, and heavy classes using percentiles of each drawing’s width histogram together with fixed implementation intervals, which reduces sensitivity to different pen tables. Walls are recognized before beams because a wall footprint can otherwise be interpreted as a wide beam. When several coincident outlines describe one wall, the thinnest pair defines its centerline. Topology then converts geometry into structure. Fragments are chained across gaps up to 450 m. Endpoints first seek a column within half its maximum glyph extent plus 600 m, provided the member axis passes within that extent plus 120 m; still-free ends then seek a wall within half its thickness plus 600 m and, finally, a beam within half its drawn width plus 600 m (150 m is used when width is unavailable). Let Aq(p,e)A_q(p,e) state that endpoint p of member e satisfies the corresponding snap test for support type q, and let firstfirst return the first true type in the ordered tuple (column,wall,beam)(column,wall,beam), or freefree when none qualifies. The implemented bearing and classification predicates are βe(p)=firstq∈(column,wall,beam)q:Aq(p,e),K(e)=reject,βe(a)=βe(b)=free,secondary,beam∈βe(a),βe(b),girder,otherwise. _e(p)=first_q∈(column,wall,beam)\q:A_q(p,e)\, K(e)= casesreject,& _e(a)= _e(b)=free,\\ secondary,&beam∈\ _e(a), _e(b)\,\\ girder,&otherwise. cases (2) Spans are split at interior columns and provisional column-to-column girders before the final labels are assigned. The rule that discards a member with two unsupported endpoints removes legend strokes and title-block rules without relying on a fixed page-location crop. After topology construction, the symbol grammar distinguishes structural symbols from member linework. Within the supported drawing conventions, shear walls are represented as hatched bands between columns, framed openings as X-marked rectangles, and vertical braces as X or V signs on bay edges. The detector encodes these representations as explicit geometric signatures rather than learned appearance. Table 1 states the eleven rules; Algorithm 2 places the ten member and topology rules in execution order, while leader-dot rejection belongs to the preceding column pass. These rules encode conventions represented in the development corpora, and their thresholds and signatures were informed by the PD-50 development half alone; the held-out PD-50-T half played no part in any revision. They should therefore be treated as an explicit, testable rule set rather than universal drafting law. Two properties support evaluation across drawing scales. First, every threshold is expressed in the unit of its generating mechanism: symbol tests in paper millimeters, because a symbol is drawn at a size the drafter chose for legibility and does not scale with the building, and structural tests in model-space meters, because physical bay dimensions remain invariant to drawing scale. Using one unit system for both classes would make the thresholds scale-dependent. Second, the rules are ordered so that symbols are consumed before geometry is interpreted: X marks are erased before chaining, dimension lines are excluded before members are formed, and walls are claimed before beams. Unconsumed symbols can also become false members. Table 2 consolidates the configured units, thresholds, and roles. Input: primitives G, scale s s, columns C, matched dimension lines Δ Output: beams, walls, braces, openings, slab regions Config: paper m: hatch corridor 66, X-mark [4,22][4,22], midpoint 2.52.5, dedup offset max(2,0.75w) (2,0.75w); model m: member ≥450≥ 450, wall [80,650][80,650], opening side ≥1000≥ 1000; meters: wall slop 0.30.3, extent guard 33 ⊳ Stroke classes: percentiles of this drawing’s width histogram, unioned with native windows (h,mlo,mhi)←WeightClasses(G)(h,m_lo,m_hi)← WeightClasses(G) 1 ⊳ R1 walls before beams: a wall footprint reads as a wide beam W←W← closed unfilled polys, weight in [mlo,mhi][m_lo,m_hi], length ≥600≥ 600 m, width ∈[80,650]∈[80,650] m, elongation ≥2.5≥ 2.5, containing ≥3≥ 3 hatch midpoints 2 group coincident candidates (lateral 0.75t0.75t, overlap >0.6>0.6); keep the thinnest as the centerline 3 ⊳ R1b hatched bands between adjacent columns, longest first foreach axis-aligned adjacent column pair with paper span LpL_p and Lps^∈[1500,20000]L_p s∈[1500,20000] m do 4 Θ← ← strokes of length 1.21.2–3030 m at 15∘15 –75∘75 to the drawing axes, midpoint within the ±6± 6 m corridor, and axial parameter t∈(0.06,0.94)t∈(0.06,0.94) 5 if |Θ|<max(6,Lp/(8m)) < (6,L_p/(8\,m)) then continue 6 sort offsets 0≤d(1)≤⋯≤d(n)0≤ d_(1)≤·s≤ d_(n) and set traw←2d(⌊0.9n⌋+1)s^t_raw← 2d_( 0.9n +1) s ⊳ R1c gate the RAW value, before any clamp if traw<100t_raw<100 m then continue ⊳ else corner tails become false walls 7 tw←5round(min(600,traw)/5)t_w← 5\,round( (600,t_raw)/5) m 8 accept unless ≥5≥ 5 of 99 samples are already covered by an accepted wall 9 end foreach 10 ⊳ R2--R3 symbols are consumed before geometry ←X← short diagonal pairs (44–2222 m, shared midpoint ≤2.5≤ 2.5 m, opposite slopes) ⊳ erased: brace signs ←O← long diagonal pairs with a shared midpoint whose four endpoints form a rectangle with sides ≥1≥ 1 m and ≥6≥ 6 of 88 inked samples on all four edges ⊳ framed openings ⊳ R5 members: two representations, one topology F←F← closed unfilled polys, 44–88 vertices, length ≥250≥ 250 m, width ∈[30,800]∈[30,800] m, aspect ≥2≥ 2 ⊳ footprints P←s:¬dashed,s∉,w∈[mlo,mhi],|s|s^≥450,s∉ΔP←\s: ,\ s ,\ w∈[m_lo,m_hi],\ s s≥ 450,\ s∉ \ ⊳ R5 excludes dimension lines K←ChainCollinear(P,0.75∘,0.3,gap)K← ChainCollinear(P,0.75 ,0.3,gap) 11 foreach k∈Kk∈ K do 12 if ∃f∈F∃ f∈ F with relative angle ≤12∘≤ 12 and midpoint offset <max(2,0.75wf)< (2,0.75w_f) then discard ⊳ R4: the angle gate is required 13 end foreach 14 Topology: chain fragments, snap ends to columns and walls, split at interior columns and girder crossings, assign bearings 15 foreach member do reject if both ends bear on nothing ⊳ R10 16 ⊳ R6--R9 post-conditions delete members whose midpoint lies inside an opening (R6); add perimeter trimmers where ≤1≤ 1 of 55 samples is framed (R7); delete beams covered on ≥3≥ 3 of 55 samples within t/2+0.3t/2+0.3 m of a wall (R8); delete members outside the column bounding box inflated by 3 m (R9) 17 Algorithm 2 The algorithm detects members and symbols and constructs their topology. Table 1: The eleven detection rules of the supported drafting grammar. Rule Statement Hatched-band wall The rule classifies a qualifying diagonal-stroke corridor between adjacent columns as a shear wall; thickness is twice d(⌊0.9n⌋+1)d_( 0.9n +1), and the raw value must reach 100 m before capping and rounding. X-in-rectangle opening The rule classifies two long diagonals with coincident midpoints whose endpoints form an inked rectangle as a framed floor opening. X-mark eraser Under the supported grammar, two short diagonals (4–22 m on paper) crossing at a shared midpoint are treated as a symbol and removed before member chaining. Angle-gated dedup The duplicate test for centerlines measures offset to an infinite line and therefore requires parallelism within 12∘12 ; without the gate, joists whose midpoints lie on a perpendicular girder’s line are deleted. Dimension-line exclusion Segments riding a dimension line already matched by the scale resolver are treated as annotation rather than members. Void rule Candidates whose midpoints fall strictly inside a detected opening region are removed as opening-symbol remnants. Trimmer completion A geometry-screened opening receives perimeter trimmer beams where its edges are uncovered. Wall-coverage deletion A beam whose sampled midline lies within half the wall thickness plus 0.3 m of a wall centerline duplicates that wall and is removed. Column-extent guard Candidates whose midpoints fall outside the column bounding box inflated by 3 m are classified as drawing furniture. Bearing invariant The implementation assumes a retained floor member bears on a column, wall, or beam at one or both ends; candidates that bear on neither end are rejected. Leader-dot rejection A glyph is discarded as annotation when it is both far smaller than the drawing’s median column and has a thin annotation line terminating inside it. Neither test is applied alone: column sizes legitimately vary, and a beam end also terminates at a column. Table 2: Configuration of the deterministic layer, with paper millimeters governing printed-drawing symbol tests and model-space millimeters and meters governing structural tests. Constant Value Role Scale resolution Text-to-line offset, angle 12 m paper, 6∘6 Pairing a dimension string with its line Text parameter window [0.05,0.95][0.05,0.95] Text must project into the line’s middle Terminator tick [0.8,6][0.8,6] m at >20∘>20 , or arrowhead within 1.6 m Both ends required Outlier band max(0.01s~, 4MAD) (0.01 s,\ 4\,MAD) Floor admits small perturbations when MAD is near zero Reference-scale snap ≤1.5%≤ 1.5\% relative 15 configured scales Grids and columns Grid-line criterion ≥4≥ 4 dash-array entries, or long solid line at labeled bubble Center, phantom, and exporter fallback Bubble radius, label 3–7.5 m paper, 1–2 chars within 0.8r0.8r Family from label content Column size window 60–2000 m long, 30–2000 m short Model-space glyph size Column aspect ≤6≤ 6 Excludes member end caps Profile stations, signature 5 stations, 25 samples Ends >0.75>0.75, middle <0.5<0.5 gives wide flange Rotation rule within 10∘10 of 90∘90 : retain 90∘90 ; otherwise 0∘0 Principal-component noise otherwise reads as a diamond Duplicate glyph 0.6max(w,d)0.6 (w,d) Suppresses the story-above copy Members Weight classes h=clip(P20,0.10,0.22)mlo=min(0.40,max(h+0.02,0.8P45))mhi=max(mlo+0.20,min(1.20,1.15P97)) aligned h&=clip(P_20,0.10,0.22)\\ m_lo&= (0.40, (h+0.02,0.8P_45))\\ m_hi&= (m_lo+0.20, (1.20,1.15P_97)) aligned Paper-m histogram, unioned with native windows Footprint 4–8 vertices, ≥250≥ 250 m, 30–800 m, aspect ≥2≥ 2 Concrete and glulam convention Centerline chain 0.75∘0.75 , 0.3 m offset, ≥450≥ 450 m Steel and alternate-export convention Dedup angle gate 12∘12 , offset max(2, 0.75w) (2,\ 0.75w) m paper Without the gate, joists are deleted Brace chain dashed, ≥800≥ 800 m, ≥2≥ 2 X strokes within 6 m Confirmed and unconfirmed both kept Symbols Wall hatch 1.2–30 m strokes; 15∘15 –75∘75 ; ±6± 6 m corridor; n≥max(6,Lp/(8m))n≥ (6,L_p/(8\,m)) Thickness =2d(⌊0.9n⌋+1)s^=2d_( 0.9n +1) s, raw ≥100≥ 100 m, cap 600 m X-mark eraser 4–22 m paper, midpoint ≤2.5≤ 2.5 m, opposite slopes Consumed before chaining Opening diagonals ≥1.2≥ 1.2 m, sides ≥1≥ 1 m, 6 of 8 edge samples All four edges required X-sign brace 4–30 m strokes, ≥2≥ 2 near midspan, both slopes Wall-owned spans vetoed Topology Fragment chaining gap 450 m, offset 140 m, 2.5∘2.5 Before any bearing test End snap column half-extent +600+600 m (axis aim +120+120 m); wall or beam half-width +600+600 m Precedence column, wall, beam; beam default width 150 m Split at column t∈(0.02,0.98)t∈(0.02,0.98); support clearance half-extent +600+600 m Re-cuts chained runs at interior columns Split at girder member t∈(0.03,0.97)t∈(0.03,0.97); support u∈[−0.02,1.02]u∈[-0.02,1.02]; piece ≥300≥ 300 m Column-to-column provisional girders remain uncut Wall-coverage deletion t/2+0.3t/2+0.3 m on ≥3≥ 3 of 5 samples Removes coincident beam duplicates Extent guard column bbox + 3+\,3 m Preserves cantilever candidates 3.3.3 Reconciliation and model assembly This final deterministic stage forms slab regions, aligns related drawings, and assembles their structural entities into a model draft. Slab regions come from three sources rather than from a planar-graph face walk, because a face walk over a framing plan produces one face per bay without distinguishing a slab from a light well. A dashed, unfilled phantom outline enclosing at least one square meter is accepted directly as a slab boundary. When no such outline exists, the column envelope inflated by half a glyph defines the slab extent. Openings come from the structural-symbol pass or, for architectural input, from stair and shaft boxes clipped to the grid lattice. Related drawings must share a common coordinate frame before their entities can be reconciled. Each drawing initially places its origin at its first detected grid intersection, which can misalign a setback story that begins at grid B with a lower floor that begins at grid A. Shared grid labels provide the primary registration: the translation is the median difference between positions of common labels, limiting the effect of a single relabeled line. When drawings share no grid label, the procedure selects the translation supported by the largest number of column pairs and accepts it only if a majority of the columns on the drawing align with the reference. If neither source supports a translation, the drawing retains its local origin and is flagged for review. After registration, reconciliation forms a consensus column lattice, shares the resolved scale where appropriate, and allows a wall detection to replace a coincident beam detection. The model builder then converts the reconciled layouts into a three-dimensional finite-element model draft. Columns extend between stories with continuity matching across floors, beams are placed at floor elevations, walls become area elements with detected thickness, and brace marks instantiate diagonal, X, V, or chevron components. Slabs are meshed around openings, base restraints are assigned at the lowest story, and secondary members receive end releases. Printed designations provide sections and materials when available. Otherwise, the implementation combines neighboring-member labels, glyph shape, footprint matching to configured steel, concrete, and glulam section catalogs, together with configured defaults; these fallback assignments require engineering review. 3.4 Guarded agentic refinement The deterministic layer can leave residual inconsistencies that geometry alone cannot resolve. These include unexplained ink that may represent a missed member, a detection over blank paper, a column mark displaced from its glyph, or a drawing whose scale remains assumed. In this paper, agentic refinement denotes an iterative vision-language review that proposes typed edits, receives geometry-derived candidates, and evaluates the resulting changes through a separate review call. The input to refinement is the layout, defined here as the typed set of detected structural entities and their model-space geometry. Each inconsistency requires a judgment about drawing intent. A vision-capable language model can propose an interpretation, but generative models can produce unsupported content [25]. Current vision-language models also show limitations on low-level visual tasks [24]. The refinement layer therefore treats the model as a reviewer with no direct authority over the layout. 3.4.1 Refinement workflow and permitted edits Algorithm 3 defines the refinement workflow. The model cannot modify the layout directly. A typed operation is one of twelve named changes with the fields required for that change, and a seed is an operation proposed by a deterministic candidate generator rather than by the model. The ValidateAndApply routine checks required fields and operation-specific evidence, applies surviving edits to a copy of the input layout, and records accepted and rejected operations. It is the only procedure that can create a revised layout. This interface constrains the action space but does not prove every accepted action geometrically. Addition guards test drawing ink, whereas attribute changes and most deletions rely on typed fields, class-specific limits, and subsequent judging. If no candidate survives, or if neither the complete batch nor a re-judged subset is accepted, the routine returns the original entity layout. This behavior is termed fail-closed for entity edits; it does not cover the separately reported page-level metadata described below. Input: deterministic layout L, drawing primitives G, page raster R Output: refined layout, or L unchanged Config: α=0.55α=0.55, halo 2.8×2.8×, crop 4242 m, 16001600 px; provider defaults; high resolution; 81928192 tokens; ≤12≤ 12 ops/call, ≤24≤ 24 merged Oimg←Overlay(L,R,α,halo,crop)O_img← Overlay(L,R,α,halo,crop) 1 if Oimg=∅O_img= then return L ⊳ no vision call is made 2 D←Digest(L)D← Digest(L) ⊳ entities, dimensions, per-bay joist counts for attempt←1attempt← 1 to 22 do 3 (Ω−,Ω+)←( _-, _+)← parallel Vision(Oimg,D,FocusFalse) Vision(O_img,D, FocusFalse), Vision(Oimg,D,FocusMissed∥Σscan) Vision(O_img,D, FocusMissed _scan) 4 s←CalibrationSeed(L)s← CalibrationSeed(L) 5 Σ←InklessMarks(L,G)∪UnmarkedColumns(L,G)∪UnmarkedSpans(L,G)∪UnmarkedJoists(L,G) ← InklessMarks(L,G)∪ UnmarkedColumns(L,G)∪ UnmarkedSpans(L,G)∪ UnmarkedJoists(L,G) 6 (Ω,Xc)←Canonicalize(Ω−⌢Ω+⌢Σ)( ,X_c)← Canonicalize( _- _+ ) ⊳ deduplicate effects; drop conflicts if s≠∅s≠ or Ω contains calibration then 7 Ω←[SelectCalibration(s,Ω)] ←[ SelectCalibration(s, )] ⊳ exclusive transaction end if 8 Ω←Truncate(Ω, 24) ← Truncate( ,\ 24) 9 if Ω=∅ = then return L 10 (L′,A,ΩA,X)←ValidateAndApply(L,Ω,G)(L ,A, _A,X)← ValidateAndApply(L, ,G) ⊳ A: change list, X: rejections if A≠∅A≠ then break 11 feed X back as corrective context 12 end for 13 if A=∅A= then return L 14 v←ValidateJudge(Judge(Oimg,Overlay(L′),A),|A|)v← ValidateJudge( Judge(O_img, Overlay(L ),A),|A|) 15 if v=∅v= then return L 16 if v.verdict=acceptv.verdict= accept then return L′L 17 B←v.bad_changesB← v.bad\_changes ⊳ unique, in-range integer indices if 0<|B|<|A|0<|B|<|A| then 18 (L′,A′)←ValidateAndApply(L,ωi∈ΩA:i∉B,G)(L ,A )← ValidateAndApply(L,\ _i∈ _A:i∉ B\,G) ⊳ salvage if |A′|=|A|−|B||A |=|A|-|B| then 19 v′←ValidateJudge(Judge(Oimg,Overlay(L′),A′),|A′|)v ← ValidateJudge( Judge(O_img, Overlay(L ),A ),|A |) 20 if v′≠∅v ≠ and v′.verdict=acceptv .verdict= accept then return L′L 21 end if 22 end if 23 return L 24 Algorithm 3 The algorithm applies guarded agentic refinement to one drawing. Two focused calls separate competing review objectives. The false-mark pass deletes detections or moves columns, whereas the missed-structure pass adds members, sets attributes, or calibrates scale. This decomposition separates destructive from constructive proposals before both enter the same validation path. The normal workflow uses two proposal calls and one judging call; retry and subset review can increase the total to six logical model invocations, excluding as many as three transport attempts for each invocation. Here, the judge is a separate vision-language call that reviews the numbered accepted changes, and salvage denotes reapplying only the changes that it did not reject. Appendix C reproduces the shared overlay legend, the improve system prompt, the two focus suffixes, and the judge prompt. The operation vocabulary defines the permitted communication between the model and the layout (Schema 3.4.1). Its twelve names cover deletion, attribute assignment, column movement, structural additions, and two forms of scale calibration. Coordinates use model-space meters with y directed upward, and target identifiers must match entities in the layout digest, a compact list of current entities, dimensions, and per-bay member counts supplied to the model. The provider schema requires an operation name, after which ValidateAndApply validates the fields required for that operation and discards malformed proposals. The prompt also requests a free-text reason for review by the judge, although this field is optional in the machine schema. Generator-written provenance and model-written reasons are not stored in separate trusted fields, so provenance text cannot serve as independent evidence. This limitation is considered again in Section 6. Schema 1 The typed operation vocabulary, with the literal examples embedded in the prompt ⬇ 1 // destructive and attribute ops: id and kind copied verbatim from the digest 2 "op":"delete","kind":"beam|column|wall|brace|region","id":"beam_12","reason":"..." 3 "op":"set_section","kind":"beam","id":"beam_3","sectionName":"W360X134" 4 "op":"set_wall_thickness","id":"wall_2","thicknessMm":250 5 "op":"set_region_kind","id":"region_5","regionKind":"slab|opening" 6 "op":"set_beam_kind","id":"beam_7","beamKind":"girder|secondary" 7 // slab thickness read from a keynote; no id applies it to every floor region 8 "op":"set_region_thickness","thicknessMm":200,"reason":"keynote 1 reads 200 m slab" 10 // constructive ops: coordinates snap to columns and grid intersections 11 "op":"add_column","x":0,"y":14.6,"reason":"glyph at grid A-3 carries no mark" 12 "op":"move_column","id":"col_8","x":0,"y":14.6,"reason":"marked 0.6 m off the glyph" 13 "op":"add_beam","x1":0,"y1":7.2,"x2":6.4,"y2":7.2,"beamKind":"secondary", 14 "reason":"drawn line between girder_3 and girder_4 has no overlay" 15 "op":"add_wall","x1":0,"y1":0,"x2":7.5,"y2":0,"thicknessMm":300 17 // metric ops: range/state checked; seeded values derive from parsed dimensions 18 "op":"calibrate_scale","gridA":"A","gridB":"E","realMm":25600, 19 "reason":"dimension strings state 4 x 6400 between A and E" 20 // grid-free calibration: one value per gap between consecutive column lines 21 "op":"calibrate_bays","axis":"x","bayMm":[6000,6000,6000], 22 "reason":"no grids detected; the top chain reads 600|600|600 in cm" The two calibration operations address different available evidence. In a vector PDF, positioned text runs expose dimension strings, section designations, grid labels, and level marks to deterministic parsing. An image-only scanned PDF lacks this machine-readable text layer, so these items require visual reading. The calibrate_scale operation uses two detected grid labels and their stated distance and is therefore unavailable when raster processing does not recover a labeled grid pair. The calibrate_bays operation instead uses the complete bay-dimension chain along one axis. It clusters detected column centers into lines, requires one stated bay length for every consecutive gap, and computes the factor from the stated total and measured extent. Its guard checks completeness, factor range, and internal consistency, but it does not independently read the dimension text; a plausible but incorrect visually read value may therefore pass. The layer also reports printed-level metadata outside typed-operation admission. These values do not alter detected entity geometry, but they can affect downstream story setup. They bypass operation judging and receive only list-format and plausibility checks; user confirmation is therefore required. The output is an ascending set of printed floor elevations in meters. The implementation treats one elevation as the floor location, two as adjacent levels that define a story height without implying repetition, and three or more regularly spaced elevations as a possible repeated-story list. For vector input, at least three elevations must also be left-aligned before they are treated as a list; otherwise they remain individual references. These rules are implementation assumptions, and their accuracy was not evaluated in this study. Slab thickness follows the typed-operation path. When the review identifies a keynote or general note as applying to the floor plan, a page-wide attribute operation proposes the parsed value for all floor regions on that drawing. The operation must pass the region-existence and 50–1200 m range guards and the judge. Its note-scope assumption is limited to the supported workflow and remains subject to user review. 3.4.2 Geometry-seeded candidates and rule-based guards Five deterministic generators create repair candidates before operation admission: (1) CalibrationSeed proposes a scale factor from dimension consensus; (2) InklessMarks proposes removal of entities without supporting ink; (3) UnmarkedColumns proposes columns at inked, vacant grid intersections; (4) UnmarkedSpans proposes members between adjacent columns when their axis is inked; and (5) UnmarkedJoists proposes missing members in repeated bay patterns. The three constructive lists are also included in the model prompt as visual-review context. Model proposals and all four non-calibration seed lists are canonicalized before the 24-operation cap: duplicate effects are reduced to one, and contradictory effects targeting the same mutation slot are discarded. Calibration is the exception to ordinary batching. When either a deterministic seed or a model proposal requests calibration, the transaction contains one calibration operation only, with the dimension-derived seed taking priority; geometry and attribute edits are deferred until a new pass uses the corrected scale. The generators screen geometry rather than prove structural meaning: for example, an inked span can still be a dimension or annotation line. Table 3 states the implemented tests. An unmarked column needs glyph-shaped ink at a free grid intersection; an unmarked span needs at least 0.60 axis coverage and is typed by its diagonal-stroke signature; a joist candidate must occupy a repeated bay fraction; inkless beam and wall marks fall below 0.25 axis coverage, while column marks use the glyph test; and a calibration seed requires at least three dimension-derived factors, 60% of which lie within 2% of their median. Prompt 2 Geometry-derived repair candidates supplied to the missed-structure review ⬇ 1 DETERMINISTIC INK SCAN (candidate locations screened against drawing vectors): 2 MISSING-COLUMN candidates (a drawn column glyph sits at these grid intersections with NO orange mark): 1. (0.00, 14.60) 2. (7.20, 14.60). Emit add_column with EXACTLY these coordinates for each real glyph. 3 MISSING-MEMBER spans between adjacent marked columns (drawn ink, no marked beam/wall): 1. (0.00, 0.00) to (7.50, 0.00) - HATCHED/FILLED band, classified as a wall candidate: emit add_wall only if the band is structural 2. (7.50, 0.00) to (14.40, 0.00) - plain line: emit add_beam only if the line is structural. Use EXACTLY these coordinates. 4 MISSING-JOIST spans (drawn linework matching the repeating joist pattern, no markup member): 1. (2.40, 0.00) to (2.40, 7.20). Emit add_beam with EXACTLY these coordinates for EACH, unless a span is clearly not a member (a dimension line or text underline). The emphatic labels in the prompt describe geometric stroke evidence, not proof of structural meaning. Because this wording may bias both the proposing model and its judge toward the seeded class, its effect should be tested through a prompt ablation in which candidate provenance is blinded. Operation guards determine which proposed changes may reach the judge. They are deterministic functions over a copied layout and, for selected additions, the extracted drawing primitives. Table 3 lists their main constants. For an added beam or wall with model endpoints a,ba,b, let T map model coordinates to paper coordinates and let S be the extracted strokes. Axis-ink coverage is qi q_i =(1−λi)T(a)+λiT(b), =(1- _i)T(a)+ _iT(b), λi _i =i+1/215, = i+1/215, (3) Cδ(a,b) C_δ(a,b) =115∑i=014[∃s∈:qi∈bboxδ(s)∧d(qi,s)≤δ+ws2]. = 115 _i=0^141\! [∃ s :q_i _δ(s)\ \ d(q_i,s)≤δ+ w_s2 ]. (4) Here wsw_s is stroke width and bboxδbbox_δ is the stroke bounding box expanded by δ. The admission guard uses δ=2.4δ=2.4 paper m and requires Cδ≥0.55C_δ≥ 0.55; because there are 15 samples, the smallest passing count is 9, or 0.60. This gate applies to add_beam and add_wall, not to moves, deletions, or attribute operations. An added column instead requires glyph-shaped ink: a nearby polygon centroid, a circle of radius at most 12 paper m, or at least two strokes no longer than 12 paper m, within the stated search radius. Long centerlines alone do not qualify. The displaced-column guard encodes the difference between a wrong mark and a misplaced one. A deletion is refused when the mark carries no glyph within a tight 3 m paper radius but an inked, unoccupied grid intersection sits between 0.3 and 1.5 m away in model space; the appropriate correction is a move. The radius asymmetry is deliberate: 3 m of paper at the mark, because a correctly placed mark is centered on its glyph, and 6 m at the candidate, because the search must tolerate glyph size. A 0.69 m displacement is 9 m of paper at 1:75, so a model-space test alone cannot separate the two cases. For admitted spans, the requested beam/wall type is overwritten by a diagonal-stroke classifier. A stroke counts when its paper length is at most 25 m, its midpoint is within 5 m of the span axis, and its undirected angle relative to that axis is strictly between 15∘15 and 75∘75 . For paper span length LpL_p, the span is classified as hatched when ndiag≥max(4,Lp15m).n_diag≥ \! (4, L_p15~m ). (5) Thus both the minimum requirement of four strokes and the length-dependent density condition must be met. The test reads extracted strokes, not filled regions. A hatched admitted span is typed as a wall, and an otherwise admitted span is typed as a beam. An addition is refused when a beam, wall, or brace already occupies the same endpoints or covers at least half of the proposed axis. The operation therefore cannot silently replace an existing member of a different class. The remaining operations have narrower checks. Deletions are capped per class; columns additionally invoke the displaced-column refusal, and all wall deletions are refused when the hatch test passes. There is no general no-ink requirement on a model-proposed deletion. A column move is snapped, bounded to 0.05–3 m, and rejected if its destination is occupied, but the destination is not required to contain glyph ink. Attribute operations validate identifiers, enumerations, numeric clamps, and that the requested value would change the layout. Section assignment has an additional provenance guard: a nonempty existing section cannot be overwritten, and an empty section can be filled only when the exact normalized designation is present near that entity in the local PDF text layer. Other attribute operations do not independently establish drawing evidence. Calibration is allowed only for an assumed or low-confidence scale and checks the grid pair, factor range, and dead band; a model-supplied realMm is not independently re-read from raw dimension strings by the guard. Deterministically seeded calibration does derive that value from parsed dimensions. 3.4.3 Change-level review and fail-closed behavior The judge provides a second review after operation admission. It receives the before and after overlays together with the authoritative numbered change list, and the prompt instructs it to assess only those listed changes. The response is accepted only when it contains an exact verdict and a required bad_changes array of unique, in-range integer indices. An acceptance requires an empty array, whereas a rejection requires at least one index; malformed or contradictory responses fail closed. A proposed retained subset is then re-applied from the original layout through the same guards. Salvage is eligible only if every retained operation is reproduced exactly and a second strict judge response accepts the replay. This procedure can remove a rejected addition without silently accepting a partial or malformed transaction. Per-change verification is inspired by process-supervision work on stepwise verification [41], and the judge role draws on Zheng et al. 2023. The judge prompt makes three explicit distinctions: geometry-tagged candidates indicate nearby vector linework but do not prove its structural meaning; a move is not a deletion at the old location; and unit conversions match within 0.1%, which lets the judge re-derive 72′-0′=21,945.672 -0 =21,945.6 m itself rather than reject the rounding. The judge uses the provider’s medium reasoning setting to support the ordered checks in the review prompt. Table 3: Configuration of the agentic layer in paper millimeters and model-space meters. Constant Value Role Overlay rendering Composition width 1600 px, ≤8≤ 8 px/m Drawing legible without oversized payloads Halo width, opacity 2.8×2.8×, α=0.55α=0.55 Drawn ink stays black inside a colored halo Content crop margin 42 m paper Keeps grid bubbles and two dimension chains Model invocation Provider model gemini-3.5-flash [44] Pinned pretrained model used in the reported runs Sampling Provider defaults No temperature or top-p override Thinking, improve / judge medium / medium Reasoning setting for ordered review checks Image resolution high Pinned provider media-resolution setting Output cap 8192 / 8192 tokens Improve / judge Operations per call, merged ≤12≤ 12, ≤24≤ 24 Canonicalization precedes the merged cap Attempts, judge rounds ≤2≤ 2, ≤2≤ 2 Retry only if no op survived Timeout, retries 75 s, 3 attempts Linear backoff 1.5s×n1.5\,s× n Accepted finish reason STOP only Truncated and incomplete responses fail closed Admission guards Ink coverage, member ≥0.55≥ 0.55 of 15 samples Stroke within 2.4 m paper of the axis Glyph ink, column 6 m paper radius Polygon centroid, circle r≤12r≤ 12 m, or ≥2≥ 2 strokes ≤12≤ 12 m Endpoint snap 0.75 m To column centers and grid intersections Duplicate endpoints 0.35 m 0.40 m for columns Multi-bay coverage reject at ≥0.5≥ 0.5 Rival member within 0.3 m over 15 samples Minimum member length 0.4 m After snapping Section assignment blank target, exact local text Existing sections are immutable Destructive guards Deletion cap per class max(3,⌈0.4N⌉) (3,\ 0.4N ) N from the pre-pass count Displaced-column refusal 0.3–1.5 m Inked free intersection near the mark At-mark glyph radius 3 m paper Tight: a correct mark is centered Occupancy radius 0.45 m Candidate intersection must be free Move limits 0.05–3 m Below is treated as no change; above is rejected Contradiction move then delete Rejected within one pass Metric guards Calibration gate assumed or conf. <0.65<0.65 Never overrides high-confidence consensus Factor clamp, dead band [0.2,5][0.2,5], ≥2%≥ 2\% Calibration is an exclusive transaction Grid pair separation ≥100≥ 100 m Short pairs amplify error Deterministic candidate generators Unmarked column free intersection, glyph ink No column within 0.45 m, no wall within 0.4 m Unmarked span ≥0.6≥ 0.6 ink, span 1.2–20 m Existing coverage <0.35<0.35; typed by hatch Unmarked joist bay fraction repeated ≥0.6≥ 0.6 ink, no joist within 0.3 m Inkless beam/wall <0.25<0.25 axis coverage Hatched walls exempt Inkless column no glyph within 6 m paper Candidate deletion; displaced-column guard still applies Calibration seed ≥3≥ 3 dimensions, ≥60%≥ 60\% within 2% Preferred over a model calibration proposal Failure containment begins with the visual prompt itself. Opaque centerlines can obscure thin source strokes, whereas wide translucent halos preserve the underlying ink for inspection. A failed improvement call does not terminate the pass because the other call and deterministic seeds can still supply candidates. The deterministic entity layout is returned unchanged only when no admitted entity operation survives or neither the complete batch nor a re-judged subset is accepted. This fail-closed scope does not include printed-level metadata, which can persist after only list-format and plausibility validation and must be confirmed by the user. These guards constrain admissible mutations rather than certify semantic correctness. Structural additions require class-specific ink or glyph evidence, but deletion has no general no-ink test and a moved column need not terminate at a detected glyph. Most attribute edits are validated through identifiers, enumerations, ranges, or exact nearby text rather than an independent semantic reading. For a model-proposed calibration, the real-world dimension value and free-text rationale are not independently re-read from the drawing. A semantically wrong operation can therefore pass both the guards and the judge. 4 Benchmark and evaluation The public floor-plan datasets reviewed here primarily annotate architectural semantics [10, 11], and prior structural-drawing studies have evaluated small proprietary sets [2]. These reviewed datasets do not pair the required structural entity schema with exact model-space geometry. Accordingly, the benchmark contains 100 procedurally generated single-story framing plans in two equal halves with distinct roles. The PD-50 development half was used throughout method development: its failures drove every rule and threshold revision. The PD-50-T held-out half was generated from a disjoint seed stream after the detection rules were frozen and was evaluated exactly once; no rule, threshold, or prompt was changed in response to it, and every reported recall and precision value comes from it. Both halves follow generator-defined United States and Canadian notation variants and carry full title blocks, revision strips, code-referenced general notes, legends, keynote hexagons, design-load schedules, key plans, grid bubbles at both ends, bay and overall dimension chains, section markers, and north arrows (Figure 2). The authors generated both halves with the same fixed-seed parametric drawing generator developed for this study; each family, notation variant, and material position is matched case-for-case between the halves, so the two differ only in their random parameter draws. The evaluation release includes the drawings and ground truth but not the generator or plan-to-model implementation. Automated checks identified no inconsistencies across either half in file completeness, count agreement, member degeneracy and duplication, slab overlap, or in-bounds coordinate mappings. This verification addresses geometric and metadata consistency; it does not establish structural-design adequacy or conformity to every drafting standard. Figure 2: Four PD-50 development drawings from the core-l, skew-wing, braced, and mixed families. Each half distributes both notation variants across the three materials identically. Of its 50 drawings, 25 use the United States variant on ARCH-D paper with imperial dimension strings and IBC, AISC, ACI, and NDS note blocks, and 25 use the Canadian variant on A1 paper with millimeter dimensions and NBCC, CSA S16, A23.3, and O86 notes. Materials divide into 17 steel, 17 concrete, and 16 timber cases, and material selection determines designation families (for example W14×90 against W360×134, 18′×18′18 × 18 against 450×450450× 450, and glulam sizes in both notation variants), single centerlines for steel against double lines at true width for concrete and glulam, hatch patterns for concrete against cross-hatched wood walls, and variant-consistent wall thickness ranges. Each case includes the vector PDF, a clean raster at 3.2 px/m, a blurred variant at σ=1.5σ=1.5, exact rotations of the blurred variant at 90∘90 , 180∘180 , and 270∘270 , the ground truth in model-space meters, and the full world-to-sheet mapping. The PD-50-T ground truth totals 1,082 columns, 2,721 beams, 194 wall panels, 47 braces, and 80 openings; the corresponding PD-50 totals are 1,100, 2,819, 189, 44, and 80. Ten structural families target specific detector failure modes (Table 4). Each family contributes five seeded development variants to PD-50 and five further seeded variants to PD-50-T, and Appendix A lists the 50 held-out cases with their scales and entity counts. The family definitions vary footprint shape, framing density, skew, openings, walls, and bracing so that aggregate values can be traced to known geometric conditions. Because both halves are drawn from the same parametric families, the held-out half measures generalization to unseen drawings of the same distribution, not to independent drafting conventions; neither half samples the full diversity of structural drawings or design-office practice. Table 4: The ten PD-50 families and the capability each one tests. Family Designed to test core-l L-, T-, and C-shaped shear-wall cores and perimeter panels on regular grids: wall symbols, walls replacing beams, and variable-thickness wall geometry core-u Twin U-, box-, and C-cores with variable bay counts: multi-core layouts and core-adjacent framing skew-wing A wing rotated 1414–28∘28 with sloped connector beams and rotated dimension chains: rotated lattices and skew-aware scale chamfer Chamfered corners producing diagonal edge beams and trimmed slabs atrium A multi-bay central void with corner diagonals: large-opening semantics and building-scale X symbols braced Up to six X-braced perimeter bays: brace signs against beam marks on shared edges foot-l L-shaped footprints with notches and stair and shaft openings foot-u U-shaped footprints with twin cores and edge bracing dense Bays of 4.5–10 m with two to four infill beams per bay: infill recall under density mixed Two skewed wings, a core, a stair, and bracing on one drawing: every class at once The generator represents dimensions, hatches, and opening boundaries with the same primitive types processed by the extractor. Dimensions comprise rotated text, extension lines, and tick strokes; hatches are explicit linework; and openings remove interior framing and trim their perimeters. This controlled representation exercises the intended input path. The held-out half controls for tuning to specific drawings, but the generator and extractor still share drafting assumptions, so held-out results within this corpus may remain optimistic relative to foreign producers. Section 6 therefore treats evaluation on independently drafted drawings as necessary for assessing external generalization. 4.1 Evaluation protocol The split discipline is stated first because every other protocol choice depends on it. All rule, threshold, prompt, and guard revisions were completed on PD-50 before PD-50-T was generated; the held-out half was then processed exactly once per condition, and no failure observed on it was used to change the system. Each held-out case was processed from its vector PDF through the complete framework exactly once: deterministic extraction and detection produced the intermediate layout, and one live realization of guarded agentic refinement produced the final layout that was scored with the translation fit and entity-scoring code described below. The clean, blurred, and rotated raster variants are included for future evaluation under blur and rotation but are not part of the quantitative results reported here. For scale, the per-case relative error is es=|s^−sref|/srefe_s= s-s_ref /s_ref, where srefs_ref is read from the generator metadata. The estimated scale, resolution method, confidence, and ese_s are retained with each evaluated case. Before scoring, a translation is fitted as the median offset over nearest column pairs; the results therefore do not measure absolute drawing origin. Columns, walls, braces, and openings use greedy one-to-one matching after all eligible pairs are sorted by increasing geometric cost. Columns match within 0.5 m of center, walls within 0.8 m at both endpoints, braces within 1.0 m at both endpoints, and openings within 1.5 m of centroid. Wall thickness is not part of the reported match predicate. These tolerances are permissive relative to member dimensions and do not test node connectivity, section assignment, material assignment, slabs, supports, releases, or solver validity. Class-level recall and precision are the primary outcomes of the evaluation. A secondary per-drawing regression gate requires column recall and precision of at least 0.95, beam recall of at least 0.85, wall recall of at least 0.75, and opening recall of at least 0.50. This compound gate does not constrain beam, wall, or opening precision and does not include braces, so its pass count must not be interpreted as a complete accuracy measure. A rejected refinement transaction is scored as the unchanged intermediate layout, so a failed-closed case still produces a result. An accepted refinement means only that its guarded transaction passed the internal checks; the external entity metrics determine whether the resulting layout improved. A separate controlled study tested two fixed corruptions on three development drawings in three repeated executions. The member-repair scenario inserted four fabricated marks, removed predetermined structural entities, and displaced one column. A strict pass required an accepted transaction, removal of all fabricated marks, restoration of every removed entity, correction of the displaced column, complete one-to-one recovery of the baseline entity collections, no collateral or unexpected entities, and no changes to attributes of entities that persisted from the corrupted input. Complete recovery required matches within 0.20 m for column centers and member endpoints, a 0.02 m Hausdorff distance for region boundaries, and 0.01 m for grid positions and anchors. The calibration corruption multiplied scale-sensitive layout coordinates, physical-width fields, curve radii, region and grid geometry, and transform scale factors by 1/1.51/1.5, then marked the scale as assumed; parsed dimension records were left unchanged. Its strict predicate required an accepted transaction, primary grid-span error below 0.1%, restoration of every audited scale-sensitive field under the coded absolute and relative tolerances, complete entity recovery, consistent derived statistics, and no unrelated metadata or attribute change. Each scenario also required complete successful proposal and judge evidence reporting the pinned model and a STOP finish reason. Because the same three drawings and corruptions were reused, the 18 scenario executions measure repeatability on those cases rather than accuracy on 18 independent drawings. Figure 3 illustrates the separate coverage criteria used for beams. Before scoring, detected beam runs are normalized by splitting them at detected columns and at interior crossings with other detected beams; pieces shorter than 0.5 m are discarded. This normalized detection set is denoted by D in Eq. (6). The procedure accommodates a correct drawn run that is represented as several per-bay pieces, or the converse, without treating that representation difference as an error. Figure 3: Coverage-based beam scoring with a ground-truth span in black, supporting normalized detections in blue, and an off-axis false detection in red. A ground-truth member g, sampled at n=10n=10 stations, is counted for recall when cov(g)=1n∑k=1n[∃t∈:dist(xk,t)≤0.3m∧∠(g,t)<0.09rad]≥ 0.85,cov(g)\;=\; 1n _k=1^n1\! [∃\,t :dist(x_k,t)≤ 0.3~m\; \; (g,t)<0.09~rad ]\;≥\;0.85, (6) where D is the normalized detection set described above. With ten samples, the 0.85 threshold requires at least nine hits. A detected piece contributes to the precision numerator when at least 0.70 of its own ten samples lies within 0.3 m and 0.09 rad of ground-truth members. Beam recall and precision therefore have different numerators, which are reported separately in Table 5. Recall is the fraction of ground-truth entities accounted for by the detector, and precision is the fraction of detections supported by a ground-truth entity: R=|g∈:g is matched|||,P=|d∈:d is supported|||,R= \\,g :g is matched\,\ , = \\,d :d is supported\,\ , (7) where G and D denote the ground-truth and detected entities of a class, respectively. Beam recall and precision use the sampled coverage tests above and therefore have separate hit counts. For columns, walls, braces, and openings, matching is greedy and one-to-one within each class; one detection cannot satisfy two ground-truth entities. 5 Results 5.1 End-to-end results on the held-out PD-50-T half The aggregate and disaggregated results use the scoring definitions in Section 4.1 and report the complete framework: deterministic extraction and detection followed by one live realization of guarded agentic refinement per drawing, evaluated once on the held-out half. Beam hit counts are reported separately in both directions because the coverage metric permits a detected run to be split into several pieces or several per-bay pieces to be merged into one run. This representation difference is not counted as an error when the sampled geometry satisfies the stated thresholds. Table 5 and Figure 4 report the end-to-end results. The scale-resolution stage produced dimension-consensus estimates at confidence 1.0 on all 50 held-out drawings, with a maximum relative error of 0.086% against the generator reference scale. Walls achieved recall and precision of 1.000 over 194 panels, and braces achieved recall and precision of 1.000 over 47 members. Openings achieved recall of 1.000 at precision of 0.964. Column recall was 0.922 at precision of 0.997, with three false columns remaining on one drawing. Beam recall was 0.886 and precision was 0.990, with 2,390 qualifying detected pieces among 2,413 normalized detections. The wall value reflects endpoint matching and does not assess wall thickness; opening matches use centroid proximity and do not assess boundary agreement. Figure 4: Per-class recall and precision of the complete framework on the held-out PD-50-T half. Table 5: End-to-end entity recovery on the held-out PD-50-T half, with separate beam hit counts for recall and precision. Class Recall Precision Recall hits / ground truth Precision hits / detections Columns 0.922 0.997 998 / 1,082 998 / 1,001 Beams 0.886 0.990 2,412 / 2,721 2,390 / 2,413 Walls 1.000 1.000 194 / 194 194 / 194 Braces 1.000 1.000 47 / 47 47 / 47 Openings 1.000 0.964 80 / 80 80 / 83 Figure 5 presents representative correct recoveries and recurring failure cases from the held-out half. Panels (b) and (d) show missed columns and members in the rotated wings of skew-wing and mixed-family drawings. These overlays are consistent with the lower column and beam recall observed in the rotated families, but they do not isolate orientation as the causal mechanism. Of the 84 missed held-out columns, 80 occur in the mixed and skew-wing families and the remaining four on atrium drawings. The panel titles give raw detections divided by ground truth rather than matched detections divided by ground truth. Appendix B provides all 50 held-out overlays so that the location and type of each recorded error can be inspected. Figure 5: Representative end-to-end overlays for four held-out PD-50-T drawings. Table 6 resolves the held-out aggregate by family. Seven of ten families achieved column recall of 1.000. The mixed (0.659) and skew-wing (0.790) families contained wings rotated from 15 to 27∘27 and accounted for nearly the whole column-recall deficit; atrium (0.969) carried the remaining four misses. Beam recall was also lower for mixed (0.597), skew-wing (0.858), and chamfer (0.873). The overlays locate misses in rotated wings and at sloped connectors without establishing a unique cause. Column precision was 1.000 in every family except skew-wing (0.965), and the one localized false-positive pattern that the aggregate values obscured remained opening precision, which fell to 0.769 on atrium, the same family that produced the corresponding development-half errors. Visual inspection placed these errors near large X-shaped plan features, but the current evaluation does not isolate the contribution of each mechanism. Table 6: Per-family end-to-end recall and precision on the held-out half; “–” denotes an undefined metric because its denominator is zero. Columns Beams Walls Braces Openings Family R P R P R P R P R P atrium 0.969 1.000 0.939 0.993 1.000 1.000 – – 1.000 0.769 braced 1.000 1.000 0.893 0.995 1.000 1.000 1.000 1.000 1.000 1.000 chamfer 1.000 1.000 0.873 1.000 1.000 1.000 – – 1.000 1.000 core-l 1.000 1.000 0.982 1.000 1.000 1.000 – – 1.000 1.000 core-u 1.000 1.000 0.971 1.000 1.000 1.000 – – 1.000 1.000 dense 1.000 1.000 0.909 0.993 1.000 1.000 1.000 1.000 1.000 1.000 foot-l 1.000 1.000 0.984 1.000 1.000 1.000 – – 1.000 1.000 foot-u 1.000 1.000 0.971 0.975 1.000 1.000 1.000 1.000 1.000 1.000 mixed 0.659 1.000 0.597 0.978 1.000 1.000 1.000 1.000 1.000 1.000 skew-wing 0.790 0.965 0.858 0.975 1.000 1.000 – – 1.000 1.000 Two descriptive cuts report within-corpus variation by notation variant and material (Table 7). Notation labels alternate among drawings emitted by the same generator, so similar results show balance within this synthetic corpus, not invariant transfer across independently drafted conventions. On the held-out half, column recall was 0.933 on the 25 United States drawings and 0.912 on the 25 Canadian drawings. Across materials, column recall was 0.926 for steel, 0.917 for concrete, and 0.924 for timber. Timber retained reduced opening precision (0.897), consistent with the development-half pattern, although refinement lifted its column precision to 0.991; the aggregate cuts cannot attribute individual failures to a single predicate, and dense joist infill is only a possible contributor to the beam result. Table 7: Held-out end-to-end results by notation variant and material; n is the number of drawings and “–” denotes an undefined metric. Columns Beams Walls Braces Openings Cut n R P R P R P R P R P US 25 0.933 0.994 0.903 0.987 1.000 1.000 1.000 1.000 1.000 1.000 CA 25 0.912 1.000 0.869 0.994 1.000 1.000 1.000 1.000 1.000 0.930 steel 17 0.926 1.000 0.883 0.986 1.000 1.000 1.000 1.000 1.000 1.000 concrete 17 0.917 1.000 0.880 0.995 1.000 1.000 1.000 1.000 1.000 1.000 timber 16 0.924 0.991 0.897 0.991 1.000 1.000 1.000 1.000 1.000 0.897 During the held-out evaluation, the refinement layer accepted 43 of 50 guarded transactions and applied 338 typed operations: 218 deletions, 70 member additions, and 50 section-designation assignments. The other seven transactions failed closed and left their intermediate layouts unchanged. The designation assignments supply section and material semantics that the model builder consumes but the entity-presence metrics do not measure, and the same operation channel carries scale calibration for drawings whose scale cannot be resolved deterministically, so the layer’s role extends beyond the counts in Table 5. Provider metadata verified the pinned gemini-3.5-flash model for all 176 transport records, each of which returned a successful response. Only responses with a STOP finish reason could contribute edits; ten responses that ended at the output-token cap failed closed. The secondary per-drawing gate of Section 4.1 passed on 38 of the 50 drawings; this compound gate omits several class-precision criteria and all brace criteria, so its count is secondary evidence. An end-to-end realization on the development half, retained in the data release, provides the transfer reference: no held-out value fell more than 2.4 percentage points below its development counterpart, with beam recall accounting for that largest gap, so the framework transferred to unseen drawings of the same distribution with little loss. Because the refinement stage is stochastic, all reported values reflect one live realization per drawing and carry no repeatability interval. The run also evaluates the complete v11 protocol rather than an isolated model choice, so the effects of the model, prompts, image resolution, candidate generators, guards, and judging procedure cannot be separated from it. 5.2 Controlled corruption repeatability The controlled study produced 14 strict passes in 18 scenario executions (Table 8). All nine calibration repetitions passed. The largest primary-span relative error after calibration was 0.00182%, and all 2,073 full-layout scale-restoration checks passed. The member-repair scenario met every strict predicate in five of nine repetitions. Complete one-to-one recovery of the baseline entity collections occurred in six of nine; one of those six failed only because eight existing slab regions acquired a 120 m thickness where the input value had been undefined. Table 8: Strict outcomes for three repeated controlled-corruption trials per drawing. Drawing Member repair Complete entity recovery Calibration st-us-01 0/3 0/3 3/3 co-us-02 3/3 3/3 3/3 co-ca-03 2/3 3/3 3/3 Aggregate 5/9 6/9 9/9 Across the repeated member-corruption instances, the refiner removed 36 of 36 fabricated marks and corrected nine of nine displaced columns. It restored six of nine deleted columns and six of six deleted walls, but none of six deleted beams. No collateral deletions or unexpected entities were observed. Every scenario produced an internally accepted transaction, which further demonstrates why acceptance must be distinguished from strict end-state recovery. Provider metadata verified the pinned model and a STOP finish reason for every eligible controlled response. These figures describe repeated behavior on three selected development drawings and must not be interpreted as an accuracy estimate for a broader drawing population. 6 Conclusions This study developed a hybrid workflow for converting CAD-exported and raster floor-plan PDFs into editable finite-element model drafts and, to the authors’ knowledge, the first application of an agentic vision-language layer to building-component detection and structural model drafting from drawings. The deterministic layer extracts primitives, resolves scale by dimension consensus, identifies structural entities through an explicit drafting grammar, and assembles their geometry using bearing topology. The guarded agentic layer addresses residual ambiguities through typed operations, geometry-derived candidates, operation-specific admission tests, strict change-level review, and fail-closed transactions. This division preserves an inspectable geometric core while limiting the actions available to the pretrained vision-language model. The result is a reviewable modeling draft rather than an analysis-ready structural model. The benchmark’s two halves separate development from measurement: the PD-50 half informed every rule and threshold revision, and the seed-disjoint PD-50-T half was generated after the rules froze and evaluated once. On that held-out half, the complete framework estimated scale within 0.1% of the generator reference for every drawing. End-to-end column recall and precision were 0.922 and 0.997, and beam recall and precision were 0.886 and 0.990. Walls, braces, and openings achieved recall of 1.000, with precision of 1.000, 1.000, and 0.964, respectively. No held-out value fell more than 2.4 percentage points below its development-half counterpart, so the framework transferred to unseen drawings of the same distribution with little loss. Column and beam misses were concentrated in families containing rotated wings, skewed connectors, and diagonal boundaries, although the present experiments do not isolate the causal mechanism. Because the refinement stage is stochastic, the reported values reflect one live realization per drawing and carry no repeatability interval. The controlled corruptions clarify both the capability and the remaining failure modes. Calibration passed all nine repetitions, with a maximum primary-span error of 0.00182% and no failure among 2,073 full-layout restoration checks. Member repair met every strict predicate in five of nine repetitions: all 36 fabricated marks were removed, all nine displaced columns were corrected, and all six deleted walls were restored, but none of six deleted beams was recovered. Complete baseline entity recovery within the controlled tolerances was nevertheless obtained in six of nine repetitions because one additional run failed only after assigning thickness to eight slab regions whose previous value was undefined. All 18 transactions were accepted internally, confirming that guarded acceptance is not equivalent to correct end-state recovery. Provider metadata verifies the reported model and successful finish state, but the repeated observations still involve only three unique development drawings. The term “training-free” in this paper means that no task-specific detector was trained or fine-tuned on plan annotations. The complete system still contains a learned component because refinement calls a pretrained, externally hosted vision-language model, and the deterministic rules embody manual design choices. The held-out half controls for tuning to particular drawings, but the generator and detector still share representational assumptions, so even held-out performance can be optimistic relative to foreign producers. Similar results for the encoded United States and Canadian variants show balance within the generator, not transfer across design offices or regional practices. The quantitative study is limited to vector PDFs; the raster and model-assembly examples remain illustrative. In addition, fitted translation and class-dependent localization tolerances do not test wall thickness, analytical connectivity, sections, materials, slabs, supports, releases, load paths, solver validity, or agreement of structural response. Results from learned floor-plan and CAD parsers use different classes, units of analysis, splits, and matching rules and therefore provide context rather than directly comparable baselines [10, 13, 2]. For engineering practice, every generated draft requires review before analysis. The frozen-rule held-out evaluation reported here should next be extended to independently drafted plans from additional offices, regions, materials, renovation projects, and image-quality conditions. Multiple model realizations per drawing are needed to estimate repeatability, and ablations should separate deterministic seeds, prompts, admission guards, and judging. Operation-level error rates should be reported alongside the entity metrics, with graph-level connectivity, section and material fidelity, solver checks, and uncertainty estimates. A user study should also measure modeling time, correction effort, computation, and provider-call cost against deterministic-only, learned, and manual workflows. Within the stated limits, deterministic geometry combined with guarded vision-language review offers a transparent and testable route from structural drawings to editable model drafts, while its value on independently drafted drawings remains to be established. Data availability The benchmark release contains all 100 vector drawings in both halves, the PD-50 development half and the PD-50-T held-out half, each with clean rasters and degraded variants, exact ground truth, world-to-sheet-to-pixel mappings, and a suggested evaluation protocol that preserves the development-test separation. The benchmark archive will be deposited in a public repository upon acceptance, and its persistent identifier will be added to the published version. A sanitized evidence bundle accompanying the manuscript reports per-drawing outcomes, controlled-trial outcomes, whitelisted protocol settings, provider-audit counts, source hashes, and file checksums. Complete successful provider responses and hashed request metadata were retained in a restricted private audit archive, but prompts, raw provider messages, images, layouts, and local paths are excluded from the shared bundle for security and third-party-service reasons. The release also excludes the drawing generator and the detection and model-generation source code. The available artifacts therefore support verification of the reported aggregates, but not exact recomputation of the detections or end-to-end reproduction of the workflow. Declaration of competing interest The authors declare that they have no known competing financial interests or personal relationships that could have appeared to influence the work reported in this paper. Declaration of generative AI and AI-assisted technologies in the manuscript preparation process During manuscript preparation, the authors used OpenAI Codex to support language editing, cohesion review, and LaTeX quality checks. The authors reviewed and edited the resulting text and take full responsibility for the content of the publication. References Zhao et al. [2020] Yunfan Zhao, Xueyuan Deng, and Huahui Lai. A deep learning-based method to detect components from scanned structural drawings for reconstructing 3D models. Applied Sciences, 10(6):2066, 2020. doi: 10.3390/app10062066. Zhao et al. [2021] Yunfan Zhao, Xueyuan Deng, and Huahui Lai. Reconstructing BIM from 2D structural drawings for existing buildings. Automation in Construction, 128:103750, 2021. doi: 10.1016/j.autcon.2021.103750. Gimenez et al. [2015] Lucile Gimenez, Jean-Laurent Hippolyte, Sylvain Robert, Frédéric Suard, and Khaldoun Zreik. Review: reconstruction of 3D building information models from 2D scanned plans. Journal of Building Engineering, 2:24–35, 2015. doi: 10.1016/j.jobe.2015.04.002. Hasan et al. [2019] A. M. M. Hasan, Ahmed A. Torky, and Youssef F. Rashed. Geometrically accurate structural analysis models in BIM-centered software. Automation in Construction, 104:299–321, 2019. doi: 10.1016/j.autcon.2019.04.022. Dosch et al. [2000] Philippe Dosch, Karl Tombre, Christian Ah-Soon, and Gérald Masini. A complete system for the analysis of architectural drawings. International Journal on Document Analysis and Recognition, 3:102–116, 2000. doi: 10.1007/PL00010901. Macé et al. [2010] Sébastien Macé, Hervé Locteau, Ernest Valveny, and Salvatore Tabbone. A system to detect rooms in architectural floor plan images. In Proceedings of the 9th IAPR International Workshop on Document Analysis Systems (DAS), pages 167–174, 2010. doi: 10.1145/1815330.1815352. Ahmed et al. [2011] Sheraz Ahmed, Marcus Liwicki, Markus Weber, and Andreas Dengel. Improved automatic analysis of architectural floor plans. In Proceedings of the International Conference on Document Analysis and Recognition (ICDAR), pages 864–869, 2011. doi: 10.1109/ICDAR.2011.177. Liu et al. [2017] Chen Liu, Jiajun Wu, Pushmeet Kohli, and Yasutaka Furukawa. Raster-to-vector: Revisiting floorplan transformation. In Proceedings of the IEEE International Conference on Computer Vision (ICCV), pages 2214–2222, 2017. doi: 10.1109/ICCV.2017.241. Zeng et al. [2019] Zhiliang Zeng, Xianzhi Li, Ying Kin Yu, and Chi-Wing Fu. Deep floor plan recognition using a multi-task network with room-boundary-guided attention. In Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV), pages 9096–9104, 2019. doi: 10.1109/ICCV.2019.00919. Kalervo et al. [2019] Ahti Kalervo, Juha Ylioinas, Markus Häikiö, Antti Karhu, and Juho Kannala. CubiCasa5K: A dataset and an improved multi-task model for floorplan image analysis. In Image Analysis: 21st Scandinavian Conference (SCIA 2019), Lecture Notes in Computer Science, vol. 11482, pages 28–40, 2019. doi: 10.1007/978-3-030-20205-7_3. Fan et al. [2021] Zhiwen Fan, Lingjie Zhu, Honghua Li, Xiaohao Chen, Siyu Zhu, and Ping Tan. FloorPlanCAD: A large-scale CAD drawing dataset for panoptic symbol spotting. In Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV), pages 10128–10137, 2021. doi: 10.1109/ICCV48922.2021.00997. Zheng et al. [2022] Zhaohua Zheng, Jianfang Li, Lingjie Zhu, Honghua Li, Frank Petzold, and Ping Tan. GAT-CADNet: Graph attention network for panoptic symbol spotting in CAD drawings. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), pages 11747–11756, 2022. doi: 10.1109/CVPR52688.2022.01145. Fan et al. [2022] Zhiwen Fan, Tianlong Chen, Peihao Wang, and Zhangyang Wang. CADTransformer: Panoptic symbol spotting transformer for CAD drawings. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), pages 10986–10996, 2022. doi: 10.1109/CVPR52688.2022.01071. Yang et al. [2023] Bingchen Yang, Haiyong Jiang, Hao Pan, and Jun Xiao. VectorFloorSeg: Two-stream graph attention network for vectorized roughcast floorplan segmentation. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), pages 1358–1367, 2023. doi: 10.1109/CVPR52729.2023.00137. Liu et al. [2024] Wenlong Liu, Tianyu Yang, Yuhan Wang, Qizhi Yu, and Lei Zhang. Symbol as points: Panoptic symbol spotting via point-based representation. In International Conference on Learning Representations (ICLR), 2024. Yao et al. [2023] Shunyu Yao, Jeffrey Zhao, Dian Yu, Nan Du, Izhak Shafran, Karthik Narasimhan, and Yuan Cao. ReAct: Synergizing reasoning and acting in language models. In International Conference on Learning Representations (ICLR), 2023. Schick et al. [2023] Timo Schick, Jane Dwivedi-Yu, Roberto Dessì, Roberta Raileanu, Maria Lomeli, Eric Hambro, Luke Zettlemoyer, Nicola Cancedda, and Thomas Scialom. Toolformer: Language models can teach themselves to use tools. In Advances in Neural Information Processing Systems 36 (NeurIPS), 2023. doi: 10.52202/075280-2997. Madaan et al. [2023] Aman Madaan, Niket Tandon, Prakhar Gupta, Skyler Hallinan, Luyu Gao, Sarah Wiegreffe, Uri Alon, Nouha Dziri, Shrimai Prabhumoye, Yiming Yang, Shashank Gupta, Bodhisattwa Prasad Majumder, Katherine Hermann, Sean Welleck, Amir Yazdanbakhsh, and Peter Clark. Self-refine: Iterative refinement with self-feedback. In Advances in Neural Information Processing Systems 36 (NeurIPS), 2023. doi: 10.52202/075280-2019. Zheng et al. [2023] Lianmin Zheng, Wei-Lin Chiang, Ying Sheng, Siyuan Zhuang, Zhanghao Wu, Yonghao Zhuang, Zi Lin, Zhuohan Li, Dacheng Li, Eric P. Xing, Hao Zhang, Joseph E. Gonzalez, and Ion Stoica. Judging LLM-as-a-judge with MT-Bench and Chatbot Arena. In Advances in Neural Information Processing Systems 36 (NeurIPS), Datasets and Benchmarks Track, 2023. doi: 10.52202/075280-2020. Liang et al. [2025a] Haoran Liang, Mohammad Talebi Kalaleh, and Qipei Mei. Integrating large language models for automated structural analysis. arXiv preprint arXiv:2504.09754, 2025a. URL https://arxiv.org/abs/2504.09754. Liang et al. [2025b] Haoran Liang, Yufa Zhou, Mohammad Talebi Kalaleh, and Qipei Mei. Automating structural engineering workflows with large language model agents. arXiv preprint arXiv:2510.11004, 2025b. URL https://arxiv.org/abs/2510.11004. Du et al. [2026] Changyu Du, Sebastian Esser, Stavros Nousias, and André Borrmann. Text2BIM: Generating building models using a large language model-based multiagent framework. Journal of Computing in Civil Engineering, 40(2):04025142, 2026. doi: 10.1061/JCCEE5.CPENG-6386. Xie et al. [2025a] Hao Xie, Qipei Mei, and Ying Hei Chui. AI applications for structural design automation. Automation in Construction, 179:106496, 2025a. doi: 10.1016/j.autcon.2025.106496. Rahmanzadehgervi et al. [2024] Pooyan Rahmanzadehgervi, Logan Bolton, Mohammad Reza Taesiri, and Anh Totti Nguyen. Vision language models are blind. In Proceedings of the Asian Conference on Computer Vision (ACCV), pages 18–34, 2024. Ji et al. [2023] Ziwei Ji, Nayeon Lee, Rita Frieske, Tiezheng Yu, Dan Su, Yan Xu, Etsuko Ishii, Ye Jin Bang, Andrea Madotto, and Pascale Fung. Survey of hallucination in natural language generation. ACM Computing Surveys, 55(12):1–38, 2023. doi: 10.1145/3571730. Xie et al. [2025b] Hao Xie, Xiao Ma, Qipei Mei, and Ying Hei Chui. A semi-supervised approach for building wall layout segmentation based on transformers and limited data. Computer-Aided Civil and Infrastructure Engineering, 40(10):1295–1313, 2025b. doi: 10.1111/mice.13397. Tombre [1998] Karl Tombre. Analysis of engineering drawings: State of the art and challenges. In Graphics Recognition: Algorithms and Systems (GREC 1997), Lecture Notes in Computer Science, vol. 1389, pages 257–264, 1998. doi: 10.1007/3-540-64381-8_54. Hilaire and Tombre [2006] Xavier Hilaire and Karl Tombre. Robust and accurate vectorization of line drawings. IEEE Transactions on Pattern Analysis and Machine Intelligence, 28(6):890–904, 2006. doi: 10.1109/TPAMI.2006.127. de las Heras et al. [2014] Lluís-Pere de las Heras, Sheraz Ahmed, Marcus Liwicki, Ernest Valveny, and Gemma Sánchez. Statistical segmentation and structural recognition for floor plan interpretation. International Journal on Document Analysis and Recognition, 17(3):221–237, 2014. doi: 10.1007/s10032-013-0215-2. Moreno-García et al. [2019] Carlos Francisco Moreno-García, Eyad Elyan, and Chrisina Jayne. New trends on digitisation of complex engineering drawings. Neural Computing and Applications, 31(6):1695–1712, 2019. doi: 10.1007/s00521-018-3583-1. Jamieson et al. [2025] Laura Jamieson, Carlos Francisco Moreno-García, and Eyad Elyan. Towards fully automated processing and analysis of construction diagrams: AI-powered symbol detection. International Journal on Document Analysis and Recognition, 28:71–84, 2025. doi: 10.1007/s10032-024-00492-9. Khade et al. [2026] Rasika Khade, Krupa Jariwala, and Chiranjoy Chattopadhyay. A comprehensive survey of floor plan image analysis and related applications. International Journal on Document Analysis and Recognition, 29(1):41–59, 2026. doi: 10.1007/s10032-025-00528-8. Xie et al. [2025c] Hao Xie, Qipei Mei, Ying Hei Chui, and Haitao Yu. A transformer-based approach for similar layout retrieval and difference detection in architectural drawings of wood frame buildings. Journal of Building Engineering, 111:113438, 2025c. doi: 10.1016/j.jobe.2025.113438. Gimenez et al. [2016] Lucile Gimenez, Sylvain Robert, Frédéric Suard, and Khaldoun Zreik. Automatic reconstruction of 3D building models from scanned 2D floor plans. Automation in Construction, 63:48–56, 2016. doi: 10.1016/j.autcon.2015.12.008. Lu et al. [2007] Tong Lu, Huafei Yang, Ruoyu Yang, and Shijie Cai. Automatic analysis and integration of architectural drawings. International Journal on Document Analysis and Recognition, 9:31–47, 2007. doi: 10.1007/s10032-006-0029-6. Madireddy et al. [2025] Soumya Madireddy, Lu Gao, Zia Ud Din, Kinam Kim, Ahmed Senouci, Zhe Han, and Yunpeng Zhang. Large language model-driven code compliance checking in building information modeling. Electronics, 14(11):2146, 2025. doi: 10.3390/electronics14112146. Saka et al. [2024] Abdullahi Saka, Ridwan Taiwo, Nurudeen Saka, Babatunde Abiodun Salami, Saheed Ajayi, Kabiru Akande, and Hadi Kazemi. GPT models in construction industry: Opportunities, limitations, and a use case validation. Developments in the Built Environment, 17:100300, 2024. doi: 10.1016/j.dibe.2023.100300. Kim et al. [2022] Geewook Kim, Teakgyu Hong, Moonbin Yim, Jeongyeon Nam, Jinyoung Park, Jinyeong Yim, Wonseok Hwang, Sangdoo Yun, Dongyoon Han, and Seunghyun Park. OCR-free document understanding transformer. In European Conference on Computer Vision (ECCV), pages 498–517, 2022. doi: 10.1007/978-3-031-19815-1_29. Lee et al. [2023] Kenton Lee, Mandar Joshi, Iulia Raluca Turc, Hexiang Hu, Fangyu Liu, Julian Martin Eisenschlos, Urvashi Khandelwal, Peter Shaw, Ming-Wei Chang, and Kristina Toutanova. Pix2Struct: Screenshot parsing as pretraining for visual language understanding. In Proceedings of the 40th International Conference on Machine Learning (ICML), Proceedings of Machine Learning Research, vol. 202, pages 18893–18912, 2023. Gupta et al. [2025] Mohit Gupta, Chialing Wei, Thomas Czerniawski, and Ricardo Eiris. PIDQA: Question answering on piping and instrumentation diagrams. Machine Learning and Knowledge Extraction, 7(2):39, 2025. doi: 10.3390/make7020039. Lightman et al. [2024] Hunter Lightman, Vineet Kosaraju, Yura Burda, Harri Edwards, Bowen Baker, Teddy Lee, Jan Leike, John Schulman, Ilya Sutskever, and Karl Cobbe. Let’s verify step by step. In International Conference on Learning Representations (ICLR), 2024. d’Avila Garcez and Lamb [2023] Artur d’Avila Garcez and Luís C. Lamb. Neurosymbolic AI: The 3rd wave. Artificial Intelligence Review, 56(11):12387–12406, 2023. doi: 10.1007/s10462-023-10448-w. Sauvola and Pietikäinen [2000] Jaakko Sauvola and Matti Pietikäinen. Adaptive document image binarization. Pattern Recognition, 33(2):225–236, 2000. doi: 10.1016/S0031-3203(99)00055-2. Google [2026] Google. Gemini 3.5 Flash. Google AI for Developers documentation, 2026. URL https://ai.google.dev/gemini-api/docs/models/gemini-3.5-flash. Last updated 21 July 2026; accessed 13 August 2026. Appendix A Case inventory and per-case recall counts Table 9 lists every held-out PD-50-T case with its family, notation variant, material, drawing scale, and per-class end-to-end recall counts, reported as matched over ground-truth count. Held-out variant numbers run from 06 to 10 within each family; the development variants 01 to 05 have the same structure, and their per-case records, together with the deterministic-arm per-case records, are included in the data release. Scales are abbreviated: 1/4′1/4 denotes 1/4′=1′-0′1/4 =1 -0 (1:48), 3/16′3/16 denotes 1:64, and 1/8′1/8 denotes 1:96. The inventory exposes the denominator and recall outcome for each drawing rather than only the corpus-level aggregate. Table 9: Held-out PD-50-T inventory and per-case end-to-end recall counts (matched/ground truth). Case Family Notation Material Scale Cols Beams Walls Braces Open. atrium-06 atrium US timber 3/16′ 24/25 54/56 2/2 0/0 2/2 atrium-07 atrium CA steel 1:75 24/25 53/56 2/2 0/0 2/2 atrium-08 atrium US concrete 3/16′ 24/25 53/56 2/2 0/0 2/2 atrium-09 atrium CA timber 1:75 24/25 49/56 2/2 0/0 2/2 atrium-10 atrium US steel 3/16′ 30/30 66/69 2/2 0/0 2/2 braced-06 braced CA concrete 1:75 20/20 47/53 4/4 6/6 1/1 braced-07 braced US timber 1/4′ 20/20 51/55 2/2 7/7 1/1 braced-08 braced CA steel 1:75 20/20 50/55 2/2 6/6 1/1 braced-09 braced US concrete 3/16′ 20/20 48/54 3/3 6/6 1/1 braced-10 braced CA timber 1:75 20/20 45/53 4/4 4/4 1/1 chamfer-06 chamfer CA steel 1:75 17/17 38/44 4/4 0/0 1/1 chamfer-07 chamfer US concrete 1/4′ 17/17 42/44 4/4 0/0 1/1 chamfer-08 chamfer CA timber 1:50 17/17 38/44 4/4 0/0 1/1 chamfer-09 chamfer US steel 1/4′ 17/17 36/44 4/4 0/0 1/1 chamfer-10 chamfer CA concrete 1:75 17/17 38/44 4/4 0/0 1/1 core-l-06 core-l US steel 3/16′ 20/20 50/52 5/5 0/0 1/1 core-l-07 core-l CA concrete 1:75 20/20 52/52 5/5 0/0 1/1 core-l-08 core-l US timber 1/4′ 16/16 39/40 4/4 0/0 1/1 core-l-09 core-l CA steel 1:50 16/16 40/40 4/4 0/0 1/1 core-l-10 core-l US concrete 1/4′ 16/16 39/40 4/4 0/0 1/1 core-u-06 core-u CA timber 1:75 20/20 40/43 7/7 0/0 2/2 core-u-07 core-u US steel 3/16′ 20/20 50/52 8/8 0/0 2/2 core-u-08 core-u CA concrete 1:75 20/20 42/43 7/7 0/0 2/2 core-u-09 core-u US timber 1/4′ 20/20 52/52 8/8 0/0 2/2 core-u-10 core-u CA steel 1:75 24/24 52/53 7/7 0/0 2/2 dense-06 dense US concrete 3/16′ 20/20 71/79 4/4 2/2 2/2 dense-07 dense CA timber 1:75 20/20 72/79 4/4 2/2 2/2 dense-08 dense US steel 3/16′ 20/20 72/79 4/4 2/2 2/2 dense-09 dense CA concrete 1:75 20/20 53/57 4/4 1/1 2/2 dense-10 dense US timber 3/16′ 20/20 51/57 4/4 1/1 2/2 foot-l-06 foot-l US steel 3/16′ 18/18 49/49 2/2 0/0 2/2 foot-l-07 foot-l CA concrete 1:50 18/18 49/49 2/2 0/0 2/2 foot-l-08 foot-l US timber 1/4′ 18/18 49/49 2/2 0/0 2/2 foot-l-09 foot-l CA steel 1:75 18/18 45/49 2/2 0/0 2/2 foot-l-10 foot-l US concrete 1/4′ 18/18 49/49 2/2 0/0 2/2 foot-u-06 foot-u CA timber 1:75 22/22 55/55 6/6 1/1 2/2 foot-u-07 foot-u US steel 3/16′ 22/22 54/55 6/6 1/1 2/2 foot-u-08 foot-u CA concrete 1:75 22/22 52/55 6/6 1/1 2/2 foot-u-09 foot-u US timber 3/16′ 22/22 54/55 6/6 1/1 2/2 foot-u-10 foot-u CA steel 1:75 22/22 52/55 6/6 1/1 2/2 mixed-06 mixed CA steel 1:100 22/34 41/72 4/4 1/1 2/2 mixed-07 mixed US concrete 1/8′ 24/34 44/72 4/4 1/1 2/2 mixed-08 mixed CA timber 1:100 19/34 42/72 4/4 1/1 2/2 mixed-09 mixed US steel 1/8′ 23/34 44/72 4/4 1/1 2/2 mixed-10 mixed CA concrete 1:100 24/34 44/72 4/4 1/1 2/2 skew-wing-06 skew-wing US concrete 1/8′ 17/21 42/48 2/2 0/0 1/1 skew-wing-07 skew-wing CA timber 1:75 17/21 42/48 2/2 0/0 1/1 skew-wing-08 skew-wing US steel 3/16′ 17/21 42/48 2/2 0/0 1/1 skew-wing-09 skew-wing CA concrete 1:100 16/21 40/48 2/2 0/0 1/1 skew-wing-10 skew-wing US timber 3/16′ 16/21 40/48 2/2 0/0 1/1 Appendix B Detection overlays for the held-out half Figures 6 and 7 draw the final end-to-end layout of every held-out PD-50-T case over the drawing it was read from, cropped to the structure. Counts under each panel are detected against ground truth, not matched against ground truth, so a panel can show equal counts while a false detection compensates for a miss; the matched counts are in Table 9. Titles are amber where the detected column count differs from the ground-truth count. The errors discussed in Section 5.1 are visible as unmarked columns in the rotated wings of the skew-wing and mixed families. These overlays permit case-level inspection of the errors summarized in Tables 5 and 6. Figure 6: Detection overlays, held-out cases 1–25 of PD-50-T. Figure 7: Detection overlays, held-out cases 26–50 of PD-50-T. Appendix C Prompt architecture of the agentic layer The following boxes reproduce abridged, typography-normalized implementation text. Their capitalization and imperative wording belong to the runtime prompts rather than the manuscript’s narrative voice. Section-sign markers identify omitted or substituted text; because omitted text can affect model behavior, these excerpts document prompt structure but are insufficient for exact replication. They correspond to protocol gemini35-2026-08-13-v11 and the pinned gemini-3.5-flash model. The excerpts include the overlay legend prefixed to every call (Prompt C), the improve system prompt shared by both focused calls (Prompt C), the two focus suffixes that give those calls disjoint objectives (Prompt C), and the judge (Prompt C). Three design decisions structure the interaction: checks are numbered and ordered to promote consistent coverage; literal operation examples make required fields concrete beyond the provider schema; and each check states the expected negative outcome to discourage unsupported corrections. Prompt 3 Overlay legend, prefixed to every call ⬇ 1 Overlay legend: orange rectangles = columns, blue lines = girders, cyan = secondary beams, purple = shear walls, amber dashed = braces, green fill = slab regions, red fill = openings, gray dash-dot = grid lines with labels. The overlay is drawn as WIDE SEMI-TRANSPARENT HALOS: a marked member shows its dark drawn line inside a color halo; a drawn line with NO color halo is UNMARKED structure (a missed detection); a color halo over blank paper is a FALSE detection. Prompt 4 The improve system prompt, shared by both focused calls ⬇ 1 You are a senior structural engineer reviewing an automated markup of a structural/architectural floor-plan drawing. You receive ONE image (the original drawing with the current markup drawn on top) and the markup as JSON (coordinates in meters, y up). [overlay legend] 3 Work through these checks IN ORDER and propose at most 12 SMALL, HIGH-CONFIDENCE corrections as typed ops: 5 CHECK 0 - SCALE (do this FIRST when the JSON says scale.method is "assumed" or scale.confidence < 0.65): The overlay always LOOKS aligned even when the scale is wrong - the error hides in the numbers. Compare the distance between two labeled grid lines in the JSON (their "position" values, meters) against what the drawing’s printed dimension strings state for that same span. If they disagree by a consistent ratio, emit calibrate_scale with gridA, gridB and the stated real distance in m. Never calibrate when the scale method is dimension-consensus with good confidence. When calibration is required, emit exactly ONE calibration op and NO other ops; review geometry and attributes in a fresh pass after calibration. 7 CHECK 1 - FALSE MARKS: an overlay element with NO dark drawing linework beneath it is a false detection - delete it. BRACES ARE SPECIAL: on a framing PLAN a vertical-bracing bay is marked only by a SMALL X or V symbol on the bay edge (often with an HSS label) - easy to miss at this zoom. If the JSON lists a brace and you see ANY small symbol or label anywhere along its span, keep it; deleting a brace should be EXTREMELY RARE and only when you are certain its span is completely bare. 9 CHECK 2 - MISSED STRUCTURE (as valuable as check 1 - scan for it actively): every drawn beam centerline should carry a blue/cyan overlay, every drawn column glyph an orange rectangle, every thick/hatched wall band a purple band. Use the JSON "bayJoistCounts" table: neighboring bays normally repeat the same joist count, so a bay listed with FEWER joists than its neighbors usually misses EXACTLY the difference (typically ONE line). Look at that bay in the image, find the specific drawn joist line carrying no color halo, and add THAT line only. NEVER add more beams than the count difference, and never add a beam you cannot point at as a drawn-but-unhaloed line. For anything drawn but unmarked, emit add_beam / add_column / add_wall, ALWAYS reusing coordinates of listed entities; never estimate coordinates from pixels. 11 CHECK 3 - WRONG PLACE: a marked column sitting visibly OFF its drawn glyph / grid intersection -> move_column with the correct x, y. Attached members follow. 13 CHECK 4 - ATTRIBUTES: set_region_kind (slab vs stair/elevator opening), set_wall_thickness (clearly wrong thickness), set_beam_kind (girder vs secondary). 15 CHECK 5 - SECTION LABELS: compare printed section designations with the JSON. Emit set_section only when the target has no section, and copy the designation verbatim. Never overwrite a nonempty section. 17 [The general operation rules are omitted; literal examples appear in the operation-schema excerpt.] Prompt 5 The two focus suffixes, which give the parallel calls disjoint objectives ⬇ 1 FOCUS OF THIS PASS (call A): checks 1 and 3 ONLY (false marks to delete; misplaced columns to move). Do not add members or calibrate here. DISPLACED vs FALSE: an orange column mark floating near (within ~1 m of) a drawn column glyph or grid intersection that carries no other mark is a MISPLACED detection - move_column it onto the glyph; delete a column mark only when NO drawn glyph exists anywhere near it. 3 FOCUS OF THIS PASS (call B): checks 0, 2, 4, 4b and 5 ONLY (scale calibration; drawn-but-unmarked structure; attributes; printed levels; section designations). Do not delete or move anything here. CHECK 0 (scale) is MANDATORY when scale is assumed or has low confidence. If calibration is required, return exactly one calibration op and defer all other checks to a fresh pass. For ADDITIONS: treat a bay whose bayJoistCounts value is strictly LOWER than its neighboring bays as a candidate for missing joists; add only a specific unhaloed structural line verified in the image. When the counts are uniform and no unhaloed linework exists, returning "ops": [] (or calibration only) is the normal outcome - never invent members. 4 [followed by the geometry-derived repair-candidate block] Prompt 6 The judge system prompt ⬇ 1 You are a strict reviewer of floor-plan markups. Image 1 shows the plan with markup A (original). Image 2 shows the SAME plan with markup B (revised). You also get the authoritative LIST of changes B applied - that list is exactly what changed; do NOT re-diff the two images for unlisted differences. [overlay legend] 3 VERIFY EACH LISTED CHANGE against the drawing: 5 - "deleted <kind> <id>" is correct when Image 1 shows NO corresponding drawn structure under that mark - pale overlay color over blank paper. It is wrong when real linework or a bracing X/V symbol sits beneath. Deleting a column mark that merely sat NEAR its drawn glyph (a misplaced detection that should have been moved onto the glyph) is WRONG - reject it via bad_changes. 6 - "added <kind>" is correct when the drawing shows that member drawn but unmarked: at the stated location, Image 1 shows a dark drawn line/glyph WITHOUT a color halo, and Image 2 shows the same line now carrying its halo. The authoritative list contains only changes already applied by the deterministic executor, so every listed addition is present in Image 2 by construction. Reject an addition only when its underlying mark is nonstructural or unsupported. 7 - An "ink scan" reason indicates that vector linework was detected near the candidate; it does not establish structural meaning. Reject the change when the evidence represents a dimension, annotation, or other nonstructural mark. 8 - "moved column <id> to (x, y)" means the SAME column left its old spot and now sits at the new one - never count its old location as a deletion. 9 - "calibrated scale" leaves the overlay unchanged - verify its grid distance against printed dimension strings; a conversion within 0.1% of the stated value matches. 11 Accept only when every listed change is supported. Otherwise reject and place exactly the wrong change numbers in bad_changes so the remainder can be salvaged. Judge only the listed changes. Appendix D Illustrative raster and model-assembly artifacts Figure 8 illustrates the raster and model-assembly pathways using three scanned architectural plans from a six-story building drawing set. Panels (a)–(c) show user-calibrated layouts processed through the raster path of Section 3.3.1. For this illustration, the study imposed a 3.2 m story height, assigned the first plan to the lowest level, repeated the second plan for four intermediate levels, and assigned the third plan to the top level. This story mapping was supplied to the model builder rather than inferred from the scans. Because the rasterizer produced no machine-readable text, a 6.0 m consensus bay read from the drawing was supplied externally to calibrate scale. The input plans contained no explicit beam linework; after detecting 12 column locations on each distinct plan, the workflow placed framing members between adjacent lattice positions as a planning assumption that requires review. Panel (d) is an independent rendering that illustrates the intended multistory model representation; it is not treated as an end-to-end output from the exact layouts in panels (a)–(c). Because traceable entity-level annotations are unavailable for this case, the figure is excluded from the quantitative evaluation and does not establish detection accuracy, model correctness, or out-of-distribution generalization. Figure 8: Illustrative scanned-plan layouts with assumed lattice framing in panels (a)–(c) and an independent six-story model draft in panel (d).