Payap scenario: Part/Draft model with roof, rooftop PV and PV parking canopies
New FreeCAD model docs/cnx_vinyl_parametric_payap_parts.FCStd: the Payap scenario rebuilt from plain Part solids and Draft (arrays, labels, dimensions) on the same Params sheet, no BIM objects, plus: - monopitch roof 10 deg, low eave 7.0 m south, high side 11.4 m north (phase 1 RFQ geometry); gables and the fire wall follow the roof - rooftop PV: 901 x 580 W placeholder modules, ~523 kWp, 17 rows in blocks of four with walkways, 1 m edge strip, 2.5 m clear over the fire wall (estimate) - car canopy (10 bays, 72 modules) and scooter canopy (30 spaces, 22 modules), ~54 kWp, RFQ footprints and heights - module counts and kWp as sheet expressions; ~577 kWp in all FreeCAD 26.3 RC1 does not propagate spreadsheet edits: CNX_apply_Params macro touches the dependents and recomputes; parametric test (factory length, pitch, car bays, walkway) matches the sheet counts. site-candidates.md: roof/PV/canopy section with the export, battery and BOI questions a 577 kWp array raises; mirrors in sustainability.md and scale.md; README layout lines.
This commit is contained in:
1 parent
1946553dd1
commit
7688d03be6
8 files changed
+80
No files matched your search
@@ -282,6 +282,10 @@ docs/
|
||||
├── cnx_vinyl_parametric_payap-iso.png Isometric view of the Payap model
|
||||
├── cnx_vinyl_parametric_payap-office.png Office building floor plans
|
||||
├── cnx_vinyl_parametric_payap-block.png Finishing and print block plans
|
||||
├── cnx_vinyl_parametric_payap_parts.FCStd Payap model in Part/Draft: roof, PV, parking canopies
|
||||
├── cnx_vinyl_parametric_payap_parts.png Isometric view of the parts model
|
||||
├── cnx_vinyl_parametric_payap_parts-top.png Top view of the parts model
|
||||
├── CNX_apply_Params.FCMacro Pushes Params edits to the model (FreeCAD 26.3 RC1)
|
||||
├── crane-workshop-tours.md Overhead crane, workshop, visitor corridor
|
||||
├── digital-factory.md Data platform, NixOS/Clan fleet, acquisition, app
|
||||
├── facility-security.md Security, HVAC, fire and life safety, compliance
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
# CNX: apply Params
|
||||
# FreeCAD 26.3 RC1 does not pass spreadsheet edits on to the objects that read them
|
||||
# (a normal recompute only recomputes the sheet). Run this macro after editing Params:
|
||||
# it touches every object whose expressions read the sheet, then recomputes; anything
|
||||
# further down the chain (arrays, dimensions) follows normally.
|
||||
import FreeCAD as App
|
||||
|
||||
doc = App.ActiveDocument
|
||||
sheet = doc.getObject("Params") if doc else None
|
||||
if sheet is None:
|
||||
App.Console.PrintError("CNX apply Params: the active document has no Params sheet\n")
|
||||
else:
|
||||
sheet.recompute()
|
||||
deps = [o for o in sheet.InList if o is not sheet]
|
||||
for o in deps:
|
||||
o.touch()
|
||||
n = doc.recompute()
|
||||
bad = [o.Label for o in doc.Objects if "Invalid" in o.State or "Error" in o.State]
|
||||
App.Console.PrintMessage(f"CNX apply Params: {len(deps)} objects read Params, {n} recomputed, errors: {bad[:10]}\n")
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 151 KiB |
Binary file not shown.
Binary file not shown.
|
After Width: | Height: | Size: 443 KiB |
@@ -113,6 +113,9 @@ Staff parking is roofed, in the front yard clear of the loading route:
|
||||
canopies — dimensions per the modelled layout in the
|
||||
[construction RFQ](finance/phase1-construction-rfq.md). At 4.1 m and 3.5 m
|
||||
they sit below the main building's 7.0 m low eave, so they cannot shade it.
|
||||
Fully covered with the 580 W placeholder module the two canopies take 94
|
||||
modules (~54 kWp); see the Payap parts model in
|
||||
[site candidates](site-candidates.md#roof-pv-and-parking-canopies-part-and-draft-model-october-2026).
|
||||
|
||||
### Expansion headroom: a second building
|
||||
|
||||
|
||||
@@ -281,4 +281,53 @@ and every equipment envelope is an estimate.
|
||||
|
||||
All of it is an estimate to settle against the real plot.
|
||||
|
||||
### Roof, PV and parking canopies (Part and Draft model, October 2026)
|
||||
|
||||
A second model of the same scenario,
|
||||
[cnx_vinyl_parametric_payap_parts.FCStd](cnx_vinyl_parametric_payap_parts.FCStd)
|
||||
([isometric](cnx_vinyl_parametric_payap_parts.png),
|
||||
[top view](cnx_vinyl_parametric_payap_parts-top.png)), is built from plain
|
||||
Part solids and Draft (arrays, labels, dimensions) instead of BIM objects,
|
||||
on the same `Params` sheet, and adds the roof, the PV and the parking
|
||||
canopies. Module counts are expressions on the sheet (`pv_roof_n`,
|
||||
`pv_cp_n`, `pv_kwp`), so the drawing and the kWp change together when a
|
||||
parameter does.
|
||||
|
||||
- **Roof**: monopitch at 10° with the low eave (7.0 m) on the south side
|
||||
and the high side 11.4 m above the floor on the north, the geometry of
|
||||
the [phase 1 RFQ](finance/phase1-construction-rfq.md) and the
|
||||
[sustainability](sustainability.md) roof study. On this plot (road
|
||||
assumed south) the whole field faces south; once Payap names a plot,
|
||||
its bearing sets the azimuth and the yield derate. The fire wall rises
|
||||
with the roof, 0.5 m above it.
|
||||
- **Rooftop PV**: 901 modules of the generic 580 W placeholder, ~523 kWp,
|
||||
in 17 rows (blocks of four with a walkway, 1 m edge strip, as in the
|
||||
sustainability study): 45 columns west of the fire wall and 8 east of
|
||||
it, with 2.5 m of roof kept clear over the wall (estimate; check the
|
||||
Thai code and the insurer).
|
||||
- **Parking canopies**, both in the car park clear of the footpath:
|
||||
- car canopy, 10 bays, 27.7 × 7.0 m at 4.1 m: 72 modules;
|
||||
- scooter canopy, 30 spaces, 13.7 × 5.5 m at 3.5 m: 22 modules.
|
||||
|
||||
Together ~54 kWp. Covering the canopies fully gives more than the
|
||||
~40 kWp the RFQ states. The RFQ heights are read as the high side; at
|
||||
the 10° tilt used for self-cleaning (estimate for the canopies) the low
|
||||
side clears 2.9 m (cars) and 2.5 m (scooters).
|
||||
- **Total ~577 kWp**: at 1,400 to 1,500 kWh/kWp/yr that is about 810 to
|
||||
870 MWh a year before any azimuth derate, roughly 55 to 85 % of the
|
||||
1,000 to 1,500 MWh mature two-shift use ([scale](scale.md)). Three
|
||||
things follow before this size is fixed:
|
||||
- at midday the array can exceed the plant's load (weekends, single
|
||||
shift), so PEA's export terms decide whether the surplus is sold or
|
||||
curtailed;
|
||||
- the 271 kWh battery is sized for ride-through, not to absorb it;
|
||||
- the BOI solar measure caps eligible spend per MW ([BOI](boi.md)).
|
||||
|
||||
FreeCAD 26.3.0 RC1 does not pass a cell edit on to the parts that read
|
||||
the cell (a normal recompute updates only the sheet). After editing
|
||||
`Params`, run the macro [CNX_apply_Params.FCMacro](CNX_apply_Params.FCMacro)
|
||||
(copy it to the FreeCAD macro folder): it touches every object that reads
|
||||
the sheet and recomputes. Tested with factory length, roof pitch, car bays
|
||||
and walkway width; the drawn module count matches the sheet each time.
|
||||
|
||||
The Mueang Chi model and everything sited on it stay as they are.
|
||||
@@ -106,6 +106,11 @@ large-format modules reach roughly 225 W/m². Roughly 70 m of plot depth
|
||||
remains undeveloped behind the building for ground-mount, which matters if
|
||||
the electric-boiler route is chosen.
|
||||
|
||||
On the Payap scenario plot the 128 m factory roof takes ~901 modules
|
||||
(~523 kWp) and the car and scooter canopies another ~54 kWp, ~577 kWp in
|
||||
all; what that size means for export, the battery and BOI is in
|
||||
[site candidates](site-candidates.md#roof-pv-and-parking-canopies-part-and-draft-model-october-2026).
|
||||
|
||||
### Energy efficiency architecture: recover before generating
|
||||
|
||||
The deepest efficiency in this plant comes from its own thermodynamics: the
|
||||
|
||||
Reference in new issue
Block a user