Rawson Group · 2025–2026 · Flagship build · 4D scheduling
Workplan Automation (4D)
Master Schedule → per-villa WorkPlans.
A production pipeline I built and own at Rawson Group (Daiwa House) that takes one Microsoft-Project master Schedule, extracts each villa's subtree with BFS, and publishes eight connected WorkPlans into Autodesk Forma via APS — with activityUniqueId cascade linkage so date changes on the master propagate to every villa automatically. Piloted on Blueys Beach Kokomo.
PILOT PROJECT
8 villas
Blueys Beach Kokomo · PO 1
INTRA-VILLA
DEPENDENCIES
96%
subtree isolation is viable
CROSS-BOUNDARY
DEPS
1.9%
stay on master Schedule
CASCADE
Automatic
activityUniqueId linkage
01 · LIVE DEMO · v1.16 highlight
One master Schedule, eight WorkPlans, one run.
The highlights reel of v1.16 — master Schedule import, BFS subtree extraction per villa, APS /plans creation, and chunked batch task POST with cascade linkage. The same job used to be a two-day manual publish across the schedule team.
YouTube · unlisted · youtu.be/sR1lNSTEJYM · Source: v1.16-highlight.mp4 (48 MB, 2026-04-12)
02 · Architecture
Master Schedule → BFS subtree → /plans + /tasks → Forma.
One master Schedule is the single source of truth. The pipeline walks its activity tree with BFS over parentId (stable on IronPython 2.7, deterministic, no recursion traps), extracts each villa's subtree by root uniqueId, and publishes a WorkPlan per villa into Forma via APS. Every task carries activityUniqueId back to its master row — that linkage is what makes the date cascade work.
03 · Code — the load-bearing parts
Two snippets. Tree walk and REST integration.
The two pieces of code that carry the weight: the BFS subtree extractor that converts one master Schedule into N villa-scoped task lists, and the APS integration that publishes each WorkPlan and batch-creates its connected tasks in 100-row chunks for chunk-level isolation on malformed rows.
04 · Why this sits next to Takeoff (5D)
One model. Two pipelines. Same source of truth.
The Revit model is the single source of truth. Takeoff (5D) goes left — quantities, classification, Forma Takeoff package. Workplan (4D) goes right — schedule subtree, per-villa WorkPlan, cascade. Neither one is the other's upstream; both branch from the same validated model container, and both land back in Forma. That's the governing principle that makes both systems auditable under ISO 19650.
05 · Results
What the pipeline actually changed.
The cascade is the headline. Everything below it is the reason the cascade is defensible: deterministic ordering, chunked isolation, redacted logging, and a clean separation between what belongs to the master Schedule and what belongs to a WorkPlan.
CASCADE
One master Schedule edit updates every connected WorkPlan task. No fan-out writes, no copy-paste between villa plans, no stale dates. The connection is activityUniqueId.
BATCH ISOLATION
Tasks POST in chunks of 100. Forma rejects a full chunk on any malformed row — chunking limits blast radius to ≤100 rows per failure, not the whole WorkPlan.
PILOT REACH
Deployed on Blueys Beach Kokomo — 8 villas under PO 1. Same pipeline scales to any parent activity; no per-villa code forks.
DETERMINISTIC ORDER
Subtree ordering = (depth asc, uniqueId asc). The published WorkPlan mirrors the master Schedule visually — reviewers can line them up without scanning.
DEPENDENCY MODEL
96 % intra-villa, 1.9 % cross-boundary. The residual cross-boundary deps stay on the master Schedule — subtree isolation doesn't lie about them.
ISO 19650 ALIGNMENT
Same three-tier APS architecture as Takeoff (5D). Scoped service tokens, explicit audit logging. Declared in the BEP under Scripted Data Access.