plugin.dev.lab

Antlion / Components / Custom Seat

Custom SeatSEAT-002

Same seat placement as Seat, but the vomitories, aisles and even the seats come from curves you draw instead of being generated. Use it where the automatic layout cannot express what you want.

1Plan & setup
2Section
32D layout
43D solids
5Analysis

core Bowl ▸ Section 3 21 in · 9 out

Fig. 1 — PortsReads left, writes right
Custom Seat component in Grasshopper
Stand Sections SSDObject · listThe tier sections, passed along the chain
Axis Object · itemThe axis system from Stand 2D
Stand 2D Object · itemThe tread rings seats are placed on
Vomitory VDObject · itemOptional
Custom Voms Cust VomCurve · treeOne branch per tier
Custom Steps Cust StepCurve · treeOne branch per tier
Custom Seats Cust SeatCurve · treeOne branch per tier
Custom Wheelchair Spaces Cust ♿Curve · treeOne branch per tier
Max Seats Per Run Max RunInteger · itemLongest run allowed when spectators can leave from both ends
Min Seats Per Run Min RunInteger · itemShortest run worth keeping
Aisle Side Mode ▾ SideInteger · listWhere the end aisles go: BOTH, LEFT, RIGHT or NONE
Seat Width Seat WNumber · itemWidth of one seat
Seat Depth Seat DNumber · itemDepth of one seat
Aisle Width Aisle WNumber · itemClear width of each aisle
Max Riser Step Max StepNumber · itemComfortable rise per aisle step
Aisle Split Mode SplitBoolean · itemAdd a mid aisle to runs still too long
Wheelchair Ratio Target ♿ %Number · itemTarget share of wheelchair spaces, percent of capacity
Wheelchair Space Width ♿ WNumber · itemWidth of one wheelchair space
Wheelchair Space Depth ♿ DNumber · itemDepth of one wheelchair space
End Offset End OffNumber · itemHow far each open end of the stand moves past its end axis
Panel Values PanelObject · itemEvery value from Input Panel, as one bundle
Seat Result SRDObject · itemThe whole 2D layout as one object
Seat Rects SeatsCurve · treeOne branch per tier
Good Seat Rects GoodCurve · treeOne branch per tier
Poor Seat Rects PoorCurve · treeOne branch per tier
Vom Rects VomsCurve · treeOne branch per tier
Aisles Curve · treeOne branch per tier
Wheelchair Platforms ♿ PlatCurve · treeOne branch per tier
Wheelchair Units ♿ UnitsCurve · treeOne branch per tier
Debug Text · itemDeveloper diagnostic output for tracking down bugs

Colored ports carry the chain from one component to the next. The rest are values you set once. Inputs marked ▾ take a Value List: wire one in and it fills with the choices.

