Precast Manpower Estimator

Runs in this tab · your files stay on this computer

How many people does it take to erect the precast elements in this building?

Open an IFC model. This page counts the precast elements, works out the erection hours, and gives you the crew size.

For the whole site — every trade, week by week — open 5 · Whole site, by trade. It answers before you open a file, because it starts from your floor area and the productivity figure the Code publishes rather than from the model. The two answers rest on different evidence, and each page says which.

Choose your IFC file(s) or a folder

One file, several blocks of one building, or a folder whose sub-folders are each a project. What you choose decides how they are grouped — the line below says what will happen before you press the button.

Nothing chosen yet

Nothing is uploaded, whatever the dialog calls it. In Chrome and Edge, Choose a folder opens a picker headed Select Folder and then asks to view files, which is what actually happens. Firefox and Safari have only the older control, which is headed Select Folder to Upload and warns about uploading: that is the browser’s word for handing files to a page, and it says the same thing whether a page sends them on or reads them where they sit. This one reads them here. It has no server to send them to, and the Content-Security-Policy in its own HTML — connect-src 'self', form-action 'none' — forbids it from opening a connection anywhere else or submitting the form at all. Open your browser’s Network tab and watch: reading a submission makes no requests.

Change the erection ratesOptional. This page uses its own figures unless you load yours.

Nothing is uploaded. Your IFC file is opened and read inside this browser tab, on this computer. It is the real model, fully parsed — not a sample and not a preview. There is no server and no account, and no copy is kept anywhere. Close the tab and nothing of it remains.

New here?

WHAT THIS TOOL IS

Two manpower questions, answered from two different kinds of evidence

How many people erect the precast in this model, inside this programme? Tabs 2 to 4. Every figure is counted from the model: the pieces, their weights, their joints, the hours they take and the crew that clears them.

How many people are on the whole site each week, and what are they doing? Tab 5. It starts from the one productivity figure Singapore publishes — Annex C Table 4, square metres of floor area per manday — turns your floor area into a total manday envelope, and lays it out over sixteen trades. The envelope is published; the split between trades is this tool’s. The page says so beside every figure and in every export.

It does not schedule the job, plan a lift, check a design against the Code, or price anything.

  • You need an IFC file: the standard export from any BIM tool, and what goes to CORENET X. Nothing else — no login, no setup, no project details.
  • Your model never leaves this computer. It is read inside this browser tab, and nothing here sends it anywhere.
  • You get a crew size, a floor-by-floor workload, who does what, and every assumption behind the answer.
  • No IFC file? Open the demo submission — invented, generated in this tab, same calculation.

What comes back

  1. A crew size for the whole job, and what a tighter programme would cost in people.
  2. Every floor — pieces, tonnes, joints, hours, and how long that floor takes.
  3. Who does what, step by step, for each type of piece.
  4. What the answer rests on, ranked by how far it moves if the number is wrong.
