Files
cnx_vinyl/docs/finance/phase1-construction-rfq.md
T
grabowski 1bbef055c4 Remove em dashes where the replacement is unambiguous
The project has a standing style rule against em dashes that was missed
when these docs were written. This removes the 42 occurrences where the
substitution is mechanical and cannot change meaning:

- table cells using an em dash as a placeholder, now a hyphen
- em dashes immediately followed by a conjunction or subordinator
  (but, and, or, so, though, while, which, where, because, since),
  where a comma is simply correct

115 remain. Those join independent clauses, where a comma would create a
splice and a colon often reads wrong, so each needs a judgement call
rather than a pattern. A blanket regex over them was attempted and
reverted: it produced double colons and broken sentences.
2026-08-06 15:31:09 +07:00

199 lines
12 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Phase 1 Construction: Rough Pricing Request
Spec sheet for asking a contractor for a budget-level price on the phase 1
buildings and site works. Quantities come from the parametric model
(`docs/cnx_vinyl_parametric.FCStd`) sited on the candidate Mueang Chi
parcel; everything here is planning-stage, not construction documents. In
Thailand this scope is typically quoted as a PEB (pre-engineered steel
building) per m² plus civil works, and the sheet is structured that way.
Context to give the contractor up front: the land is not yet purchased and
zoning is unverified, so this is a budget number, not a bid.
## 1. Main production building
| Item | Spec |
|---|---|
| Type | Single-storey steel portal frame (PEB), no mezzanine, no crane |
| Footprint | **60 × 25 m = 1,500 m²** |
| Roof | Monopitch, **10° pitch**, roof plane **1,523 m²**, low eave **7.0 m**, high side **~11.4 m** (both above finished floor) |
| Roof load | Carries a rooftop PV array (~425 modules, ~247 kWp): add **~20 kg/m²** dead load plus wind uplift on racking; PV mounts on the purlins |
| Envelope | **Insulated sandwich panels, walls and roof, PIR core — EPS core excluded** (fire and insurability), fire-rated class stated (FM-approved or B-s1,d0). **Roof 100 mm PIR** with light-colored top skin, **walls 75 mm PIR**. Taped/gasketed joints throughout — the building is air-conditioned (20–26 °C, 35–60 % RH) and must be airtight against smoke-season PM2.5. No skylights. Not bare metal sheet with blanket insulation. **See §1a for where mineral-wool core is required instead** |
| Wall quantities | Masonry/precast dado **170 m perimeter × 2.5 m = 425 m²** (impact, security, washdown), internally insulated so the envelope stays continuous; **sandwich panel above dado ~1,140 m²** |
| Floor | **200 mm** ground-bearing slab rated **30 kN/m² UDL**, provision for machine plinths, power-floated finish |
| Finished floor level | **+1.2 m above surrounding ground** — see §1b |
| Doors | 2 loading doors (insulated sectional) as **sealed dock positions**: dock shelters/seals plus dock levelers, so the docked trailer acts as the airlock and doors never open to outside air. Personnel entrances with vestibule; fire exits per code |
| Interior | **Shell only — no internal fit-out** in this price (clean room, offices etc. priced later) |
On the slab spec: 30 kN/m² (3 t/m²) is the standard industrial warehouse
class, not a premium — it is what the presses and pallet racking need, and
stepping up from a light-duty slab adds only on the order of 100–200 THB/m².
The real cost variable is the ground underneath (see soil, below). A later
value-engineering option is to zone the slab — 30 kN/m² under press hall and
warehouse only, lighter under offices, but for rough pricing the whole
floor is specified at 30 so the number is conservative.
### 1a. Panel core: where PIR is not enough
PIR is specified for the general envelope because it gives the best thermal
performance per millimetre (λ ≈ 0.022 W/mK, so roughly U 0.28 W/m²K walls
and 0.21 W/m²K roof), which is what the conditioned interior needs. Two
places it should **not** be used, and the contractor should price
**mineral-wool core** panels instead:
- **Fire compartmentation.** A panel's reaction-to-fire class is not a fire
resistance rating. Any wall required to compartment — production hall to
warehouse, and anything separating the boiler hall — needs rated
construction achieving **EI 60 or EI 120**, which in panel form means
mineral wool, not PIR.
- **Acoustics.** PIR performs poorly for sound, typically **Rw 25–30 dB**;
it is a stiff closed-cell foam and behaves as a mass-spring-mass system
with coincidence dips. Presses, compressors, chillers and the boiler are
all significant sources and the site is agricultural land, so a neighbour
complaint is a permitting risk. Mineral-wool core reaches roughly
**Rw 32–40 dB**.
Ask the contractor to price the general envelope in PIR and to quote
mineral-wool core as a **separate rate per m²** for nominated compartment
and acoustic walls, stating the panel thickness needed to hold the same
U-value (mineral wool at λ ≈ 0.038 needs roughly 130 mm walls / 180 mm roof
to match, and is heavier — it may affect purlin and frame sizing).
**Open decision:** which elevations are acoustically governed. That depends
on the neighbour to be identified at the land survey. Until then, price the
mineral-wool rate but leave the area provisional.
### 1b. Raised floor and site fill
The dock-height question is now **decided**: the whole building floor is
raised rather than forming a recessed dock pit. This is a civil works item
and must be included.
| Item | Quantity |
|---|---|
| Compacted structural fill under the building platform | **1,711 m³** |
| Fill build-up | 1.0 m compacted fill + 200 mm slab = **FFL +1.2 m** |
| Reinforced concrete edge beam to retained faces | **56.1 m³**, ~85 m of retained edge |
| Battered faces | Two faces battered at **1V:2H** rather than retained (no edge beam) |
The loading face and the car-park elevation are retained by the edge beam;
the other two faces are battered. The dispatch room behind the docks runs as
a buffer climate zone, separated from the conditioned warehouse by
interlocked high-speed roll doors.
**Access at grade.** With FFL at +1.2 m the building needs its own access,
now modelled and to be included:
| Item | Spec |
|---|---|
| Vehicle ramp | **10.5 m run × 4.5 m wide at 1:10**, rising 1,050 mm from yard level to FFL, sited at the far end of the building — opposite the docks, so it does not conflict with dock operations. **~22.9 m³** concrete |
| Personnel steps | **3 flights**: main entrance on the car-park elevation, plus two fire exits — one at the opposite end of the same elevation, one at the dock end. Each **1.5 m wide, 6 risers at 175 mm, 5 treads at 280 mm, 1.2 m top landing**. **~2.3 m³** each |
Two things deliberately not in the model, to be priced anyway: **handrails**
to both sides of every flight and to the ramp, and **door thresholds**.
The ramp is 1:10, which suits forklifts and vans but is **not** an
accessible gradient. If a step-free staff entrance is required, that is a
separate 1:12 ramp with intermediate landings — flag it now if wanted.
Exit positions are provisional: they are placed for reasonable escape
distances on a 60 × 25 m footprint, but final numbers and locations follow
the fire strategy and the racking layout, neither of which is fixed.
## 2. Detached utility yard
Simple industrial enclosures beside the main building.
| Building | Area | Height |
|---|---|---|
| Boiler hall | 66 m² | 6.0 m |
| Biomass fuel store | 42 m² | 5.0 m |
| Chiller room | 60 m² | 5.0 m |
| Cooling tower pad (concrete pad only) | 10 m² | - |
The 14 m flue stack comes with the boiler — excluded here. The boiler hall
envelope should be non-combustible (mineral-wool panels or masonry), not
PIR.
## 3. Site works
| Item | Quantity |
|---|---|
| Perimeter wall | **~444 m** boundary, **2.0 m** high block/precast on strip footing (~174 m³) |
| Main gate | **One** gate only: piers plus **bi-parting sliding leaves, 10.0 m clear opening** (2 × 5 m). The previously mooted second gate is deleted |
| Paving — heavy duty | **1,608 m²** rigid reinforced concrete for laden trucks: truck apron, dock face, internal circulation road, Phase 2 link |
| Paving — general | **2,779 m²** lighter hardstanding: car park, yard and margins |
| **Paving total** | **4,387 m²** — see note below |
| Car/scooter parking | Roofed canopies: **27.7 × 7.0 m (195 m², 10 cars)** + **13.7 × 5.5 m (76 m², 30 scooters)**, steel canopy carrying **~40 kWp** PV |
| Guard house | **12 m² (4 × 3 m)**, insulated/AC'd, with toilet; sited at the gate, north-west side |
| Tank foundations | Ring foundation for a **9 m dia × 4 m** fire water tank (**~250 m³, ~250 t full** — the geometry gives 254 m³ gross; if 200 m³ usable with freeboard is intended, the foundation still carries the full 250 t) sited in the **north-west corner of the plot**, with the **fire pump house adjacent to it**; plus a **5 m dia × 3 m** raw water tank. Tanks themselves are vendor-supplied bolted panels — foundations only |
| Fire main | Ring main runs from the north-west corner to the buildings — quote the **length**, not just "a ring main" |
| Drainage & sanitation | Site stormwater drainage, domestic septic/treatment for ~25 staff — **see note below** |
**On the paving quantity.** This is a deliberate increase: the site is now
paved continuously from the road frontage through to the Phase 2 building.
At 4,387 m² it is roughly 2.5× the 1,500–2,000 m² this sheet previously
carried, and it becomes one of the larger civil numbers in the package. Two
things follow:
- The two paving classes are quoted separately on purpose. Do **not** price
the whole 4,387 m² at truck spec.
- Roughly the last third of the general paving is the Phase 2 approach,
which will be dug up again for Phase 2 piling and foundations. **Option to
price:** compacted sub-base only now, surfaced after Phase 2 completes.
**On drainage.** 4,387 m² of pavement is about 46 % of the 9,567 m² plot,
but the figure that matters for attenuation is the **total sealed area**:
adding the main building (1,500 m²), utility yard (178 m²), guard house
(12 m²) and parking canopies (271 m²) gives **6,348 m², or 66 % of the
plot**. Quote the contractor that number, not the paving one.
Runoff increases materially over the agricultural baseline, and
stormwater attenuation — quite possibly a detention pond — may be required
for the factory permit. Ask the contractor to state what they have assumed.
## 4. Exclusions
State these so the number is clean: process machinery, PV system, HVAC
plant, chiller/boiler/tanks themselves, sprinkler system, internal fit-out,
transformer (PEA), and land works beyond normal grading.
## 5. Questions the contractor will ask
- **Soil conditions**: unknown — the plot is agricultural land in Mueang
Chi, Lamphun, likely soft former paddy. A soil boring test (~30–50k THB)
comes before any real number. For rough pricing, ask them to assume
soft-to-medium Lamphun valley soil and to **state the foundation
assumption they price** (footings vs driven piles; a piled slab can add
several hundred to 1,000+ THB/m²). The soil, not the slab spec, is the
main price risk in the whole package, and it now applies to 4,387 m² of
pavement and a 1,711 m³ fill platform as well as the building.
- **Tank proximity to the building**: the fire water tank sits about 4.5 m
from the main building. Full, it is ~250 t on a 9 m ring foundation. On
soft ground, ask whether they price a deeper tank foundation, ground
improvement, or want the tank moved further off.
- **Panel core**: PIR general with mineral wool at compartment and acoustic
walls (§1a) — separate rate per m², and any frame implications.
- **Sprinklers**: OH2 sprinkler system, ring main, and hydrants are planned
but not designed (see [facility security](../facility-security.md)). Ask
whether they price it or use a specialist sub — quoted separately either
way.
- **Racking height** in the warehouse zone: undecided; drives the fire
design, not the shell, but they may ask.
- **Permits**: ask whether the price includes permit drawings by a licensed
engineer for the building permit and Ror.Ngor. 4 factory license — rough
shell prices usually don't.
## 6. What to ask for back
- **THB/m² rough range for the PEB shell** at the insulated-panel spec
above — not the bare-shed spec
- Separate rates for **heavy-duty** and **general** paving
- A separate rate for **mineral-wool core** panel
- A lump figure for the rest of the site works
- The foundation/geotech assumption behind all of it
That is enough to sanity-check against the ~24–42M THB Thai-sourced
utilities baseline in the [utilities CSV](utilities-investment.csv);
building construction is currently an unpriced line in
[scale](../scale.md).