Skip to content
PyPath

Trade pack Coming soon

Electrical

Lighting fixtures, circuits and panels: your own tools to count, to check against your own rules and to report to Excel. Practised on a simulated greenhouse complex with grow lighting, sub-panels and cable trays.

Who it is for

Electrical drafters, BIM modellers and electrical engineers at installation contractors and engineering firms, in greenhouse horticulture and elsewhere. The exercises are about lighting in a greenhouse; the same buttons work on fixtures, circuits and panels in an office, a school or an industrial hall.

Works alongside your electrical package

Routing circuits, drawing schematics and calculating to the standard is what your electrical package does, such as Stabicad or MagiCAD. This pack does what is not in there: counting and adding up, checking the model against your own office rules and making schedules for Excel. It is not a code-compliant calculation (in the Netherlands: NEN 1010): voltage drop and cable size are an indication in the buttons, and the button says that you do the final calculation in your electrical design software.

What you learn, week by week

  1. Measure and count. Fixtures per type, section and panel; from VA to watts and amps (1, 2 and 3 poles); the lighting per section in W/m² and µmol/m²·s. You finish with the Fixture schedule button.
  2. Check against your own rules. Fixtures without a circuit, current against the breaker rating, points per circuit, the phase balance L1/L2/L3, circuit length and voltage drop. The limits sit at the top of every button, so you set them to your own standards. You finish with the Circuit check button.
  3. Change and report. Circuit names that follow your convention, a circuit list that sorts 1, 2, 10 properly, moving fixtures between circuits, a cable tray schedule. You finish with the Panel schedule button, with the power balance against the grid connection and the CHP.

The buttons you keep

  • Fixture schedule: the number of fixtures, kVA and kW per section, type and panel, as a CSV for Excel.
  • Circuit check: five checks in one button, from fixtures without a circuit and overloaded circuits to voltage drop, wrong voltage and phase balance. Whatever it finds, it marks in the model.
  • Panel schedule: supply, circuits, kVA, kW and phase currents per panel, plus the power balance: does the demand fit the contracted capacity, also with the CHP switched off?
  • And more, including: Not connected, Circuit load, Phase balance, Voltage drop, Lighting overview, Power per panel, Circuit names, Circuit list, Redistribute circuits and Cable tray schedule.

17 buttons in total. In the app the buttons have Dutch names.

An example

Which circuits exceed their breaker rating, or have more points than you allow? The limits sit at the top, as office rules. On the simulated greenhouse complex this script finds exactly the two circuits where it goes wrong.

CircuitLoad.pushbutton/script.py
from Autodesk.Revit.DB import *
from Autodesk.Revit.DB.Electrical import ElectricalSystem
from Autodesk.Revit.DB.Electrical import ElectricalSystemType

doc = __revit__.ActiveUIDocument.Document

# ---- Office rules: set these to your own standards ----
MAX_LOAD_PCT = 100   # current as % of the breaker rating
MAX_POINTS = 5       # connected points per circuit

LINE = "{} circuit {} ({}): {} points, {:.2f} A on {:.0f} A = {:.0f} %"

for circuit in FilteredElementCollector(doc).OfClass(ElectricalSystem):
    if circuit.SystemType != ElectricalSystemType.PowerCircuit:
        continue  # only power circuits have a breaker rating
    points = circuit.Elements.Size  # an ElementSet: no len()
    pct = 100.0 * circuit.ApparentCurrent / circuit.Rating
    if pct > MAX_LOAD_PCT or points > MAX_POINTS:
        print(LINE.format(circuit.PanelName, circuit.CircuitNumber,
                          circuit.LoadName, points,
                          circuit.ApparentCurrent, circuit.Rating, pct))
Output on the simulated model
OV-A1 circuit 14 (Belichting A1 R5 K2): 7 points, 18.76 A on 16 A = 117 %
OV-A2 circuit 4 (Belichting A2 R2 K1): 5 points, 8.20 A on 6 A = 137 %

The practice model uses Dutch names ("Belichting" is lighting, "OV" a sub-panel). Set MAX_LOAD_PCT to 80 and the button also finds the circuits that are too full under a stricter office rule. Checked against the Revit API 2025 documentation; not yet run in a real Revit. Stabicad and MagiCAD are trademarks of their owners; PyPath is not affiliated with them.