initial checkin

This commit is contained in:
2026-09-29 09:44:16 +00:00
commit 01569b00b5
7 changed files with 1701 additions and 0 deletions
+256
View File
@@ -0,0 +1,256 @@
# Bill of Materials Guide
## Overview
The Expolinc Booth Designer generates a structured bill of materials (BOM) for every booth design. The BOM includes all Expolinc system components, connectors, accessories, weights, and transport recommendations.
## BOM Structure
### Component Types
| Type | Examples |
|---|---|
| `classic_frame_wall` | Classic Frame walls of various sizes |
| `light_frame_wall` | Light Frame backlit walls |
| `connector_90` | 90° corner connectors |
| `connector_180` | Inline connectors |
| `connector_t` | T-connectors |
| `support_feet` | Double-sided support feet (pair) |
| `storage_room` | Storage room enclosure |
| `door` | Hinged or sliding door |
| `shelf` | Shelf unit |
| `seg_graphic` | SEG fabric graphic panel |
| `led_driver` | LED driver/power supply |
| `transport_case` | Shipping/storage case |
### BOM Output Formats
| Format | Description | Use Case |
|---|---|---|
| **JSON** | Structured data, machine-readable | Integration with ordering systems |
| **CSV** | Table format | Spreadsheet import, purchasing |
| **FreeCAD Spreadsheet** | Live spreadsheet in document | In-document reference |
| **Summary** | Human-readable text | Quick overview for AI response |
## JSON Output Example
```json
{
"project": "Booth_Island_6x4",
"date": "2026-05-30",
"layout": "island",
"dimensions": {
"width_mm": 6000,
"depth_mm": 4000,
"height_mm": 2500
},
"components": [
{
"part_number": "CF-4950-2500",
"name": "Classic Frame Wall 4950×2500mm",
"system": "classic_frame",
"category": "wall",
"quantity": 2,
"width_mm": 4950,
"height_mm": 2500,
"weight_kg": 25.0,
"total_weight_kg": 50.0,
"seg_area_m2": 12.375,
"finish": "silver",
"notes": "Main walls front and back"
},
{
"part_number": "CF-950-2500",
"name": "Classic Frame Wall 950×2500mm",
"system": "classic_frame",
"category": "wall",
"quantity": 2,
"width_mm": 950,
"height_mm": 2500,
"weight_kg": 10.5,
"total_weight_kg": 21.0,
"seg_area_m2": 2.375,
"finish": "silver",
"notes": "Side wall extensions"
},
{
"part_number": "LF-4950-2500",
"name": "Light Frame Wall 4950×2500mm",
"system": "light_frame",
"category": "wall",
"quantity": 2,
"width_mm": 4950,
"height_mm": 2500,
"weight_kg": 27.5,
"total_weight_kg": 55.0,
"led_temperature_K": 4000,
"led_brightness_lm": 1500,
"notes": "Backlit feature walls"
},
{
"part_number": "CN-90-STD",
"name": "90° Corner Connector",
"system": "connector",
"category": "connector",
"quantity": 4,
"weight_kg": 1.5,
"total_weight_kg": 6.0,
"finish": "silver"
},
{
"part_number": "SF-DBL",
"name": "Support Feet (double-sided, pair)",
"system": "accessory",
"category": "feet",
"quantity": 8,
"weight_kg": 0.8,
"total_weight_kg": 6.4
},
{
"part_number": "SR-1950-1000-2500",
"name": "Storage Room 1950×1000×2500mm",
"system": "accessory",
"category": "storage",
"quantity": 1,
"width_mm": 1950,
"depth_mm": 1000,
"height_mm": 2500,
"weight_kg": 35.0,
"total_weight_kg": 35.0,
"has_door": true,
"door_type": "hinged",
"has_shelving": false
}
],
"totals": {
"component_count": 19,
"total_weight_kg": 173.4,
"seg_area_m2": 29.5,
"connector_count": {
"90_degree": 4,
"180_inline": 0,
"T": 0
},
"light_frame_walls": 2,
"storage_rooms": 1,
"doors": 1,
"transport_cases": [
{
"type": "Standard Case XL",
"dimensions_mm": "1200×800×500",
"quantity": 3,
"notes": "For walls and connectors"
},
{
"type": "Travel Set (soft bag)",
"quantity": 1,
"notes": "For accessories and small parts"
}
],
"estimated_setup_time_minutes": 60,
"estimated_crew": 2
}
}
```
## CSV Output Example
```csv
part_number,name,system,category,qty,width_mm,height_mm,weight_kg,total_kg,notes
CF-4950-2500,Classic Frame Wall 4950x2500mm,classic_frame,wall,2,4950,2500,25.0,50.0,Main walls
CF-950-2500,Classic Frame Wall 950x2500mm,classic_frame,wall,2,950,2500,10.5,21.0,Side extensions
LF-4950-2500,Light Frame Wall 4950x2500mm,light_frame,wall,2,4950,2500,27.5,55.0,Backlit
CN-90-STD,90° Corner Connector,connector,connector,4,,,1.5,6.0,
SF-DBL,Support Feet (pair),accessory,feet,8,,,0.8,6.4,
SR-1950-1000-2500,Storage Room,accessory,storage,1,1950,2500,35.0,35.0,
```
## FreeCAD Spreadsheet BOM
When `expolinc_export_bom` is called with `format="spreadsheet"`, a FreeCAD Spreadsheet object is created in the active document:
| Cell | Content |
|---|---|
| `A1` | **Booth BOM** (title) |
| `A3` | **Component** |
| `B3` | **System** |
| `C3` | **Qty** |
| `D3` | **Width (mm)** |
| `E3` | **Height (mm)** |
| `F3` | **Unit Weight (kg)** |
| `G3` | **Total Weight (kg)** |
| `H3` | **Area (m²)** |
| `A4..H{n}` | Component data |
| Last row | **Totals** with SUM formulas |
## Weight Reference Tables
### Classic Frame Weights
| Width × Height | Weight (kg) |
|---|---|
| 500 × 2500 mm | 8.3 |
| 950 × 2500 mm | 10.5 |
| 1950 × 2500 mm | 14.5 |
| 2950 × 2500 mm | 16.5 |
| 3950 × 2500 mm | 20.4 |
| 4950 × 2500 mm | 25.0 |
| 500 × 3000 mm | 9.5 |
| 950 × 3000 mm | 12.0 |
| 1950 × 3000 mm | 18.3 |
| 2950 × 3000 mm | 23.3 |
| 3950 × 3000 mm | 26.3 |
| 4950 × 3000 mm | 28.5 |
### Light Frame Additional Weight
Light Frame walls add the following over the base Classic Frame weight: +2.5 kg (LED frame + diffuser + LED strip + driver).
### Connector Weights
| Connector | Weight (kg) |
|---|---|
| 90° corner connector | 1.5 |
| 180° inline connector | 1.2 |
| T-connector | 1.8 |
| Support feet (pair) | 0.8 |
### Accessory Weights
| Accessory | Weight (kg) |
|---|---|
| Storage room (1950×1000×2500mm) | 35.0 |
| Door (hinged, 900×2200mm) | 8.0 |
| Door (sliding, 900×2200mm) | 10.0 |
| Shelf unit (950×400mm, 3 levels) | 6.0 |
## Transport Case Selection
The BOM generator automatically recommends transport cases based on component sizes and quantities.
| Case Type | Capacity | Suitable For |
|---|---|---|
| **Basic Box** (cardboard) | Single wall up to 1950mm | One-time use, small walls |
| **Travel Set** (soft bag with wheels) | 1–2 walls + accessories | Frequent travel, medium booths |
| **Standard Case XL** (hard case) | Multiple walls + connectors | Large booths, frequent use |
**Recommendation logic:**
- Total weight < 50 kg → 1× Travel Set
- Total weight 50–100 kg → 1× Standard Case XL
- Total weight > 100 kg → Multiple Standard Case XL cases (calculated by volume)
## Using the BOM for Ordering
The generated BOM can be sent directly to Expolinc or an authorized distributor for component ordering. Each component includes:
- Expolinc part number (based on type and dimensions)
- Quantity required
- Finish specification
- Notes on configuration
To generate an order-ready BOM:
```
User: "Export the bill of materials as CSV for ordering"
Assistant: → expolinc_export_bom(format="csv", filepath="booth_bom_2026-05-30.csv")
```