Calculations & automation.
Cable sizing, BOM generation, terminal-strip auto-build and netlists — the calculations that turn drawings into deliverables — for teams in Worldwide.
For Worldwide: KKE Circuit is available across Global in English. Region: Global (INT).
Cable sizer (IEC 60364-5-52)
How to size a cable in KKE Circuit
- Select a wire on a schematic or power drawing.
- In the property panel, click Size cable.
- Enter inputs: load (kW / kVA / A), voltage, cores (1 / 3), installation method (A1–G), ambient temperature, cable run length.
- Click Calculate.
- KKE Circuit returns the recommended cross-section (1.5–300 mm²) with a justification — the table row used, the derating applied, the voltage drop check.
- Click Apply to set the wire's cross-section to the recommended value. The cable label and BOM update automatically.
Cable sizing example: 11 kW motor at 400 V, IEC 60364
A 3-phase 11 kW motor at 400 V / 50 Hz with a power factor of 0.85 and efficiency of 0.88 has:
Ib = 11 × 1000 / (√3 × 400 × 0.85 × 0.88) ≈ 21.2 A- Pick
In = 25 AMCB. - Method C (clipped direct), 30 °C ambient, no grouping → no derating.
- IEC 60364-5-52 Table B.52.5 (3-core copper PVC) Method C: 4 mm² has
Iz = 32 A✅ - Voltage drop over 30 m at 21.2 A: ~ 1.5%. Within 5%.
- Recommended: 4 mm² Cu PVC.
Cable sizing example: 24 V DC control circuit
A 24 V DC control circuit with a 5 A load over 25 m:
- Voltage drop is the binding constraint. Allow 5% = 1.2 V.
- For 1.5 mm² Cu,
R ≈ 12.1 Ω/km→ 25 m × 5 A × 12.1 / 1000 × 2 (return) = 3.0 V → fails. - For 2.5 mm² Cu,
R ≈ 7.4 Ω/km→ 1.85 V → fails. - For 4 mm² Cu,
R ≈ 4.6 Ω/km→ 1.15 V → passes. - Recommended: 4 mm² Cu PVC.
Cable sizing example: VFD output cable
VFD output cables carry pulse-width-modulated voltages and have higher heating than sine-wave cables. KKE Circuit's cable sizer applies a default 1.25× current loading factor for VFD outputs and prefers XLPE over PVC. Always confirm against the VFD manufacturer's recommendations.
How the cable sizer applies temperature, grouping, and voltage-drop factors
The dialog shows the multipliers in the result panel. The order of application:
Required_Iz = In / (Ca × Cg × Ci)
The smallest cross-section whose tabulated Iz at the chosen install method exceeds Required_Iz is selected; voltage drop is then verified, and the cross-section is bumped up if it fails.
Manually overriding the recommended size
Engineers sometimes need to over-size for future expansion or to match standardised stock. After clicking Apply, edit the wire's cross-section directly — KKE Circuit logs the override in the BOM justification column.
Bill of Materials (BOM) generator
How to generate a Bill of Materials
- Open a project.
- Project → BOM.
- The BOM is generated by aggregating every placed component across every drawing in the project.
- The BOM table appears with columns: Reference, Name, Type, Manufacturer, Manufacturer P/N, Organisation P/N, Quantity, Drawing(s), Unit Cost, Currency, Total.
How BOM merges with your organisation's part numbers
KKE Circuit maintains an organisation parts library that maps internal P/Ns to library symbols. The BOM column Org P/N shows your internal code; the Manufacturer P/N is the vendor's. Map a library item once and every BOM thereafter resolves the org P/N automatically.
How to map a library part to your internal P/N
- Library → Org Parts Library.
- Search the library item.
- Edit → Org P/N. Set your code.
- Optional: add unit cost and supplier link.
How to export the BOM to CSV
Project → BOM → Export → CSV. The CSV includes all columns. Encoding is UTF-8 with BOM for Excel compatibility.
How to push the BOM to Odoo as mrp.bom
- Project → BOM → Push to Odoo.
- KKE Circuit creates an
mrp.bomrecord in the Odoo organisation linked in Settings → Integrations → Odoo. - The BOM lines reference Odoo
product.productrecords by their default code (org P/N). Components without a matching Odoo product are listed in a warning panel.
BOM column reference
| Column | Source | Editable? |
|---|---|---|
| Reference | Component reference designator | No |
| Name | Library item name | No |
| Type | Component type (motor, contactor, ...) | No |
| Manufacturer | Library item manufacturer | No |
| Manufacturer P/N | Library item manufacturer P/N | No |
| Organisation P/N | Org parts library mapping | Yes |
| Quantity | Aggregated count | No |
| Drawing(s) | List of drawings the component appears on | No |
| Unit Cost | Org parts library | Yes |
| Currency | Org parts library | Yes |
| Total | Quantity × Unit Cost | No |
Terminal-strip auto-generation
What the Panel Manager does
The Panel Manager defines what is "inside the panel" and what is "field". Every component on every drawing in a project can be assigned to one of:
- A named panel (e.g.
+CAB1,+CAB2). - The field (everything outside the panel).
- An auxiliary panel (e.g. a remote I/O cabinet).
Wires that cross a boundary between two assignments become candidates for a terminal row.
How to assign components to physical panels
- Project → Panel Manager.
- The left panel lists every component grouped by current assignment.
- Drag components into the desired panel, or multi-select and use Move to → +CAB1.
- New components inherit the assignment of the drawing's default panel (set per-drawing).
How terminal strips get auto-generated at panel boundaries
Once components are assigned and wires drawn, Project → Terminal Strips → Generate sweeps the netlist and:
- Identifies every wire that crosses a panel boundary.
- Groups them by source panel into a strip per panel (
X1for+CAB1,X2for+CAB2). - Numbers each row sequentially.
- Records: net name, internal device:pin (e.g.
K1:T1), external device:pin (e.g.M1:U1), wire colour from the standard's sequential palette, cross-section, cable ID. - Creates or refreshes a Terminal Drawing per strip.
How sequential wire colours are picked (IEC palette / UL palette)
The colour sequence used for terminal-row wiring is set by the project's standard:
- IEC: brown, black, grey, blue, white, orange, violet, pink, turquoise, ...
- UL 508A: black, white, red, blue, green, yellow, orange, brown, ...
You can override per-row in the terminal table.
How to regenerate terminal strips after schematic changes
After any change to the schematic that affects panel-boundary wiring, click Project → Terminal Strips → Regenerate. Existing manual overrides on rows are preserved by row number; new rows are appended.
Reading the auto-generated terminal table
| Column | Meaning |
|---|---|
# | Sequential terminal number on this strip |
| Internal | Device:pin inside the panel (e.g. K1:T1) |
| External | Device:pin outside the panel (e.g. M1:U1) |
| Net | Net name for this terminal |
| Colour | Wire colour from the standard's palette |
| C-S | Cross-section (mm²) |
| Cable | Cable ID for the cable that contains this conductor |
| Notes | Free text |
Netlist
How netlist resolution works across sheets
Every render of a project triggers a netlist resolution pass. Pins are grouped into nets via:
- Direct wire connections.
- Net labels with the same name across sheets — same name → same net.
- Bus labels (multi-bit nets like
D[0..7]).
The resolved netlist is the input to the cable schedule, terminal generator, BOM (for cable counts), and PLC I/O list.
How net labels merge across sheets
A net label +24V on Sheet 1 and a net label +24V on Sheet 2 — even if no physical wire connects them — are treated as the same net for connectivity purposes. The terminal generator and BOM see one continuous net.
How netlist powers the cable schedule and PLC I/O list
The cable schedule iterates over every cable reference in the netlist and lists the conductors per cable. The PLC I/O list iterates over every pin of a PLC component and reports the connected net plus the device on the other end.



















