BIM element authoring
Create and modify walls, doors, families and schedules while preserving constraints.
20 project-authored proposals · taxonomy v1.1 · 0 new benchmark runs. Verifiers and partial-credit rules below are designs, not executed results.
- Typical applications
- Revit · ArchiCAD · Vectorworks
- Class GUI-need label
HY· Hybrid
Task proposals · 20
Expand to inspect the complete original wording and proposed checks. Original proposal text remains English in both interfaces.
R07.05.01.02-T01 Add three hosted windows to a south wall at 900 mm sill and export IFC
Original instruction
Open fixtures/duplex.rvt in Revit 2025. On Level 2, add three windows of type 'Fixed: 1200 x 1500mm' to wall W-S2 (south), sill height 900 mm, equally spaced with 1000 mm clear from each wall end to the nearest window edge. Save and export IFC4 Reference View to out/duplex.ifc.
- Platforms
win· Windows- Applications
- Revit
- Interfaces
desk· Desktop GUI- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
AP· API-sufficient- Interaction primitives
click· Point & clickgeom· Precise geometrytype· Text & forms- Work product
WP04· 3D/spatial model- Conditions
licensed· Licensed pro app- Proposed difficulty
- 2 / 5
Proposed verifier
IfcOpenShell on IFC: 3 new IfcWindow 1200×1500 in IfcOpeningElements voiding W-S2 on Level 2; sill (bottom elevation - level) 900±1 mm; end clearances 1000±2 mm and equal spacing ±2 mm; other elements unchanged (GUID set diff).
Proposed partial credit
30% 3 windows hosted in W-S2; 20% type/size; 20% sill; 30% spacing & IFC export
R07.05.01.02-T02 Move a wall 500 mm while keeping joins and hosted doors intact
Original instruction
In fixtures/office_core.rvt move interior wall W3 (Level 1, Mark W3) 500 mm north. Connected walls must stay joined (no gaps), the two doors hosted in W3 must remain hosted at the same offset along the wall, and the bounded rooms must recompute without 'room not enclosed' warnings. Save.
- Platforms
win· Windows- Applications
- Revit
- Interfaces
desk· Desktop GUI- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
drag· Drag & dropgeom· Precise geometryclick· Point & click- Work product
WP04· 3D/spatial model- Conditions
licensed· Licensed pro app- Proposed difficulty
- 3 / 5
Proposed verifier
Harness extraction (Revit API, run after save): W3 location curve +500 mm Y (±1); joined walls' endpoints meet W3 (≤1 mm); 2 doors host = W3 with same parameter offset; 0 room-not-enclosed warnings; other walls unchanged. Dynamo/pyRevit/API add-ins disabled during session; journal shows UI edits.
Proposed partial credit
35% wall moved exactly; 25% joins intact; 25% doors hosted; 15% rooms valid
R07.05.01.02-T03 Delete all north-facing doors on Level 2 and nothing else
Original instruction
In fixtures/hotel_wing.rvt delete every door on Level 2 whose facing orientation points north (±45° of project north, considering the project's true-north rotation). Do not delete doors on other levels or other orientations. Save and write the deleted door Marks to out/deleted.txt.
- Platforms
win· Windows- Applications
- Revit · Dynamo
- Interfaces
desk· Desktop GUI- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
click· Point & clickvis· Visual judgmentcode· Code & commands- Work product
WP04· 3D/spatial model- Conditions
licensed· Licensed pro app- Proposed difficulty
- 2 / 5
Proposed verifier
Extraction diff vs fixture: removed doors = exactly key set (true-north-aware FacingOrientation); all other elements present; deleted.txt equals key.
Proposed partial credit
60% correct set deleted (F1); 25% no collateral deletion; 15% list file
R07.05.01.02-T04 Build a Level 3 room schedule with a calculated occupant load field
Original instruction
In fixtures/school.rvt create schedule 'L3 Rooms' (Rooms category): Number, Name, Department, Area, and calculated 'Occupants' = roundup(Area / 9.3 m²). Filter Level = Level 3, sort by Department then Number, group totals per department with grand total. Place it on sheet A-601.
- Platforms
win· Windows- Applications
- Revit
- Interfaces
desk· Desktop GUI- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clicktype· Text & forms- Work product
WP02· Records/table- Conditions
licensed· Licensed pro app- Proposed difficulty
- 3 / 5
Proposed verifier
Extract ViewSchedule definition: fields, filter, sort/group, calculated formula; export schedule to CSV in batch: values equal key; schedule instance on A-601.
Proposed partial credit
25% fields; 25% calculated field; 20% filter/sort; 30% totals & placed on sheet
R07.05.01.02-T05 Author a parametric window family with locked reference planes and three types
Original instruction
In the Revit Family Editor create Window_Casement.rfa from the Metric Window template: Width/Height type parameters driving locked reference planes, frame 50 mm and sash 60 mm solids, glass panel, Sill Height instance default 900 mm, material parameters Frame/Glass, and types 600x1200, 900x1200, 1200x1500. Load into fixtures/flat.rvt and place one of each in wall W1.
- Platforms
win· Windows- Applications
- Revit
- Interfaces
desk· Desktop GUI- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
geom· Precise geometryclick· Point & clicktype· Text & forms- Work product
WP04· 3D/spatial model- Conditions
licensed· Licensed pro applong· Long-horizon- Proposed difficulty
- 5 / 5
Proposed verifier
Batch flexing via API: for each type, frame outer bbox equals Width×Height (±0.5 mm) and solids stay attached; 3 types with values; material params bound; family in project with 3 instances hosted in W1; flex test at 1500×2100 regenerates without errors. API family creation disabled; journal checked.
Proposed partial credit
30% flexes correctly; 35% types, materials/params; 20% geometry detail; 15% placed in project
R07.05.01.02-T06 Model a curtain wall with 1.5 m grids, mullions and a door panel
Original instruction
In fixtures/retail.rvt replace the storefront wall SF-1 with a curtain wall of type 'Storefront' with vertical grids at 1500 mm fixed distance from the left end, horizontal grid at 2400 mm, rectangular mullions 50×150 on all grids and edges, and swap the panel in bay 3 bottom to a 'Curtain Wall Dbl Glass' door. Save.
- Platforms
win· Windows- Applications
- Revit
- Interfaces
desk· Desktop GUI- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
AP· API-sufficient- Interaction primitives
click· Point & clickgeom· Precise geometryvis· Visual judgment- Work product
WP04· 3D/spatial model- Conditions
licensed· Licensed pro app- Proposed difficulty
- 3 / 5
Proposed verifier
Extraction: SF-1 location unchanged, now curtain wall; vertical grid positions multiples of 1500 from left; horizontal grid at 2400; mullion count equals grid segments+edges with type 50×150; bay 3 bottom panel is door family. Journal shows UI.
Proposed partial credit
20% curtain wall replaces SF-1; 30% grids; 30% mullions; 20% door panel
R07.05.01.02-T07 Build composite walls, zones and an IFC export with mapped properties in Archicad
Original instruction
In Archicad 28 open fixtures/clinic.pln. Create composite structures EXT-300 and INT-100 per input/wall_types.xlsx, apply them to all exterior and interior walls on Ground Floor, create zones for 14 rooms with names/numbers from the same file, and export IFC4 with Pset_WallCommon.IsExternal and FireRating mapped from Archicad properties.
- Platforms
win· Windowsmac· macOS- Applications
- ArchiCAD · Excel
- Interfaces
desk· Desktop GUI- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
click· Point & clicktype· Text & formsmulti· Cross-app- Work product
WP04· 3D/spatial model- Conditions
licensed· Licensed pro appmultiapp· Multi-app- Proposed difficulty
- 4 / 5
Proposed verifier
IFC: walls have IfcMaterialLayerSetUsage with layer thicknesses per spreadsheet; external flag correct; 14 IfcSpace with names/numbers and areas within 1% of reference; FireRating values present. Plan geometry unchanged.
Proposed partial credit
35% composites applied; 30% zones; 20% property mapping; 15% IFC validates
R07.05.01.02-T08 Model a code-compliant U-shaped stair in Archicad's Stair tool
Original instruction
In fixtures/apartment.pln add a U-shaped stair between Ground (0.00) and Level 1 (+3.15 m) inside the stair core polygon on layer 'Stairs': rise ≤175 mm, going ≥250 mm, 2R+G 600-640 mm, landing depth ≥ stair width 1100 mm, 50 mm gap between flights, handrails both sides at 900 mm.
- Platforms
win· Windowsmac· macOS- Applications
- ArchiCAD
- Interfaces
desk· Desktop GUI- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
path· Continuous pathgeom· Precise geometryclick· Point & click- Work product
WP04· 3D/spatial model- Conditions
licensed· Licensed pro app- Proposed difficulty
- 4 / 5
Proposed verifier
IFC export: IfcStair with flights; riser count n and height 3150/n ≤175; going ≥250; 2R+G in range; landing depth ≥1100; flights width 1100; stair footprint within core polygon; railings at 900±10 mm. GDL/Python scripting disabled.
Proposed partial credit
35% rise/going rules; 20% landing; 20% fits core; 25% handrails & layer
R07.05.01.02-T09 Place and tag doors from a schedule worksheet in Vectorworks
Original instruction
In Vectorworks Architect 2025 open fixtures/office_fitout.vwx. Insert doors D01-D18 in the walls at the positions marked by loci on class 'Door-Loci', setting width, height, swing and fire rating per input/door_schedule.xlsx, with ID tags. Then create a Door schedule worksheet on sheet A-602 that reports those parameters.
- Platforms
win· Windowsmac· macOS- Applications
- Vectorworks · Excel
- Interfaces
desk· Desktop GUI- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
click· Point & clickgeom· Precise geometrymulti· Cross-app- Work product
WP04· 3D/spatial model- Conditions
licensed· Licensed pro appmultiapp· Multi-app- Proposed difficulty
- 3 / 5
Proposed verifier
IFC + worksheet export: 18 IfcDoor hosted in walls within 10 mm of loci; parameters equal schedule; ID tags present; worksheet rows equal schedule. Vectorscript/Python disabled.
Proposed partial credit
40% doors placed in walls; 30% parameters; 15% tags; 15% worksheet
R07.05.01.02-T10 Renumber doors from their rooms (room number + letter) across the model
Original instruction
In fixtures/lab_building.rvt set each door's Mark to its To Room number followed by A, B, C… in clockwise order around that room starting from the room's northernmost door; doors with no To Room use the From Room. Use the GUI, Dynamo or both. Save and export the door schedule to out/doors.csv.
- Platforms
win· Windows- Applications
- Revit · Dynamo
- Interfaces
desk· Desktop GUI- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commandsclick· Point & clickvis· Visual judgment- Work product
WP04· 3D/spatial model- Conditions
licensed· Licensed pro app- Proposed difficulty
- 3 / 5
Proposed verifier
Extraction: all Mark values equal key computed from room membership and clockwise order; marks unique; doors.csv matches model.
Proposed partial credit
60% marks correct (scaled); 20% uniqueness; 20% CSV export
R07.05.01.02-T11 Swap exterior wall types while holding the interior face line
Original instruction
In fixtures/terrace.rvt change all Level 1 exterior walls from 'Generic 200' to 'Ext - 300 Brick Insulated' so the interior finish face stays where it is (rooms must not change area) and the building grows outward. Keep door/window hosting and wall joins. Save.
- Platforms
win· Windows- Applications
- Revit
- Interfaces
desk· Desktop GUI- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
AP· API-sufficient- Interaction primitives
click· Point & clickgeom· Precise geometryvis· Visual judgment- Work product
WP04· 3D/spatial model- Conditions
licensed· Licensed pro app- Proposed difficulty
- 4 / 5
Proposed verifier
Extraction: all target walls of new type; interior face polyline equals fixture (±1 mm); room areas unchanged (±0.01 m²); hosted openings count equal; no join gaps. Dynamo, pyRevit and Revit API add-ins are disabled for the agent; the Revit journal must show the type swap and location-line change made through the UI.
Proposed partial credit
30% types swapped; 35% interior face held; 20% rooms unchanged; 15% openings/joins intact
R07.05.01.02-T12 Author an IFC wall with layers, openings and Pset properties in Bonsai
Original instruction
In Blender with Bonsai (BlenderBIM), open fixtures/pavilion.ifc and add a 6.0 m × 3.0 m IfcWall on Storey 'Ground' with a material layer set (100 brick, 50 cavity, 100 block), two 900×2100 door openings filled with IfcDoor at 1.0 m and 4.0 m, and Pset_WallCommon.FireRating='REI60', IsExternal=True. Save the IFC.
- Platforms
mac· macOSwin· Windowslin· Linux- Applications
- Bonsai · IfcOpenShell
- Interfaces
desk· Desktop GUI- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
click· Point & clickgeom· Precise geometrytype· Text & forms- Work product
WP04· 3D/spatial model- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
IfcOpenShell: new wall with dims ±1 mm in storey; layer set thicknesses; 2 IfcOpeningElement + IfcRelFillsElement with doors at stated offsets; Pset values; ifcopenshell.validate 0 schema errors.
Proposed partial credit
25% wall geometry/storey; 25% layer set; 30% openings & doors; 20% Pset + valid
R07.05.01.02-T13 Model a balcony floor sloped 1:50 to a drain with shape editing
Original instruction
In fixtures/apartment_block.rvt edit balcony floor F-B3 (Level 3) so its top surface falls at 1:50 from the building face toward a drain point at (input/drain.txt) using Modify Sub Elements/shape editing points, with the floor type set to variable thickness so the bottom stays flat. Save.
- Platforms
win· Windows- Applications
- Revit
- Interfaces
desk· Desktop GUI- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
geom· Precise geometryclick· Point & clickvis· Visual judgment- Work product
WP04· 3D/spatial model- Conditions
licensed· Licensed pro app- Proposed difficulty
- 4 / 5
Proposed verifier
Extraction of top face: elevation at drain = building-face edge - distance/50 (±2 mm); slope directions toward drain; bottom face planar at original level; variable layer enabled. Dynamo, pyRevit and Revit API add-ins are disabled for the agent; the Revit journal must show the shape-editing commands made through the UI.
Proposed partial credit
40% slope magnitude; 30% drains to point; 30% flat bottom/variable layer
R07.05.01.02-T14 Set up demolition and new-construction phases with phase-filtered views
Original instruction
In fixtures/school_reno.rvt mark the 22 walls and 6 doors marked red in input/demo_plan.pdf as Demolished in phase 'New Construction', add the new partitions shown blue as New Construction, and create views 'L1 Existing/Demo' and 'L1 Proposed' with the right phase and phase filters. Save.
- Platforms
win· Windows- Applications
- Revit
- Interfaces
desk· Desktop GUI- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clickvis· Visual judgmentgeom· Precise geometry- Work product
WP04· 3D/spatial model- Conditions
licensed· Licensed pro app- Proposed difficulty
- 4 / 5
Proposed verifier
Extraction: demolished-phase set equals key (by element ID); new walls with locations within 20 mm of PDF-derived key; two views with phase/filter assignments exact. Dynamo, pyRevit and Revit API add-ins are disabled for the agent; the Revit journal must show the phase edits and wall placement made through the UI.
Proposed partial credit
35% demo set correct (F1); 35% new walls; 30% views & filters
R07.05.01.02-T15 Add a shared fire-rating parameter to doors and fill it from Excel
Original instruction
Add shared parameter 'FireRating' (Text, Identity Data, from fixtures/shared_params.txt) to the Doors category in fixtures/hospital.rvt as an instance parameter. Fill it for all 96 doors from input/door_fire.xlsx (keyed by Mark), then add it to the existing door schedule.
- Platforms
win· Windows- Applications
- Revit · Excel · Dynamo
- Interfaces
desk· Desktop GUI- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
click· Point & clickmulti· Cross-appcode· Code & commands- Work product
WP02· Records/table- Conditions
licensed· Licensed pro appmultiapp· Multi-app- Proposed difficulty
- 3 / 5
Proposed verifier
Extraction: shared param GUID matches file; bound to Doors as instance; values equal xlsx for all 96; schedule includes the field.
Proposed partial credit
25% parameter bound correctly; 55% values filled (scaled); 20% in schedule
R07.05.01.02-T16 Create two lobby design options and report each option's areas
Original instruction
In fixtures/office_tower.rvt create option set 'Lobby' with Option 1 (primary) per input/lobby_opt1.pdf and Option 2 per lobby_opt2.pdf, each with walls, doors and rooms. Create two floor plan views showing each option and a room area schedule per option. Save.
- Platforms
win· Windows- Applications
- Revit
- Interfaces
desk· Desktop GUI- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
geom· Precise geometryclick· Point & clickvis· Visual judgment- Work product
WP04· 3D/spatial model- Conditions
licensed· Licensed pro applong· Long-horizon- Proposed difficulty
- 4 / 5
Proposed verifier
Extraction: option set with 2 options, primary=1; elements assigned to options; room areas per option within 1% of key; 2 views with visibility set to each option; main model unchanged. Dynamo, pyRevit and Revit API add-ins are disabled for the agent; the Revit journal must show the Design Options edits made through the UI.
Proposed partial credit
20% option set; 30% option 1 geometry; 30% option 2 geometry; 20% views/schedules
R07.05.01.02-T17 Generate an interactive door/window schedule in Archicad and export to Excel
Original instruction
In fixtures/house.pln create an Interactive Schedule 'Openings' listing all doors and windows with ID, Width, Height, Sill/Head, Storey, Quantity merged by type, sorted by ID, and export it to out/openings.xlsx.
- Platforms
win· Windowsmac· macOS- Applications
- ArchiCAD · Excel
- Interfaces
desk· Desktop GUI- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clicktype· Text & forms- Work product
WP02· Records/table- Conditions
licensed· Licensed pro appmultiapp· Multi-app- Proposed difficulty
- 2 / 5
Proposed verifier
openings.xlsx rows equal key derived from IFC export (grouping/quantities); schedule scheme saved in .pln (schedule name present in project map).
Proposed partial credit
60% rows/values correct; 20% grouping & sort; 20% scheme saved
R07.05.01.02-T18 Create a gable roof by footprint and attach the walls to it
Original instruction
In fixtures/cottage.rvt create a roof by footprint on Level 2 over the external walls with 600 mm overhang, 30° slope on the east and west edges only (north/south gables), type 'Basic Roof - Tiles 300'. Attach all external walls' tops to the roof. Save.
- Platforms
win· Windows- Applications
- Revit
- Interfaces
desk· Desktop GUI- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
click· Point & clickgeom· Precise geometryvis· Visual judgment- Work product
WP04· 3D/spatial model- Conditions
licensed· Licensed pro app- Proposed difficulty
- 3 / 5
Proposed verifier
Extraction: roof footprint offset 600±1 mm from wall exteriors; slope-defining edges east/west at 30°; type correct; gable walls' top attached (wall-roof attachment flag); ridge height equals computed value ±5 mm. Dynamo, pyRevit and Revit API add-ins are disabled for the agent; the Revit journal must show the roof and attach commands made through the UI.
Proposed partial credit
30% footprint & overhang; 30% slopes; 20% type; 20% walls attached
R07.05.01.02-T19 Batch-set door Marks and hardware sets from CSV through the Revit API
Original instruction
Write a pyRevit (or RevitPythonShell) script that reads input/door_hw.csv (UniqueId, Mark, HardwareSet) and sets Mark and the 'HardwareSet' project parameter for all 140 doors in fixtures/campus.rvt in one transaction, logging unmatched rows to out/unmatched.txt. Run it and save the model.
- Platforms
win· Windows- Applications
- Revit · pyRevit
- Interfaces
api· API/SDK- GUI need · task setting
AP· API-sufficient- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commands- Work product
WP02· Records/table- Conditions
licensed· Licensed pro app- Proposed difficulty
- 3 / 5
Proposed verifier
Extraction: Mark/HardwareSet equal CSV for matched doors; unmatched.txt equals 3 seeded bad IDs; one transaction in journal; no other parameters changed.
Proposed partial credit
60% values set; 20% unmatched logged; 20% no collateral edits
R07.05.01.02-T20 Link a structural IFC, copy/monitor grids and levels and resolve alerts
Original instruction
In fixtures/arch_model.rvt link input/struct_rev4.ifc by shared coordinates, use Copy/Monitor to monitor its grids A-F/1-7 and levels against the architectural ones, then run Coordination Review and resolve the 5 alerts per docs/coord_decisions.md (accept, move host element, or ignore with comment). Save.
- Platforms
win· Windows- Applications
- Revit
- Interfaces
desk· Desktop GUI- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clickvis· Visual judgmentnav· Pan/zoom/scroll- Work product
WP04· 3D/spatial model- Conditions
licensed· Licensed pro appmultiapp· Multi-app- Proposed difficulty
- 5 / 5
Proposed verifier
Extraction: IFC link placed via shared coords; arch grids/levels have monitor relationships to link elements; after review, each alert state/action equals decision key; grid positions match link where decision = accept. Dynamo, pyRevit and Revit API add-ins are disabled for the agent; the Revit journal must show Copy/Monitor and Coordination Review used through the UI.
Proposed partial credit
20% link positioned; 30% monitors set; 50% alerts resolved per decisions (10 pts each)
Mapped research references
Existing benchmark-to-class links from the research catalog. They are not record-level annotations, executions or product endorsements.