Words used on this page — open this first if any of them are unfamiliar
IFC
The open file format for a building model. Every BIM tool exports it, so this page works no matter who drew the model. An openBIM tool is one that reads it rather than a single vendor’s own format.
Precast
Concrete cast in a factory and delivered finished, then lifted into place by crane — as opposed to being poured in position on site. This page only counts precast: columns, walls, beams and floor planks.
PPVC, PBU
Prefabricated Prefinished Volumetric Construction — whole room modules delivered complete. A Prefabricated Bathroom Unit is the same idea for one bathroom.
Erection
Lifting the precast pieces into their final position and fixing them. The thing this page estimates.
Crews at once
How many crews can erect at the same time. Your site decides this, not your hiring: a second crew only helps if there is a second block or tower for it to stand on. Floors of one tower do not count — each floor stands on the one below, so one tower is one crew working its way up, however many people you employ. The tool cannot tell one tower from two, so you state this; the default is one.
Crew
A group of people — not one person — erecting on one structure: the lifting supervisor, signalman and riggers the law requires, plus the erectors who receive and fix each piece. The crane operator is counted beside the crew, not in it, because they are in the cab. The size is calculated, not chosen — the tool counts the precast in your model, prices every piece in minutes (handling it, hoisting it by its weight, grouting each joint), adds the survey and non-productive time, and reports the smallest lawful crew that clears the whole workload inside your programme.
Takt
The time each floor is allowed if the whole building is to finish on time. Working days available, divided by the number of floors.
Cycle
How long one floor actually takes at a given crew size.
Lifting supervisor, rigger, signalman
The three people Singapore law requires to be appointed before a crane may lift anything, plus a registered crane operator. The signalman guides the lift and may do nothing else while doing it.
SWL — safe working load
The most a crane may lift at a stated radius. A crane called “60 tonne” lifts 60 tonnes only right next to itself; at the far end of the jib it lifts a fraction of that. This is why a crane is chosen against a radius and never against its name alone.
Working radius
The distance from the crane to where the piece has to be put down. The further out, the less the crane can lift — so the radius of the furthest heavy piece is what sizes the machine.
Gross load
The piece plus everything hanging below the boom head: the hook block, slings, shackles and any spreader beam. A lifting plan is prepared against this, not against the weight of the piece on its own.
Federated model
A building delivered as several files — one per block, or one per discipline — rather than one. Select them all together here.
One project, or several
One project: the files are all the same building, added into one answer. Several: each file, or each folder, is a separate job, costed separately and compared. Nothing in an IFC file says which, so you tell the page.
Rates dataset
How long one piece takes: minutes to hook and land it, extra minutes for its weight, minutes to grout each joint. The shipped figures are worked back from what BCA published, and most are not anybody’s measured numbers. Load your own and the page costs everything with yours, and says how many of its numbers came from you.
All at once, one at a time
Two ends of running several jobs. All at once: add the workforces — the peak headcount the canteen, toilets and safety appointments must be sized for. One at a time: only the biggest single crew, but it takes as long as all of them added up. Real programmes sit between, set by handover dates, not by this page.
Annex C
The part of the Code of Practice on Buildability that sets a floor-area-per-manday target, and requires contractors to report the mandays they actually used each month. Those returns are the right source for the rates on this page.
Buildability score
A design score for how easily a building can be built. This page never turns one into a crew size — a design score is not a labour measurement.

WEEKLY MANPOWER DEMAND

How many people are on this site, week by week, and doing what?

—at peak

Assumptions

Where this curve comes from

The crew estimator answers one trade from your model. This answers the site. It starts from the one productivity figure Singapore actually publishes — Annex C Table 4, square metres of construction floor area per manday — turns your floor area into a total manday envelope, and lays that envelope out over the programme by trade. Open Three layers, and which of them is measured at the foot of this tab for what that can and cannot carry.

Measure it instead of assuming it. Fill the template with the weekly headcount by trade from your completed projects — your site diary or manpower returns — and load it back. Every trade you fill in is measured from your records instead of assumed. Read in this tab only; nothing is sent.

Productivity, the working week, and where the structure sitsThree numbers that move the whole curve, and one that only moves the precast

Productivity claimed

The structure, when a model is loaded

Manday envelope——
Peak workforce——
Average on site—people per active week
Largest trade——
Unsourced numbers—of the figures behind this curve

THE CURVE

Weekly manpower by trade

WHAT EACH TRADE COSTS, AND WHENTrades, shares and windowsthe sixteen shares and their windows, every one of them editable

Every share is editable. They are renormalised to one after every edit, so raising a trade takes labour from the others rather than inventing it — the envelope does not move, only its division. Not one share is a published figure.

TradeGroupShare %MandaysPeakOn siteGangBasis
WEEK BY WEEKWeekly manpower tablethe same curve as numbers —

Click any week to see the crew composition behind it, role by role.

WHO IS ON SITE THAT WEEKCrew matrixrole by role, for the week selected above —

Roles are apportioned from each trade’s standard gang and the residue given to its largest working role, so every column adds to the headcount beside it. The gang ratios are this tool’s, not a published establishment.

TradeWorkersComposition

TAKE IT WITH YOU

Export

Generated in this tab and saved by the browser, like every other export here. Nothing is transmitted.

HOW THIS IS BUILTThree layers, and which of them is measuredwhat is published, what your model supplies, and what this tool assumed