Inputs

  • Stand SectionsSSDThe tier sections, passed along the chain. Wire from Stand 2D SSD
  • AxisAxisThe axis system from Stand 2D. Without it, curves are found from turn angles
  • Stand 2DStand 2DThe tread rings seats are placed on. Wire from Stand 2D
  • VomitoryVDOptional. How each tier gets down to the concourse - Vom Type Mode, drops, landings and clearances from Vomitory. Only these settings are used: your Custom Voms stay exactly as drawn, and each one is given its tier's stair, stepped or ramp descent. Wire from Vomitory VD
  • Custom VomsCust VomOne branch per tier. Draw each opening over the treads it spans: a closed rect, a band bent along the rings (4 corners, plus 2 per bend - split into rects, doors at both ends of the band - Vom 3D's Band Opening Mode can keep one), or a U-shaped outline (arms at or inside the bar's ends - split into arm, bar and arm). Two rects may share a segment only on different rows
  • Custom StepsCust StepOne branch per tier. Feed baked Aisles cells back, or draw your own - open curve = the aisle centerline, closed rect = one cell placing the aisle and its tread range
  • Custom SeatsCust SeatOne branch per tier. A tier given seats here is only judged, not laid out
  • Custom Wheelchair SpacesCust ♿One branch per tier. Draw each accessible space - wheelchair and companion alike - exactly where you want it. The rects are kept as drawn, seats underneath are removed, and automatic wheelchair units are replaced by yours - the accessible row itself stays cleared and merged
  • Max Seats Per RunMax RunLongest run allowed when spectators can leave from both ends (default 28)
  • Min Seats Per RunMin RunShortest run worth keeping. Anything shorter is flagged POOR (default 4)
  • Aisle Side Mode▾ SideWhere the end aisles go: BOTH, LEFT, RIGHT or NONE - one per tier, the last value fills the rest (default BOTH)
  • Seat WidthSeat WWidth of one seat (default 500 mm)
  • Seat DepthSeat DDepth of one seat (default 500 mm)
  • Aisle WidthAisle WClear width of each aisle (default 1000 mm)
  • Max Riser StepMax StepComfortable rise per aisle step. Taller risers get up to 2 steps (default 180 mm)
  • Aisle Split ModeSplitAdd a mid aisle to runs still too long. Tiers with Custom Steps use only your aisles (default true)
  • Wheelchair Ratio Target♿ %Target share of wheelchair spaces, percent of capacity. Reporting only (default 0)
  • Wheelchair Space Width♿ WWidth of one wheelchair space. 900 mm follows FIFA and EN 13200-1, 36 in follows ADA (default 900 mm)
  • Wheelchair Space Depth♿ DDepth of one wheelchair space. 1400 mm follows FIFA and EN 13200-1, 48 in follows ADA (default 1400 mm)
  • End OffsetEnd OffHow far each open end of the stand moves past its end axis - one value for both ends. Positive carries the stand on in a straight line and fills the new length with standard seats, negative pulls the whole stand back (seats, treads and body). Use + on one stand and - on its neighbor to meet on the same line. 0 = end on the axis. A closed bowl has no open ends (default 0)
  • Panel ValuesPanelEvery value from Input Panel, as one bundle. Anything you wire in yourself wins over it

Outputs

  • Seat ResultSRDThe whole 2D layout as one object. Wire into Cut, Stand 3D Plus or Vom 3D
  • Seat RectsSeatsOne branch per tier. Every seat as a rectangle in plan
  • Good Seat RectsGoodOne branch per tier. Seats in runs that meet the egress rules
  • Poor Seat RectsPoorOne branch per tier. Seats in runs that break the rules
  • Vom RectsVomsOne branch per tier. Your vomitory footprints as actually applied
  • AislesAislesOne branch per tier. The aisle floor as cells, tread by tread - intermediate steps where the riser needs them (up to 2), one full-tread cell where it does not
  • Wheelchair Platforms♿ PlatOne branch per tier. The level platform an accessible row sits on
  • Wheelchair Units♿ UnitsOne branch per tier. Two rects per unit - wheelchair space, then companion seat
  • DebugDebugDeveloper diagnostic output for tracking down bugs. Copy this when reporting a problem

What it does

A tier given all three of vomitories, aisle cells and seats is taken as complete, and Custom Seat adds nothing of its own there - no automatic aisle beside a vomitory and no aisle carried up to the top row - so every aisle you want has to be drawn. Aisle cells drawn inside a vomitory passage or its entry band are removed, with an orange warning that gives the row and position. A tier missing any of the three is filled in as before, with one exception: once you draw aisle cells on a tier, they are its only aisles. No automatic aisle is added there, and a run still longer than Max Seats Per Run shows in Poor Seat Rects with a white remark that gives the row and position - it is your layout to judge, not an error. Wheelchair spaces are optional either way. A vomitory band bent along the rings opens at both of its ends; which end keeps its door is chosen on Vom 3D, with Band Opening Mode.

Component
SEAT-002
Ribbon
Bowl ▸ Section 3
Tier
core
Ports
21 in · 9 out
Version
1.0.11
Checked
2026-10-07