Generate
Data-driven sheet creation — pick a layout profile, stage elements, generate. One Transaction per element; a bad element rolls back alone.
STAGED
12
from current selection
PROFILE VIEWS
5
plan · 3d · sec · cross · sched
OUTPUT
Sheets
titleblock docked
SHEETS TO CREATE
12
one per element
SHEET PREVIEW IcZ.Core.Layout.LayoutMath
Place-and-shift docking: each viewport seats against its anchor + margin inside the title block's usable area — the exact AnchorPoint math now compiled in IcZ.Core.Layout. Group mode tiles the plan across N×N sheets via TilePlan when it won't fit at the contractual scale.
OUTPUT
Layout profile (cb_profile)
Prefix (txt_prefix)
Scale (cb_scale)
Title block (cb_tblock)
Plan tmpl
Section tmpl
3D tmpl
Auto tagging (where the profile allows)
Create views only — no sheets
BATCH MODE
One per elementdoors · equipment
All on ONE sheeta system → shop drawing
Staged 12
Overrides feed doclayout.LayoutEngine.generate / generate_group. Wired to the existing on_run ExternalEvent — no behaviour change, only the shell around it.
Profiles
Interactive config (§4) — no raw JSON editing. Every field writes back to sheet_profiles.json (atomic via doclayout.save_profiles). The preview mirrors the profile live.
PROFILE
Edit profile (cb_edit_profile)
Rename (tb_prof_rename)
Number (tb_prof_number)
Name (tb_prof_name)
Tokens: {seq} {id} {cat} {level} — group mode also {system} {count}.
VIEWS ON THE SHEET (lst_specs) — click a row to highlight its tile
Type (cb_spec_type)
Anchor (cb_spec_anchor)
Margin X / Y mm
Auto tag
Own sheet
Scale-tile (plan)
Isolate staged
SHEET PREVIEW LayoutMath
Each anchor/margin edit re-docks its tile instantly — the same place-and-shift the engine performs on the real sheet after doc.Regenerate().
Sheet Tools
Align · Duplicate · Crop — post-processing on existing sheets (B22/B23/B24). Every run re-fetches through the ExternalEvent (stale-data rule).
PROJECT SHEETS (lst_sheets) multi-select with Ctrl / Shift — Align & Duplicate act on the selection
ALIGN VIEWPORTS
Main sheet — the reference layout (cb_main_sheet)
Apply same crop / scope box
Match title block type
Align same-name legends
Outlines collapse to pure crop during the move; title blocks normalise to 0,0. via doclayout.align_viewports.
DUPLICATE SHEETS
Number suffix
Name suffix
Views
Dup legends
Schedules
Text / lines / images
Clouds
Dimensions
DWGs
Revisions
CROP FROM SHEET SHAPE
Draw a closed polygon of detail lines ON the sheet, select it together with ONE viewport, then run — the view's crop follows the shape (curves straightened). via doclayout.set_crop_from_sheet_curves.