The layers

  1. Quantities — the IFC take-off the rest of this tool already does: every precast piece, its level, its tonnage and its joints. Real, when you load a model.
  2. Sequence — where each trade’s work sits in the programme. Trapezoid windows for fifteen trades; for precast erection, the level cycles the crew estimator solved, laid on a week axis, with its first and last weeks tapered as the gang mobilises and leaves. With a model open, the assumed windows are moved to where the model’s structure actually starts and tops out — the trades that follow the structure follow the real one, so the site does not empty when the erection gang leaves early. A window measured from your records stays where it was.
  3. Manpower — mandays into people. Precast erection from the take-off; every other trade a share of the Annex C envelope.

What is measured and what is not

  • Published: the Annex C Table 4 baseline, read out of the Code dataset. One number, about a whole project.
  • Derived from your model: precast erection, when an IFC is loaded — and only that.
  • Assumed: every share, every window, every ramp and every gang ratio. They are a planner’s apportionment of a published total and not a measurement of any project.
  • The area under the curve never moves. Reshape a trade, re-weight a share, compress the programme — the total mandays stay the envelope, because every shape is normalised before it is given labour.
Why size a crew from an openBIM modelWhat the Code scores, what it does not publish, and why this goes the other way

Buildability is scored on design. The Code of Practice awards labour-saving points for how a building is put together, and Annex C sets an area-per-manday target — but it publishes no element labour rates. A crew size cannot be read out of a Buildability score, and this tool never tries to. It goes the other way: count what the model actually contains, price it with rates that are stated and editable, and let the programme decide the crew.

Why the IFC model

  • It already exists. The model is produced for submission anyway. Nothing new is collected, and there is no form to fill in before an answer appears.
  • openBIM, not a vendor API. Reading IFC means the tool works on any submission model whoever authored it, and the same extraction runs in a browser, in the lakehouse notebooks, or in a future integration — one contract, not three.
  • It is the only artefact with the right grain. Element type, level, quantity and count per storey is exactly the workload a manpower plan needs, and it is a join key: the same GlobalId links a piece to a 4D activity and later to a site record.
  • It reads in the tab. Submission models carry names and project identity and have no clearance to leave the machine, so the analysis has to come to the file rather than the file going to a server.

Why manpower, and what happens next

  • Crew size is the decision that moves money. Programme, preliminaries and the labour bill all follow from it, and on a tender it is usually settled by precedent rather than by the model in hand.
  • The calibration data is already being collected. Annex C requires monthly submission of the mandays used against construction output. A contractor's own returns are a better authority for their own job than any published average — and they are the intended replacement for every rate on this page.
  • This is release 1 of four: the workload baseline. Components, tonnes, joints, lifts and hours by floor, from the model alone. Release 2 replaces the assumed rates with recorded erection events; release 3 predicts a distribution rather than a number; release 4 puts it under a crane-and-sequence simulation.
  • So read this as a baseline, not a plan. It is the control figure a measured model has to beat, and the disclosure of exactly which assumptions it rests on.
The one thing this tool must never do is convert a Buildability score, or a prefabrication percentage, into mandays. Those are design measures. Everything here is derived from counted elements and stated rates, and every figure says which.
How this estimate is producedThe formula, the lifting roles the law requires, what happens to your file, and how the numbers are formed

Read this before quoting any figure. This is a proof of concept: it turns a count of precast elements per building level into an indicative labour demand and floor cycle using assumed planning rates — not measured site outcomes. Every number is reproducible from the IFC alone.

piece_minutes = handling(kind) + per_tonne(kind) x weight_t + grout(kind) x connections + hook_travel x level_index erection_h = SUM( piece_minutes ) x reference_crew / 60 labour_hours = erection_h x (1 + non_productive%) + survey_h_per_level learning(n) = MAX( 0.80 , n ^ log2(learning_rate) ) n = levels this crew has erected cycle_days = labour_hours x learning(n) / ( reference_crew x (crew / reference_crew)^0.78 x shift_hours ) working_days = duration_months x working_days_per_month sequence_days = SUM over levels( cycle_days ) / crews crane_days = total_elements / ( lifts_per_shift x cranes ) hold_days = levels x cure_hold_days / crews erection_days = MAX( sequence_days , crane_days ) + hold_days <- crew is solved against this

Time per piece has three parts because they scale differently. Handling — hook on, sling, land, align, plumb, prop, unhook, return — barely moves with weight. Lifting does: a hoist winch runs slower under load (a Potain MD 185A does about 108 m/min light and 46 m/min on the geared-down winch), heavy pieces are inched in on approach, and rigging gets more deliberate. Grouting is the joint, and belongs to the connection rather than to the piece. Splitting them is what lets a 9-tonne transfer beam cost more than a 1.5-tonne plank instead of the same.

