This guide is meant for end-users — sales engineers, estimators, and BOM operators — who use Greenhouse Workbench v3 to design greenhouse structures, preview them in 3D, and download the complete Bill of Materials (BOM) as an Excel file. All numbers in the worked examples are generated by the same software you will be using.
1. About this guide
The guide walks you through the software from the very first screen up to the downloaded Excel workbook, and includes four fully-worked examples that you can replicate exactly.
Who should read this guide?
- Sales engineers preparing quotations for customers.
- Estimators verifying material requirements before procurement.
- Project managers checking that the design matches the order.
- Anyone new to the software who wants a one-shot, end-to-end walkthrough.
What this guide is not
- It is not a developer manual — internal code, APIs, and database schemas are not covered here.
- It is not a structural-engineering reference — load calculations and code compliance are outside scope.
- It is not a fabrication / installation manual for the shop floor — that lives inside the Excel workbook in the Fabrication Process sheet.
2. Software overview
Greenhouse Workbench v3 is a web-based design tool. You open it in your browser, pick a greenhouse model, set a few parameters (such as the number of spans, the number of bays, the gutter height, and which pipes to use), and the software does the rest:
- Generates the full 3D geometry of the structure — every column, every arch, every purlin.
- Shows the live 3D model in your browser so you can rotate, zoom, and inspect.
- Computes a complete Bill of Materials — pipes, clamps, bolts, accessories.
- Records every junction (every place two pipes meet) with the right clamp size and type.
- Exports a multi-sheet Excel workbook that you can share with procurement, fabrication, and the customer.
Key strengths
- Geometry-driven BOM: Quantities are derived from the actual 3D model — not from formulas — so the BOM matches what will be built.
- Live pipe substitution: Change a pipe size and the 3D model, weight, and BOM all update immediately.
- Multiple greenhouse families: NVPH (GA / TV-NHB / GA 9.6 m), FVPH, DRSHNH, FRSNH, and MSPT-SP — all from one interface.
- Rectangular pipe support: Square and rectangular hollow sections (SHS / RHS) with face-aware clamp labelling.
- Standardised fabrication sheet: Every export includes the standardised fabrication process for that model.
http://<server>/greenhouse-v3/), and log in
with the credentials given to you by the administrator. If you do not yet have credentials, please
contact your administrator.3. Getting started — quick start in 5 steps
This is the golden path. Follow these five steps and you will have an Excel BOM downloaded to your laptop within a couple of minutes.
- Open the viewer. Go to the internal URL and log in.
- Pick a model. From the Structure type dropdown, choose the greenhouse model you want (for example, NVPH-GA). The 3D canvas shows a default design.
- Set dimensions. Enter the number of spans, number of bays, span width, bay length, and gutter height. The 3D model regenerates as you type.
- Adjust pipes (optional). Open the Pipe groups panel on the right. For any pipe role (main column, arch, purlin, etc.), pick a different pipe from the dropdown. The model, the legend, and the weight badge all update live.
- Download the Excel BOM. Click Download Excel at the top. The browser saves an
.xlsxfile containing every sheet — Summary, Pipe BOM, Hardware BOM, Production Process, Fabrication Process, Junction Summary, and so on.
4. The 3D viewer interface
The viewer is a single page in your browser. It has three main areas — the toolbar (top), the 3D canvas (centre), and the side panels (right side).
4.1 Toolbar & generation controls
The toolbar runs along the top. From left to right you will typically find:
- Structure type dropdown — pick the model family (NVPH-GA, FVPH, DRSHNH, FRSNH, NVPH-TV-NHB, MSPT-SP, etc.).
- Dimensions inputs — number of spans, number of bays, span width (m), bay length (m), gutter height (m).
- Generate / Update buttons — regenerate the 3D model after a change. Most changes update live; some require a click.
- Save design — store the current configuration under a name so you can re-open it later.
- Download Excel — exports the full BOM as a
.xlsxfile. - Download PDF — exports a printable summary PDF.
4.2 The 3D canvas — rotate, pan, zoom
Mouse controls on the 3D canvas:
- Left-click + drag: rotate the model around its centre.
- Right-click + drag (or Shift + drag): pan the camera.
- Scroll wheel: zoom in and out.
- Double-click: recentre the view on the picked point.
On a touch device — two-finger pinch to zoom, one finger to rotate, two fingers to pan.
4.3 Pipe legend & weight badge
The Pipe legend appears on the right side. It lists every pipe role in the structure (main column,
anchor column, big arch, small arch, etc.) along with the currently-assigned pipe (for example, 76×2 mm
or 90×50×2 mm) and its colour in the 3D view.
Below the legend you will see the Weight badge — the total weight of all pipes in the structure, in kilograms. The moment you change any pipe, this number updates instantaneously. Use it as a quick sanity check before you export.
4.4 Hide / show layers
Each pipe role has a small eye icon in the legend. Clicking it hides that role from the 3D view (useful to see inside a complex structure). Click it again to bring it back. Hiding a role does not remove it from the BOM — it is a view-only filter.
5. Choosing a structure model
The software supports 8 structure families. Pick the one that matches the kind of greenhouse you are quoting:
| Code | Family | Use case |
|---|---|---|
| NVPH-GA | Naturally-ventilated, gothic arch | General-purpose vegetable and flower greenhouses, 8 m bay span. |
| NVPH-GA-96 | Naturally-ventilated, gothic, 9.6 m | Wider 9.6 m bay variant of NVPH-GA for high crops and machinery. |
| NVPH-TV-NHB | Tunnel-ventilated, NHB-compliant | NHB subsidy-compliant NVPH variant with tunnel ventilation. |
| FVPH | Fan-and-pad ventilated polyhouse | Climate-controlled greenhouses with exhaust fans and cooling pads. |
| DRSHNH | Dry shade-net house | Shade-net house for dry climates and shade-loving crops. |
| FRSNH | Flat-roof shade-net house | Lower-cost shade-net structure with flat roof. |
| MSPT-SP | Mono-span single-pipe tunnel | Smallest mono-span tunnel — single-pipe arches, very low cost. |
| NVPH | Generic NVPH (legacy) | Older NVPH variants kept for compatibility. |
Which model to pick — quick reference
- Need natural ventilation, standard 8 m bay? → NVPH-GA
- Need wider bays (9.6 m) for machinery / tall crops? → NVPH-GA-96
- Building under NHB subsidy? → NVPH-TV-NHB
- Need climate control (fan / pad)? → FVPH
- Need shade only (no plastic cover)? → DRSHNH or FRSNH
- Smallest possible mono-span tunnel? → MSPT-SP
6. Configuration parameters
This section documents every parameter in the master configuration (DEFAULT_GREENHOUSE_CONFIG). Defaults shown are the system defaults — your project values may differ. Where a parameter is only meaningful for certain structure types or feature flags, that is noted in the What it does column.
6.1 Structure type & occupancy grid
| Parameter | Default | Type / Allowed values | What it does |
|---|---|---|---|
| structure_type | 'nvph' | 'nvph', 'drnsh', 'frsnh', 'fvph', 'nvph-ga', 'nvph-ga-96', 'nvph-tv-nhb' | Picks the assembler family. Drives which clamps, supports, and fabrication sheets are produced. |
| occupancy_grid | None | None or 2-D list [nS][nB] of 0/1 | None = full rectangle. Use a grid to model L-shaped / step-cut polygons (orthopolygonal shapes). |
6.2 Dimensions
| Parameter | Default | Type / Allowed values | What it does |
|---|---|---|---|
| span_width | 8.0 | float (meters) | Centre-to-centre distance between columns across the structure. Typical: 8.0 or 9.6 m. |
| bay_length | 4.0 | float (meters) | Centre-to-centre distance between frames along the length. Typical: 4.0 m. |
| no_of_spans | 4 | int | Number of spans across the structure width. |
| no_of_bays | 10 | int | Number of bays along the structure length. |
6.3 Heights
| Parameter | Default | Type / Allowed values | What it does |
|---|---|---|---|
| column_height | 4.0 | float (meters) | Gutter height — top of column above ground. Typical: 4.0–5.0 m. |
| arch_height | 2.5 | float (meters) | Arch peak rise above column top. |
| foundation_depth | 1.2 | float (meters) | Depth of foundation below ground line. |
6.4 Corridors (ASC)
| Parameter | Default | Type / Allowed values | What it does |
|---|---|---|---|
| w_corridor | 2.0 | float (m) | West corridor width. |
| e_corridor | 2.0 | float (m) | East corridor width. |
| s_corridor | 2.0 | float (m) | South corridor width. |
| n_corridor | 2.0 | float (m) | North corridor width. |
| corridor_support_count | 1 | 1, 2, or 3 | 1 = horizontal; 2 = horizontal + 45°; 3 = horizontal + 45° + horizontal (triangle). |
| corridor_support_height | 0 | float (m), 0 = auto | 0 = auto (column_height / 2). Otherwise explicit height. |
| corridor_pipe_ext | 1.0 | float (m) | Underground extension of corridor pipe (replaces separate foundation). |
6.5 Arch configuration
| Parameter | Default | Type / Allowed values | What it does |
|---|---|---|---|
| big_arch_ratio | 0.7 | float (0–1) | Small arch peak as a ratio of big arch peak. 1.0 = same height. |
| big_arch_ext_pct | 10 | int (%) | Big arch flat extension at peak, as % of span width. |
| big_arch_curve_pct | 100 | int (%) | Big arch curvature. 0 = straight (gable), 50 = half-curved, 100 = full arc. |
| small_arch_curve_pct | 100 | int (%) | Small arch curvature. 0 = straight, 100 = full arc. |
| invert_last_span | True | bool | Mirror last span: big arch on right, small arch on left. |
| arch_extra_support_type | 'm' | 'none','m','w','arch_bottom','arch_mid' | Extra support style under the arch. M = single diagonal, W = double diagonal. |
| w_diag_height_pct | 80 | int (%) | W-mode: diagonal END height as % from bottom chord (0%) to vent junction (100%). |
6.6 Column configuration
| Parameter | Default | Type / Allowed values | What it does |
|---|---|---|---|
| thick_column_mode | 'none' | 'none','4_corner','bay_side','span_side','all_side' | Where thick columns are used. 4_corner = corners only, all_side = full perimeter. |
| middle_column_mode | 'fb' | 'none','fb','all','fb_rows' | 'fb' = front/back only; 'all' = every bay; 'fb_rows' = f/b plus every N rows. |
| middle_column_row_interval | 2 | int | For 'fb_rows' mode — place a middle column every N rows. |
| middle_columns_per_span | 1 | 1 or 2 | 1 = single mid col at peak; 2 = two mid cols at 1/3 & 2/3 (at arch height). |
| no_column_big_frame | 1 | int | Middle columns per anchor frame (for ASC Mid S/N clamps). |
6.7 Supports (V-supports, vent supports, SA purlin support)
| Parameter | Default | Type / Allowed values | What it does |
|---|---|---|---|
| v_support_per_frame | 2 | 0 or 2 | V-supports per arch frame. 0 = none, 2 = one V per frame. |
| v_support_length | 1.2 | float (m) | V-support pipe length. |
| v_support_in_mid_col_rows | False | bool | True = also place V-supports in middle column rows. |
| v_support_for_af | False | bool | Enable V-supports on anchor frames. |
| vent_support_count | 1 | 1, 2, or 3 | 1 = big→small only; 2 = + mid fan; 3 = + 1/3 & 2/3 fans. |
| has_sa_purlin_support | False | bool | Small-arch purlin diagonal support (BC center → SA purlin). |
| sa_purlin_support_length | 1.0 | float (m) | Offset from frame on the SA purlin where the support lands. |
6.8 Purlin configuration
| Parameter | Default | Type / Allowed values | What it does |
|---|---|---|---|
| gable_purlin_arch_offset | 0.3 | float (m) | Gable purlin distance along the arch from the column. |
| big_arch_purlin_rows | 1 | int | Additional purlin rows on the big arch. |
| arch_mid_purlin_mode | 'both_side' | 'none','4_corner','both_side','front_back','all_4_sides','all_frames' | Where the big-arch mid purlin is placed. |
| arch_mid_purlin_pieces | 1 | 1 or 2 | 1 = at 50% of arch; 2 = at 1/3 and 2/3. |
| sm_arch_mid_purlin_mode | 'front_back' | Same options as arch_mid_purlin_mode | Mid-purlin placement on the small arch. |
| sm_arch_mid_purlin_pieces | 1 | 1 or 2 | Number of mid-purlin pieces on the small arch. |
6.9 Border purlins (per side)
Each side (South/North/East/West) has an independent lower and upper border purlin with its own enable flag and height. Upper default = column_height − 0.5 = 3.5 m (auto-synced in the viewer).
| Parameter | Default | Type / Allowed values | What it does |
|---|---|---|---|
| bp_south_lower | True | bool | Enable South lower border purlin. |
| bp_south_lower_h | 1.0 | float (m) | Height of South lower BP. |
| bp_south_upper | True | bool | Enable South upper border purlin. |
| bp_south_upper_h | 3.5 | float (m) | Height of South upper BP. |
| bp_north_lower | True | bool | Enable North lower border purlin. |
| bp_north_lower_h | 1.0 | float (m) | Height of North lower BP. |
| bp_north_upper | True | bool | Enable North upper border purlin. |
| bp_north_upper_h | 3.5 | float (m) | Height of North upper BP. |
| bp_east_lower | True | bool | Enable East lower border purlin. |
| bp_east_lower_h | 1.0 | float (m) | Height of East lower BP. |
| bp_east_upper | True | bool | Enable East upper border purlin. |
| bp_east_upper_h | 3.5 | float (m) | Height of East upper BP. |
| bp_west_lower | True | bool | Enable West lower border purlin. |
| bp_west_lower_h | 1.0 | float (m) | Height of West lower BP. |
| bp_west_upper | True | bool | Enable West upper border purlin. |
| bp_west_upper_h | 3.5 | float (m) | Height of West upper BP. |
| pipe_lower_border_purlin | '42x2' | pipe key | Pipe used for ALL lower border purlins (BOM only). |
| pipe_upper_border_purlin | '42x2' | pipe key | Pipe used for ALL upper border purlins (BOM only). |
6.10 Bottom chord
| Parameter | Default | Type / Allowed values | What it does |
|---|---|---|---|
| is_bottom_chord | True | bool | Enable bottom chord. |
| bottom_chord_height | 0 | float (m), 0 = auto | 0 = auto (column_height + 0.05). Otherwise explicit height. |
| bottom_chord_clamp_type | 'triple' | 'single' or 'triple' | 'single' = 3 clamps per segment; 'triple' = 5 clamps per segment. |
6.11 Purlin clamp types
| Parameter | Default | Type / Allowed values | What it does |
|---|---|---|---|
| bay_side_clamp_required | True | bool | ASC bay-side clamps (Gutter Arch Bracket only). |
| big_purlin_clamp_type_first | 'full_clamp' | 'full_clamp' or 'l_joint' | Big arch — edge purlin clamp type. |
| big_purlin_clamp_type_second | 'half_clamp' | 'half_clamp' or 't_joint' | Big arch — middle purlin clamp type. |
| small_purlin_clamp_type_first | 'full_clamp' | 'full_clamp' or 'l_joint' | Small arch — edge purlin clamp type. |
| small_purlin_clamp_type_second | 'half_clamp' | 'half_clamp' or 't_joint' | Small arch — middle purlin clamp type. |
6.12 Cross bracing
| Parameter | Default | Type / Allowed values | What it does |
|---|---|---|---|
| has_cross_bracing | True | bool | Enable X-bracing on bay sides. |
| x_brace_pipes | 2 | 1 or 2 | 1 = single diagonal (alternating /\); 2 = full X pattern. |
| x_brace_extra_rows | '' | comma-separated bay indices | Extra X-brace bay indices (valid range: 3 to nB−3). |
| x_brace_bottom_height | 0 | float (m), 0 = ground | X-brace bottom Z offset from ground. |
| x_brace_top_offset | 0 | float (m), 0 = column top | X-brace top Z offset down from column top. |
| is_arch_support_big | True | bool | Enable big arch support. |
6.13 Gable bracing
| Parameter | Default | Type / Allowed values | What it does |
|---|---|---|---|
| has_gable_col_arch_brace | True | bool | 2nd-row column top → gable arch brace. |
| gable_col_arch_hdist | 2.0 | float (m) | Horizontal distance on the arch from column X. |
| has_gable_col_bc_brace | True | bool | 2nd-row column top → gable bottom-chord brace. |
| gable_col_bc_hdist | 2.0 | float (m) | Horizontal distance on the BC from column X. |
6.14 General feature flags
| Parameter | Default | Type / Allowed values | What it does |
|---|---|---|---|
| has_gutter | True | bool | Enable gutters (3D + BOM). |
| has_side_screen | True | bool | Enable side screens. |
| has_straight_middle_col | False | bool | Straight middle column at frames where no middle column exists. |
| has_doors | True | bool | Master toggle for all doors (3D + BOM). See 6.24. |
6.15 Gutter accessories
| Parameter | Default | Type / Allowed values | What it does |
|---|---|---|---|
| enable_gutter | True | bool | Master enable for gutter accessories BOM. |
| gutter_type | 'ippf' | 'none','ippf','continuous' | Gutter family — IPPF (panel) or Continuous. |
| gutter_slope | '1' | '1' or '2' | '1' = one side slope; '2' = both sides slope. |
| gutter_ippf_full | True | bool | Include IPPF Full gutter pieces. |
| gutter_ippf_drainage_extension | False | bool | Include drainage extension pieces. Odoo default: False. |
| gutter_funnel_ippf | True | bool | Include funnel pieces. |
| gutter_end_cap | True | bool | Include end-cap pieces. Only effective when gutter_slope = '1'. |
| gutter_extension | '0' | '0','2','4' (meters) | Continuous gutter extension length. |
| enable_gutter_purlin | False | bool | Enable gutter purlin calculation. |
| gutter_clamp_type | 'omega' | 'omega' or 'clamps' | 'omega' = omega clamp; 'clamps' = half + full clamp combo. |
| ippf_width | '400' | '400' or '500' (mm) | IPPF panel width. Affects nut-bolt calculation. |
6.16 Brackets
| Parameter | Default | Type / Allowed values | What it does |
|---|---|---|---|
| gutter_bracket_type | 'arch' | 'arch','f_bracket','none' | Gutter Arch Bracket, F Bracket, or none. |
| column_bracket_type | 'l_bracket' | 'l_bracket' or 'none' | L Bracket for middle columns, or disabled. |
| last_span_gutter | False | bool | True = gutter on all spans; False = no gutter on last span. |
6.17 Covering accessories
| Parameter | Default | Type / Allowed values | What it does |
|---|---|---|---|
| enable_covering | True | bool | Master enable for covering BOM. |
| is_apron | True | bool | Affects front/back span/bay covering width. |
| apron_width | 1.5 | 1.5 or 2.0 (m) | Apron width. |
| calculate_insect_net | True | bool | Enable insect net calculation. |
| insect_net_width | 3.2 | 1.5 / 2.0 / 2.5 / 3.0 / 3.2 / 3.6 / 4.2 (m) | Insect net width. |
6.18 Profiles accessories
| Parameter | Default | Type / Allowed values | What it does |
|---|---|---|---|
| enable_profiles | True | bool | Master enable for profiles BOM. |
| sds_profile_size | '10x25' | '10x20','10x25','12x25' | SDS screw size for the profile. |
6.19 Wires accessories
| Parameter | Default | Type / Allowed values | What it does |
|---|---|---|---|
| enable_zigzag_wire | True | bool | Enable zigzag wire calculation. |
| zigzag_wire_multiplier | '1.5' | '1.4','1.5','1.6' | Multiplier applied to total profile length to obtain wire length. |
6.20 Miscellaneous accessories
| Parameter | Default | Type / Allowed values | What it does |
|---|---|---|---|
| calculate_misc_components | True | bool | Master enable for misc BOM. |
| calculate_silicon | True | bool | Silicon (IPPF gutter only). |
| silicon_unit_price | 250.0 | float (₹) | Price per silicon tube. |
| calculate_gutter_sealant_tape | True | bool | Gutter sealant tape (IPPF only). |
| calculate_drainage_pipe | False | bool | Drainage pipe. |
| drainage_pipe_length | '7' | '6','7','8' (m) | Length per drainage pipe. |
| funnel_pipe_size | 110 | int (mm) | Funnel pipe size. |
| calculate_hose_clamp | False | bool | Hose clamp. |
| hose_clamp_unit_price | 15.0 | float (₹) | Price per hose clamp. |
| calculate_sliding_door | True | bool | Sliding door BOM. |
| no_of_sliding_doors | 0 | int | User-defined door count. |
| calculate_curtain_clamps | True | bool | Side screen curtain clamps. |
| curtain_clamp_gap | '1.0' | '1.0' or '0.5' (m) | Gap between curtain clamps. |
| enable_foundation_rods | True | bool | Foundation rods. |
| foundation_rods_per_foundation | 2 | int | Rods per foundation column. |
| foundation_rods_per_asc | 2 | int | Rods per ASC pipe. |
6.21 Curtains & guards (side screen)
| Parameter | Default | Type / Allowed values | What it does |
|---|---|---|---|
| curtain_front_span | True | bool | Curtain on front-span side. |
| curtain_back_span | True | bool | Curtain on back-span side. |
| curtain_front_bay | True | bool | Curtain on front-bay side. |
| curtain_back_bay | True | bool | Curtain on back-bay side. |
| guard_front_span | 'all' | 'none','all','even' | Guard on front-span side. |
| guard_back_span | 'all' | 'none','all','even' | Guard on back-span side. |
| guard_front_bay | 'all' | 'none','all','even' | Guard on front-bay side. |
| guard_back_bay | 'all' | 'none','all','even' | Guard on back-bay side. |
| no_curtains_front_span | 2 | int | Number of curtains on front-span. |
| no_curtains_back_span | 2 | int | Number of curtains on back-span. |
| no_curtains_front_bay | 2 | int | Number of curtains on front-bay. |
| no_curtains_back_bay | 2 | int | Number of curtains on back-bay. |
| guard_box_front_span | 0 | int | Guard boxes on front-span. |
| guard_box_back_span | 0 | int | Guard boxes on back-span. |
| guard_box_front_bay | 0 | int | Guard boxes on front-bay. |
| guard_box_back_bay | 0 | int | Guard boxes on back-bay. |
6.22 Side screen geometry
| Parameter | Default | Type / Allowed values | What it does |
|---|---|---|---|
| side_screen_height_from_ground | 0.8 | float (m) | Screen height from ground. |
| side_screen_guard_length | 3.0 | float (m) | Guard vertical pipe height. |
| guard_box_h_pipe_length | 1.0 | float (m) | Guard box horizontal pipe length. |
| guard_spacer_length | 0.1 | float (m) | Guard spacer length. |
| rollup_joiner_length | 0.3 | float (m) | Roll-up pipe joiner length. |
| rollup_handles_length | 3.0 | float (m) | Roll-up handles length. |
6.23 Pipe specifications
Each structural pipe key is set independently. Defaults assume 2 mm thickness. See section 7 for the full pipe catalog and section 8 for rectangular pipe orientation rules.
| Parameter | Default | Type / Allowed values | What it does |
|---|---|---|---|
| pipe_foundation_main | '60x2' | pipe key | Foundation pipe — main columns. |
| pipe_foundation_thick | '90x2' | pipe key | Foundation pipe — thick columns. |
| pipe_foundation_anchor | '60x2' | pipe key | Foundation pipe — anchor columns. |
| pipe_foundation_mid | '60x2' | pipe key | Foundation pipe — middle columns. |
| pipe_main_column | '76x2' | pipe key | Main vertical column. |
| pipe_anchor_column | '76x2' | pipe key | Anchor column (corners / anchor frames). |
| pipe_straight_mid_col | '48x2' | pipe key | Straight middle column. |
| pipe_thick_column | '90x2' | pipe key | Thick column (per thick_column_mode). |
| pipe_middle_column | '76x2' | pipe key | Middle column (per middle_column_mode). |
| pipe_big_arch | '42x2' | pipe key | Big arch pipe. |
| pipe_small_arch | '42x2' | pipe key | Small arch pipe. |
| pipe_arch_support | '33x2' | pipe key | Arch support (M/W diagonals etc.). |
| pipe_bottom_chord | '60x2' | pipe key | Bottom chord pipe. |
| pipe_v_support | '33x2' | pipe key | V-support pipe. |
| pipe_purlin | '42x2' | pipe key | Default purlin pipe. |
| pipe_corridor | '60x2' | pipe key | Main corridor (ASC) pipe. |
| pipe_corridor_support_1 | '33x2' | pipe key | ASC support row 1. |
| pipe_corridor_support_2 | '42x2' | pipe key | ASC support row 2. |
| pipe_corridor_support_3 | '42x2' | pipe key | ASC support row 3. |
| pipe_bracing | '42x2' | pipe key | Cross-bracing pipe. |
| pipe_gutter | '48x2' | pipe key | Gutter pipe. |
| pipe_gable_purlin | '48x2' | pipe key | Gable purlin pipe. |
| pipe_gutter_purlin | '48x2' | pipe key | Gutter purlin pipe. |
| pipe_gutter_purlin_ext | '48x2' | pipe key | Gutter purlin extension pipe. |
| pipe_end_gutter_purlin_sup | '48x2' | pipe key | End-gutter purlin support pipe. |
| pipe_side_screen | '33x2' | pipe key | Side-screen frame pipe. |
| pipe_rollup_handle | '33x2' | pipe key | Roll-up handle pipe. |
| pipe_side_guard | '33x2' | pipe key | Side guard pipe. |
| pipe_guard_box | '33x2' | pipe key | Guard box pipe. |
| pipe_vent_support | '33x2' | pipe key | Vent support pipe. |
| pipe_sa_purlin_support | '33x2' | pipe key | Small-arch purlin support pipe. |
| pipe_arch_mid_purlin | '33x2' | pipe key | Big-arch mid purlin pipe. |
| pipe_sm_arch_mid_purlin | '33x2' | pipe key | Small-arch mid purlin pipe. |
| pipe_arch_extra_support | '33x2' | pipe key | Arch extra support pipe. |
| pipe_gable_col_arch | '42x2' | pipe key | Gable column → arch brace pipe. |
| pipe_gable_col_bc | '42x2' | pipe key | Gable column → bottom-chord brace pipe. |
90x50x2) and combine it with rect_orientation = {pipe_key: degrees}. See section 8.6.24 Doors
| Parameter | Default | Type / Allowed values | What it does |
|---|---|---|---|
| has_doors | True | bool | Master toggle for all doors (3D + BOM). |
| single_door_side | 'west' | 'west','east','north','south' | Side where the single door is placed. |
| single_door_slot | 1 | int (bay/span #) | Position of the single door along that side. |
| entry_chamber_side | 'west' | 'west','east','north','south' | Side of the entry chamber. |
| entry_chamber_slot | 1 | int | Position of the entry chamber. |
| tractor_door_side | 'west' | 'west','east','north','south' | Side of the tractor door. |
| tractor_door_slot | 1 | int | Position of the tractor door. |
| standalone_doors_count | 0 | int | Number of simple door openings (X). |
| entry_chambers_count | 1 | int | Number of full entry chambers (Y). |
| door_column_length | 3.5 | float (m) | Standalone door column length. |
| chamber_column_length | 3.5 | float (m) | Chamber column length. |
| chamber_depth | 3.0 | float (m) | Chamber depth. |
| chamber_offset | 1.5 | float (m) | Chamber offset from structure column. |
| chamber_outer_height | 2.5 | float (m) | Chamber outer column height. |
| tractor_door_type | 'none' | 'none','vertical','openable' | Tractor door style. |
| nos_tractor_doors | 0 | int | Number of tractor doors. |
| tractor_door_height | 3.0 | float (m) | Tractor door height. |
| pipe_door_column | '42x2' | pipe key | Door column (vertical) pipe. |
| pipe_door_purlin | '42x2' | pipe key | Door purlin (horizontal) pipe. |
| pipe_door_base | '42x2' | pipe key | Door base (ground frame) pipe. |
| pipe_tractor_door_v | '42x2' | pipe key | Tractor door outer column pipe. |
| pipe_tractor_door_h | '42x2' | pipe key | Tractor door horizontal rail pipe. |
| pipe_tg_frame_v | '33x2' | pipe key | Tractor gate frame vertical (near column). |
| pipe_tg_center_v | '33x2' | pipe key | Tractor gate center vertical (opening). |
| pipe_tg_rail | '33x2' | pipe key | Tractor gate horizontal rails. |
| pipe_tg_base_top | '42x2' | pipe key | Tractor gate base & top rail. |
6.25 ACF (Air Circulation Fan)
| Parameter | Default | Type / Allowed values | What it does |
|---|---|---|---|
| enable_acf | False | bool | Toggle ACF on/off. Auto-spaces at 20–24 m intervals (target 22 m). |
| acf_unit_price | 9000 | int (₹) | Price per ACF unit. |
| pipe_acf | '42x2' | pipe key | ACF mounting pipe. |
end_line_gutters and bottom_chord_custom are not in DEFAULT_GREENHOUSE_CONFIG — they are set on the NVPH-GA assembler only and drive automatic selection of the fabrication-process sheet (see section 9.6).7. Pipe selection from the catalog
7.1 The pipe catalog
- Round pipes — sizes like 33×2, 42×2, 42×2.3, 48×2, 60×2, 60×2.5, 76×2, 88×2 (OD × thickness in mm).
- Square hollow sections (SHS) — 30×30, 42×42, 50×50, 60×60, 70×70, 80×80, 90×90 (mm) at various thicknesses.
- Rectangular hollow sections (RHS) — 50×30, 60×40, 80×40, 90×50, 96×48 (mm) at various thicknesses.
The catalog is managed by the administrator in the Admin panel. If a pipe you need is missing, please ask your administrator to add it.
7.2 Changing pipe sizes (live)
Every pipe in the structure plays a role — main column, anchor column, middle column, big arch, small arch, big purlin, small purlin, bottom chord, V-support, vent support, and so on. Each role has its own dropdown in the right-side Pipe groups panel.
When you change a pipe in any role:
- The 3D model re-draws that role with the new pipe — different colour or thickness.
- The pipe legend updates the displayed size for that role.
- The weight badge recomputes and shows the new total weight.
- All clamp sizes that connect to that pipe role are updated in the BOM.
7.3 The weight badge
The weight badge is the most important live indicator. It tells you the total weight of all pipes in the current structure. Pipe weight × rate per kg is the dominant cost driver, so kindly watch this number as you change pipe sizes — it tells you immediately whether a substitution is moving the cost up or down.
8. Rectangular pipes (new)
8.1 Round vs square vs rectangular
- Round — circular cross-section. Quoted as OD × thickness. Example:
76×2 mm. - Square (SHS) — square cross-section, width = height. Quoted as W×H×t. Example:
60×60×2 mm. - Rectangular (RHS) — rectangular cross-section, width ≠ height. Quoted as W×H×t. Example:
90×50×2 mm.
In the 3D viewer, square and rectangular pipes are drawn with their actual cross-section — you can visually verify the orientation. Round pipes are drawn as smooth cylinders.
8.2 Orientation control — the rotation dropdown
For rectangular pipes (W ≠ H), the orientation matters. A 90×50 pipe with the 90 mm face vertical behaves very differently from one with the 90 mm face horizontal. Therefore, every rectangular pipe role gets an extra rotation dropdown in the pipe legend, with options:
- 0° — default orientation. The wider face is oriented one way (depends on the role — see the 3D view).
- 90° — rotated 90 degrees about the pipe axis. Swaps width and height.
- 180° / 270° — provided for completeness; visually identical to 0° / 90° for hollow sections.
Square pipes (W = H) and round pipes look identical under any rotation, so the rotation dropdown is shown only for rectangular roles.
8.3 Clamp labels — W×H direction-aware
When a connecting pipe contacts a rectangular pipe, the clamp must grip a specific face. The face matters — a 90×50 clamp (gripping the 90 mm face) is a different physical part from a 50×90 clamp (gripping the 50 mm face).
The software derives the gripped face from the 3D geometry automatically. You will see two different clamp sizes in the Hardware BOM for the same rectangular pipe — for example:
90×50 and 50×90 are different parts in procurement and stock. Kindly do not treat them as interchangeable — the manufacturer makes the clamp to grip one specific face.Round and square pipes are not affected by this — their clamp label is the same regardless of orientation.
9. Generating the BOM (Excel export)
9.1 Sheets in the workbook
Clicking Download Excel produces a single workbook with multiple sheets. Each sheet has a clear role:
| Sheet | What it contains |
|---|---|
| Summary | Project header, dimensions, total area, total weight, headline cost. |
| Pipe BOM | Every pipe role with quantity, length per piece, total length, weight, rate per kg, and pipe cost. |
| Hardware BOM | Every hardware item — clamps (full / half / L / T), bolts, nuts, washers, accessories — with size, quantity, unit price, and total cost. |
| Production Process | Section-by-section production / shop-floor process notes — built dynamically from the project geometry. |
| Fabrication Process | Standardised fabrication process for this model — Sr.No., Component, Pipe, Process, Connection / Note (new in v3). |
| Junction Summary | Every junction type in the structure with count and clamp size — the geometry-driven BOM in summary form. |
| Process Verification | Cross-checks the BOM against the geometry — helps quality assurance verify numbers before procurement. |
| Structural Report | Section properties, structural calculation outputs (informational; not a substitute for a sealed engineering report). |
9.2 Summary sheet
The Summary sheet is the cover page of the workbook. It shows the structure type, dimensions, total covered area, total pipe weight, and the headline cost. It is the sheet most customers and managers look at first.
9.3 Pipe BOM
The Pipe BOM lists every pipe role with the following columns:
- Component — the role name (Main Column, Anchor Column, Big Arch, etc.).
- Pipe — the pipe specification (76×2, 60×60×2, 90×50×2, etc.).
- Quantity — number of pieces.
- Length per piece (m) — typical cut length.
- Total length (m) — quantity × length per piece.
- Weight (kg) — total weight contribution.
- Rate per kg — current procurement rate.
- Cost — weight × rate.
9.4 Hardware BOM
The Hardware BOM lists every non-pipe item — clamps, bolts, nuts, washers, wire rope, grippers, vent rack-and-pinion, etc. The columns are:
- Name — the hardware item (GI Clamp Full, GI Clamp Half, M10×40 Bolt, etc.).
- Category — Clamps, Bolts, Accessories, Wire Rope, …
- Size — the dimension or specification (42 mm, 60 mm, 90×50 for rect clamps, etc.).
- Quantity — total pieces.
- Unit price and Total cost.
9.5 Production Process
The Production Process sheet is the section-by-section shop-floor narrative — what gets fabricated first, what depends on what, and which sub-assemblies leave the factory as one piece. It is generated dynamically from the project geometry.
9.6 Fabrication Process (new)
The Fabrication Process sheet is a standardised reference — it ships with every export, and the correct variant is picked automatically based on the model and the configuration flags:
| Model / configuration | Fabrication sheet |
|---|---|
| DRSHNH / DRSNH | DRSHNH-8X4 |
| FRSNH | FRSNH-8X4 |
| FVPH | FVPH-8X4 |
| NVPH-TV-NHB | NVPH-TV-NHB |
| NVPH-GA (with end-line gutters) | NVPH-END GUTTERS LINE |
| NVPH-GA (with custom bottom chord) | NVPH-wo end gutters-custom bott |
| MSPT-SP | (not in master — graceful "no data" message) |
Columns in the sheet: Sr.No. · Component · Pipe · Fabrication Process · Connection / Note. The rows are grouped into section bands — Foundation, Frame, Truss, Lower, ASC, Doors, Side Screen, etc. — so the shop floor can read it section by section.
9.7 Junction Summary
The Junction Summary sheet is the geometry-driven BOM in summary form. Every junction type (arch-column, purlin-arch, V-of-M base, vent-support-peak, bottom-chord-arch, …) is listed with the count and the clamp size used at that junction. Use it to cross-check the Hardware BOM.
9.8 Process Verification
The Process Verification sheet cross-checks the BOM against the geometry — it reports any discrepancies, missing junctions, or unexpected counts. Quality assurance uses it to sign off the BOM before it goes to procurement.
9.9 Structural Report
10. Worked examples
Each example below was generated by the live assembler. Numbers shown — pipe quantities, weights, hardware counts, junction counts — are real, not illustrative. Reproduce the steps in the viewer and you should see the same totals.
10.1 Example 1 — NVPH-GA standard 8×4 (round pipes)
This is the most common quotation — a naturally-ventilated gothic-arch greenhouse, 8 spans wide × 4 bays long, with standard round pipes throughout.
Steps to reproduce
- Open the viewer and log in.
- Pick NVPH-GA from the structure-type dropdown.
- Set 8 spans, 4 bays, 8.0 m span width, 4.0 m bay length, 4.5 m gutter height.
- Leave all pipe roles at their model defaults.
- Click Download Excel.
Headline numbers (from the live software)
| Metric | Value |
|---|---|
| Length × Width | 68.0 m × 20.0 m |
| Height | 6.5 m |
| Covered area | 1360.0 m² |
| Total pipe length | 3425.05 m |
| Total pipe weight | 8095.26 kg |
| Members | 3414 |
| BOM rows | 65 |
| Hardware rows | 56 |
Pipe BOM excerpt (top 6 rows)
| Component | Pipe | Qty | Total length (m) | Weight (kg) |
|---|---|---|---|---|
| Main Column | 76×2 | 27 | 108.00 | 405.0 |
| Anchor Column | 76×2 | 18 | 72.00 | 270.0 |
| Middle Column | 76×2 | 16 | 95.20 | 357.0 |
| Foundation Anchor | 60×2 | 18 | — | — |
| Foundation Main | 60×2 | 27 | — | — |
| Big Arch | 42×2 | 1240 | — | — |
Hardware BOM excerpt (clamp totals)
| Hardware | Size | Qty |
|---|---|---|
| GI Clamp Full | 60 mm | 294 |
| GI Clamp Full | 42 mm | 270 |
| GI Clamp Half | 42 mm | 55 |
What to take away
- Total weight is your headline procurement cost driver — note it.
- Compare against the customer’s target weight or the previous-quarter average — large deviations are worth investigating.
- Clamp counts (Full / Half) are the next-biggest line items — verify the Junction Summary matches the Hardware BOM.
10.2 Example 2 — NVPH-GA 9.6 m with custom bottom chord + end gutters
The NVPH-GA 9.6 m variant is used when the customer needs wider bays — tall crops, machinery access, or simply a more open canopy. With custom bottom chord and end-line gutters enabled, the fabrication sheet that ships in the Excel changes to the custom-bottom variant.
Steps to reproduce
- Open the viewer and log in.
- Pick NVPH-GA-96 (the 9.6 m variant) from the dropdown.
- Set 8 spans, 4 bays, 9.6 m span width, 4.0 m bay length, 5.0 m gutter height.
- Tick End-line gutters and Custom bottom chord in the configuration panel.
- Click Download Excel. Open the Fabrication Process sheet — it should say NVPH-wo end gutters-custom bott in the reference header.
Headline numbers (from the live software)
| Metric | Value |
|---|---|
| Covered area | 1616.0 m² |
| Total pipe length | 3504.53 m |
| Total pipe weight | 8196.56 kg |
| Members | 3324 |
| BOM rows | 68 |
What to take away
- The Fabrication Process sheet picked the custom bottom chord variant automatically — no manual selection needed.
- With end-line gutters, additional gutter junctions appear in the Junction Summary at the end frames.
- Wider bays mean longer arches — note the higher big-arch / small-arch length contribution in the Pipe BOM.
10.3 Example 3 — FVPH single-span with 90×50 rectangular columns
This example demonstrates the rectangular-pipe support. The main and anchor columns use 90×50×2 RHS pipes rotated 90° about their own axis — the 90 mm face faces the span direction, the 50 mm face faces the bay direction. Notice how the Hardware BOM lists both 90×50 and 50×90 clamps — these are different parts.
Steps to reproduce
- Open the viewer and log in.
- Pick FVPH from the structure-type dropdown.
- Set 1 span, 8 bays, 8.0 m span width, 4.0 m bay length, 4.0 m gutter height.
- In the pipe groups panel, change Main column, Anchor column, and Middle column to
90×50×2. - Set the Rotation dropdown next to each rect column to 90°.
- Verify in the 3D view that the columns are drawn with the 90 mm face along the span direction.
- Click Download Excel. Inspect the Hardware BOM for
90×50and50×90clamp entries.
Headline numbers (from the live software)
| Metric | Value |
|---|---|
| Covered area | 432.0 m² |
| Total pipe length | 1168.88 m |
| Total pipe weight | 2792.1 kg |
| Members | 1531 |
Pipe BOM (rect columns)
| Component | Pipe | Qty | Total length (m) | Weight (kg) |
|---|---|---|---|---|
| Main Column | 90×50×2 | 14 | 56.00 | 250.9 |
| Anchor Column | 90×50×2 | 4 | 16.00 | 71.7 |
| Middle Column | 90×50×2 | 2 | 13.00 | 58.2 |
Hardware BOM — rect clamps (real numbers)
| Hardware | Size | Qty | Unit ₹ | Total ₹ |
|---|---|---|---|---|
| GI Clamp Full | 50×90 mm | 78 | 14.00 | 1,092 |
| GI Clamp Full | 90×50 mm | 40 | 14.00 | 560 |
| GI Clamp Half | 50×90 mm | 4 | 6.00 | 24 |
| GI Omega Clamp | 50×90 mm | 3 | — | — |
What to take away
- Rectangular columns mean two clamp sizes for the same pipe role — kindly procure both
90×50and50×90separately. - The weight badge shows the rect columns contribute more weight than equivalent round columns — factor this into the quotation.
- Use the rotation dropdown deliberately — the 3D view will show whether the column orientation matches your structural intent.
10.4 Example 4 — NVPH-TV-NHB 8×4 (round pipes)
The NVPH-TV-NHB is a tunnel-ventilated, NHB-subsidy-compliant variant of the NVPH. Geometry and BOM are similar to the NVPH-GA but with NHB-mandated ventilation hardware. Use this when the customer is claiming NHB subsidy.
Steps to reproduce
- Open the viewer and log in.
- Pick NVPH-TV-NHB from the structure-type dropdown.
- Set 8 spans, 4 bays, 8.0 m span width, 4.0 m bay length, 4.5 m gutter height.
- Leave all pipe roles at their NHB-compliant defaults.
- Click Download Excel. Open the Fabrication Process sheet — it should say NVPH-TV-NHB.
Headline numbers (from the live software)
| Metric | Value |
|---|---|
| Covered area | 1360.0 m² |
| Total pipe length | 3465.17 m |
| Total pipe weight | 8176.98 kg |
| Members | 2774 |
What to take away
- BOM structure is very similar to NVPH-GA, but the fabrication sheet is NVPH-TV-NHB — the NHB-mandated reference.
- Junction counts will differ slightly from NVPH-GA because of the tunnel-vent hardware.
- If you are claiming NHB subsidy, save this BOM as the reference for your subsidy application.
11. Tips and FAQ
Tips
- Always check the weight badge after every pipe change — it is the fastest way to spot a wrong substitution.
- Save your design before exporting — if the customer comes back tomorrow, you can reload it with one click.
- Compare Junction Summary against Hardware BOM — if the totals do not reconcile, do not export until the discrepancy is understood.
- For rectangular pipes, use the 3D view to verify orientation — the rotation dropdown is your friend, not just a number.
- Refresh the browser if the legend / weight badge fails to update — a hard refresh (Ctrl+F5) clears stale cache.
- For NVPH-GA, double-check which fabrication-sheet variant landed in the Excel — open the sheet and read the reference header.
Frequently Asked Questions
Q. The legend did not update after I changed a pipe — what do I do?
Hard-refresh the browser (Ctrl+F5). If the problem persists, kindly report it to your administrator — the live-update is a core feature and a persistent failure indicates a server issue, not a workflow issue.
Q. The Hardware BOM lists both 90×50 and 50×90 clamps — is this a bug?
No — this is by design. A 90×50 clamp grips the 90 mm face of a rectangular pipe; a 50×90 clamp grips the 50 mm face. They are physically different parts, manufactured separately, and must be procured separately. See section 8.3.
Q. The Fabrication Process sheet is missing in my Excel — why?
Two possible causes: (1) The model is MSPT-SP, which is not in the standardised fabrication master — in this case the sheet shows a graceful “no data” message. (2) You are on an old version of the software — please ask the administrator to update the server.
Q. The 3D view shows pipes as round even though I picked square / rect — why?
Hard-refresh the browser (Ctrl+F5) to clear cached JavaScript. If the problem persists, please report to the administrator.
Q. Why does the total weight differ slightly between two exports of the same design?
If you changed any parameter (even a pipe size), the design is no longer the same. If you have not changed anything and the weight differs by more than 1 kg, please report — this is unexpected.
Q. Can I edit the standardised fabrication process?
Not from the viewer. The fabrication-process master is managed in the source FABRICATION_PROCESSES-STANDARDISED.xlsx. Please send change requests to the engineering team — they will update the master and re-deploy the server.
Q. The structure I need is not in the dropdown — what do I do?
Please contact your administrator. New structure families require a software update — they cannot be added from the viewer.
12. Glossary
A quick reference for the terms used in the software, the Excel BOM, and this guide.
| Term | Meaning |
|---|---|
| Anchor column | The column at the gable end (front / rear) of the structure. |
| Arch | The curved member spanning between two columns at the roof. “Big arch” is the outer arch; “small arch” is the inner one (in NVPH variants). |
| Bay | One section of the structure along its length, between two frames. The number of bays multiplied by the bay length equals the total length. |
| BOM | Bill of Materials — the complete list of pipes, hardware, and accessories needed to build the structure. |
| Bottom chord | The horizontal member tying the bottom of an arch — completes the truss. May be “regular” or “custom” in NVPH-GA-96. |
| Clamp | A bolted connector used to join two pipes at a junction. Common types: Full, Half, L-joint, T-joint. |
| Frame | One vertical slice of the structure — columns + arches + truss at a single position along the length. |
| Gutter | The horizontal channel running along the top of the columns where two adjacent arches meet — catches rainwater. |
| NHB | National Horticulture Board (India) — provides subsidies for greenhouse construction; the NVPH-TV-NHB model is compliant with NHB specifications. |
| NVPH | Naturally-ventilated polyhouse — uses passive openings (roof vents) for ventilation. |
| Purlin | A horizontal member running along the length of the structure, on top of (or below) the arches — supports the cover. |
| RHS | Rectangular Hollow Section — a steel pipe with a rectangular cross-section (width ≠ height). |
| SHS | Square Hollow Section — a steel pipe with a square cross-section (width = height). |
| Span | One section of the structure across its width, between two columns. The number of spans multiplied by the span width equals the total width. |
| Trellising | Wires and grippers used to train climbing crops (tomato, cucumber, capsicum, etc.). |
| V-of-M / VoM | A V-shaped member assembly used in NVPH variants to brace the middle column to the arch. |
| V-support | A V-shaped support tying columns to the bottom chord — provides lateral stability. |