The reference crew is the crew the rates were observed with, not a choice about the answer — and it does not cancel. Quote a piece at 35 crew-minutes and the work content is 35 x reference_crew / 60 labour-hours, so reading a 6-person crew's rates as if they were a 10-person crew's overstates the work, and every crew derived from it, by exactly 10/6. It also anchors the diminishing-return curve: at crew = reference_crew the efficiency factor is 1, and the cycle is just the hours that crew would take. The 0.78 exponent is the falling return from adding people to one floor — from a 10-person anchor, 18 people do the work of about 15.8. State the crew your rates came from in the site factors, and read any derived crew far from it as an extrapolation.

Levels are erected in order, and that is the whole point of the last three lines. Level n+1 stands on level n, so a tower is a precedence chain: their cycles add. Adding people shortens each cycle, sub-linearly, until the workface is full at 18 — and then stops. Thirty levels cannot be erected at once, at any headcount, because twenty-nine of them have nothing to stand on yet.

Two sequence assumptions ship switched off, and stay off until someone states them. A cure and prop-release hold is elapsed time between levels — grout gaining strength, props staying in, a topping curing — and it is the one quantity here that neither a crew nor a second crane can shorten, so it is added after the MAX rather than inside it. The default of zero days is a declaration that the programme carries no hold point, not a claim that grout cures instantly; take the number from the grout's datasheet and the engineer's prop-release criterion. Repetition learning runs the other way: the unit form of the learning curve, where each doubling of the levels a crew has erected costs learning_rate of the previous one. Published construction rates sit in the 80–95% band and repetitive precast belongs at its shallow end, but the unbounded curve is wrong past the first handful of repeats — at 90% it would have the thirtieth level erected in 60% of the first level's time — so improvement is clamped at 20%. Both are assumptions about your site and your crew, never measurements from the model, and the panel says which way each one moved the answer.

Only two things genuinely run in parallel. Crews at once counts physically separate structures — another block, another tower — because that is what lets a second crew work in parallel. The tool never infers it from the model; you state how many you have, and the default is one. Cranes raise the hook ceiling. That ceiling matters: one crane placing 16 pieces a shift needs 563 shifts for 9,000 pieces no matter how many people are standing on the floor, which is why crane_days is a floor under the answer rather than a footnote. The panel names which of the three — sequence, crane, or simply not enough work — is binding.

Given all that, Crew from: project duration sweeps crew sizes from the lawful floor up to 18, and takes the smallest one whose sequenced total fits the window. If none does, it says the window is not achievable and reports the earliest finish it can reach, rather than quoting a crew that would not deliver it.

The floor is set by law before it is set by practice. Under the WSH (Operation of Cranes) Regulations 2011 nothing may be lifted until a lifting supervisor (reg 17), a rigger (reg 18) and a signalman (reg 19) have been appointed, and only a registered crane operator may work the crane (reg 5). Those are not interchangeable with erectors: MOM's Code of Practice requires the signalman to hold their line of sight and to “refrain from handling load/ rigging simultaneously when giving signal”, and the lifting supervisor to be present and to keep the operation in view. So the crew carries a lifting supervisor, a signalman per hook and riggers per hook, and only what is left over receives, aligns, plumbs and props the piece — four of them at the very least, which is the one part of this floor that is practice rather than law. At one crane and one crew that comes to 1 + 1 + 2 + 4 = 8, which is where the tested band starts. A second crane is therefore not a free lever: it brings its own signalman, its own riggers and its own registered operator, and the lever table charges for them.

Process — what happens to your file

  1. Read in this tab. The IFC is opened with the browser File API and never leaves the machine.
  2. Read in slices and filtered, never as one string: only the entity types a take-off needs — elements, the spatial tree, quantities, properties, materials and units — are parsed into memory. Geometry is stepped over, which is what lets a several-hundred-megabyte federated model open in a tab at all. The trade is stated below.
  3. Assigned to a level via IfcRelContainedInSpatialStructure, falling back to the storey of an aggregate parent. Anything unresolved is grouped as Unassigned.
  4. Filtered twice. The element must classify as a column, wall, beam or slab, and carry precast evidence — precast, pre-cast, prefab, PC panel, PBU or PPVC in its name, type, object type or materials.
  5. Sub-components dropped where the parent is itself a counted element, so a host is not billed twice.
  6. Grouped by level, then costed and crewed. Nothing is written anywhere.

Strategy — how the numbers are formed

Rates are editable in the results panel, so the figures below are the shipped defaults rather than fixed constants. Minutes are crew-elapsed at the reference crew; the last column is the whole-piece figure at the assumed reference weight.

ElementHandling
min/piece
Lifting
min/tonne
Joints
(range)
Grouting
min/joint
Reference
weight
Whole piece
Column182.52 (1–3)53.0 t35.5 min
Beam172.52 (2–3)43.0 t32.5 min
Wall142.03 (2–4)2.53.5 t28.5 min
Slab / plank151.52 (1–3)2.52.5 t23.75 min

Plus, per level: hook travel 0.2 min per level of height per lift, survey 4 labour-hours for setting out and post-installation verification, and a 15% non-productive allowance on erection time for crane wait, late deliveries, an unready workface, weather and coordination.

  • Crew from: project duration (the default) sizes the workforce top-down from the programme, as above. The implied floor takt — working days × crews ÷ levels — is the per-level yardstick that duration forces, and it is what the Target column is judged against in this mode.
  • The crew response curve flattens where the crane takes over. Bars that stop falling as the crew grows are the honest answer to “can we throw people at it?”: past that point you are paying for people who wait for a hook.
  • Crew from: target floor cycle works bottom-up instead: it sweeps from the lawful crew floor up to 18 workers and takes the smallest crew that meets your target cycle, or the fastest tested crew if none does. Manual crew fixes one number for every level. Values outside the tested band extrapolate the same curve and carry less confidence.
  • The crew breakdown names the appointed roles first — lifting supervisor, signalman, riggers — then the erectors, then the registered crane operators beside the crew rather than in it. Two of those people are in the crew without handling a piece, which is the honest denominator if anyone divides a crew into a rate.
  • The duration and lever tables re-run the same arithmetic against other durations, and against the things that can actually shorten a sequenced programme: more people (until the workface and then the hook saturate), another crane, another crew with a block to stand on, and — where one has been declared — releasing the cure hold. Each lever states the site condition it depends on. Repetition learning is deliberately not among them: it is an assumption you make about the crew, not a resource you can buy.
  • Range is the level re-costed at the low and high joint counts for each element type, then ×0.90 and ×1.15 for residual rate uncertainty — the two things actually unknown, rather than a flat percentage.
  • Weight is IFC volume × 2.4 t/m³, or the reference weight for the type where the model carries no volume quantity. It drives the lifting term, so it does affect labour.
  • Connections are joints per piece by element type — column 2, wall 3, beam 2, slab 2 — each editable, and each with a stated range that the labour band is built from.
Where the default rates come fromEvery source behind the shipped figures, and why none of them is a measured rate

None of these is a measured outcome from this project, and none of them is a published rate for a Singapore residential precast crew — no such table is public. They are a defensible starting point, calibrated against what is: the shipped defaults put a whole piece at 24–36 crew-minutes, the low end of BCA's own band, which is where a repetitive floor with a settled crew belongs.

What it anchorsSourceWhat it says
Whole-piece timeBCA, Buildability Series — Construction Method for Precast System“Estimated time to install a typical precast element is 1/2 to 3/4 hour”, alongside the setting-out, propping, grouting and post-installation verification sequence the site factors stand for.
Split between handling, lifting and the jointTime wastage of prefabricated building hoisting, E3S Web of Conferences (2024)A staged field study of component hoisting: 227 s slinging, 279 s hoisting, 760 s positioning, 160 s unhooking, 94 s hook return — positioning dominates, and hoisting is the smaller share.
Why lifting scales with tonnagePotain MD 185A H10 specificationHoist speed falls as the load rises — about 108 m/min on the light winch against 46 m/min geared down — so a heavier piece spends longer on the hook for the same travel.
Hook travel per levelDerivedA 3.5 m storey at 30–60 m/min costs roughly 0.1 min each way, so 0.2 min per level per lift.
Sanity check on the totalsTindall; JLC; WisDOT production rates6–8 intricate architectural pieces a day, 15–20 repetitive ones; 8–12 wall panels a shift; 5–8 girders a day. The defaults plus the 15% allowance land a crew at roughly 12–14 pieces a shift.
The crane ceilingTindall; JLC15–20 repetitive pieces a day, 8–12 wall panels a shift. The default of 16 lifts per shift per crane sits at the top of that range — the point past which more people on the floor buy nothing.
The lifting roles inside the crewWSH (Operation of Cranes) Regulations 2011, reg 5(1), 17, 18, 19Before any lifting operation with a mobile or tower crane, the responsible person must appoint a lifting supervisor (reg 17(1)), a rigger (reg 18(1)) and a signalman (reg 19(1)); “no person shall rig up loads … unless he is a rigger appointed” (18(3)) and “no person shall give signal to the crane operator unless he is a signalman appointed” (19(3)). Only a registered crane operator may operate the crane (reg 5(1)).
Why the signalman is not also an erectorWSH Council / MOM, Code of Practice on Safe Lifting Operations in the Workplaces (2011, rev. 2014), 5.3.2–5.3.4The signalman shall “maintain his/her position so as to ensure line of sight during the controlled phase of the lift” and “refrain from handling load/ rigging simultaneously when giving signal to the crane operator” (5.3.4.2) — so the signalman is a dedicated observer, not a spare pair of hands. The lifting supervisor shall “be present during all lifting operations” and “keep within his/her sight and view of all the lifting operations” (5.3.2.3), and “may be allowed to supervise more than one lifting operation … e.g., when the two operations are side by side within close proximity” (5.3.2.2), which a separate block is not.
Cure and prop-release holdFive Star; SpecChem; the project's own structural engineerNon-shrink grouts publish strength against age, and the release of props is an engineer's decision against a strength criterion — not a figure any model carries. The tool therefore ships the hold at zero days and asks for it, rather than inventing a default that would silently lengthen every programme.
Repetition learningWright (1936); Thomas, Mathews & Ward, “Learning curve models of construction productivity”, ASCE JCEM 112(2), 1986Repeated units fall by a constant fraction with every doubling of the repeats; construction studies report rates in the 80–95% band and a steady state within the first several repetitions. Shipped off at 100%, clamped at 20% improvement when switched on, and never derived from the model.
Grout behaviourFive Star; SpecChemAbout 45 minutes of working time once mixed, with substrate preparation and pre-soaking before it. Minutes per joint are not published anywhere we could find, so the grouting rate is the residual once handling and lifting are taken out of BCA's band — the weakest number here, and the first one to replace.
The project's own returns are a better authority than any of this. Annex C already requires monthly submission of the mandays used against construction output, so the data that would calibrate these rates for a given contractor is already being collected. Replace the defaults with it.
Limitations — read before relying on a figureWhat this estimate cannot see
  • Weight moves the answer, but only through one term. Lifting minutes scale with tonnage; handling and grouting do not. A 9 t transfer beam therefore costs more than a 1.5 t plank — about 19 minutes more at the default rate — but not proportionally more. Piece count still dominates a normal residential floor, which is what the stage split under the results is for.
  • Quantities are taken as declared. The model is read without its geometry, so a contradictory pair of quantity families cannot be arbitrated against a measured volume the way the full appraisal does — the declared NetVolume, else GrossVolume, is used. This is the price of opening a several-hundred-megabyte model in a tab, and it is the reason a tonnage-sensitive result is worth checking against the authoring tool.
  • An assumed weight is an assumed labour figure. Models exported without base quantities fall back to a reference weight per type. The lifting term is then an assumption stacked on an assumption; the per-element table marks every piece it applies to.
  • Joints are typed, not counted. IFC carries no connection take-off, so grouting labour rests on an assumed number of joints per element type. It is the single largest soft spot in the estimate, which is why the range is built from it.
  • The rates are assumptions. They are not derived from completed floors. Replace them with approved site outcomes before any operational or commercial use.
  • A level named Unassigned is a parsing artefact, not a floor. If an export omits spatial containment, the whole building can land in one bucket and its cycle will look absurd.
  • Precast detection is keyword-based. Untagged precast is silently excluded; a mislabelled in-situ element is silently included. Both shift the answer.
  • Models above 400,000 elements are truncated. That is this page’s own ceiling, four times the engine default, because this page builds no geometry. When it is hit a warning appears above the results and the labour figure is an under-estimate — and so, in turn, is the crew the programme demands.
  • The duration is the erection window, not the contract. The tool takes the months you give it as time available for precast erection. Substructure, fit-out, and any float between the last panel and handover are yours to deduct before typing the number.
  • The number of crews is your claim, not the model's. The tool cannot tell one tower from two, so it takes the number you give it and splits the levels evenly between crews. Set it above one only where there really is another structure to stand on, with its own crane and its own access.
  • Levels worked by one crew are treated as interchangeable, in order. Their cycles add, which is right, but the arithmetic does not sequence a transfer floor before the tower above it, or model a crew trailing a floor behind doing grouting while the next is erected.
  • The lifting roles are a floor, not a plan. The crew is never sized below the lifting supervisor, signalman and riggers that must be appointed before a crane may lift, and that floor rises with every hook — but the tool cannot tell you that your appointed people are trained, in date, or actually on the level. It also charges one signalman per crane and one lifting supervisor per crew, which is this tool's reading of their duties; the Regulations state the appointments, not the arithmetic.
  • The crane ceiling is one number. Lifts per shift does not vary with piece weight, radius, height or wind, and a second crane is assumed to have equal reach. Real crane contention needs the simulation this PoC does not have.
  • Grout cure and prop release are a number you supply, not one the tool knows. The programme carries a per-level hold and reports what it costs, but it ships at zero and the model cannot derive it: the curing regime is a property of the grout, the ambient conditions and the engineer's prop-release criterion, none of which is in an IFC. Leaving it at zero is assuming a level is released as soon as its own erection finishes.
  • The learning curve is an assumed rate, and a blunt one. It is applied by repetition count, so it cannot tell a genuinely repetitive typical floor from a transfer level that happens to come next, and the 20% clamp is a stated stopping point rather than a measured plateau. A crew's real curve comes from its own recorded cycles.
  • Out of scope entirely: erection sequencing within a level, crane availability and crane cycle contention, deliveries and site logistics beyond the flat allowance, weather, post-installation works, and every trade other than precast.
Sanity check: if a floor shows an implausible cycle, look at its Level and Elements / lifts columns first. An Unassigned row, or a piece count far above one floor's worth, explains almost every surprising result.
Privacy and file handlingWhere your model goes, which is nowhere
  • Real-time, in-tab processing. Your model is read, parsed and discarded in this browser. There is no upload endpoint, no database, no project storage and no analytics.
  • Nothing persists. No cookies, no local storage, no session. Closing or reloading the tab discards everything — there is nothing to resume and nothing to delete.
  • Enforced, not just promised. A Content-Security-Policy confines this page to its own origin and blocks form submission, so model data cannot leave even if the code were faulty.
  • Traffic is inbound only. The page downloads two static reference files, the buildability code and the classification rules. Nothing is sent back.
  • CSV export is generated in the browser and saved by the browser. It is not transmitted.
  • What the host still sees: the ordinary web-server record of your request for this page and its assets. It never sees your IFC — that does not cross the network.
  • The source links are the only way out. The citations under “where the default rates come from” are ordinary links to other sites; they open in a new tab, send no referrer, and carry nothing about your model. Nothing on this page follows them for you.
  • Size. Files above 1 GB are rejected before parsing, and a cap of 400,000 elements applies — when it is hit the model is truncated, the warning banner says so, and the labour figure and the crew derived from it are under-estimates. The model is read in slices rather than as one string, which is what makes a large file possible at all: file.text() has to produce a single JavaScript string, and an engine caps a string at 229 − 24 characters, so anything past about 512 MB used to fail with RangeError: Invalid string length before a line of this page ran. Only the entity types a take-off reads are parsed — elements, the spatial tree, quantities, properties, materials, units — and the geometry, which is most of an IFC and none of this calculation, is stepped over. Measured on a synthetic 600 MB model: 22 seconds, 323,120 precast elements, 9.0 million geometry entities skipped, about 1 GB of tab memory. Parsing still runs on the page thread, so the tab will be busy while it works; the progress figure is real, not a spinner. Above 400 MB the page says so before it starts.