function addWire() wires.push( size: "12", insulation: "THHN" ); renderWireInputs();
const tradeSizes = ["1/2", "3/4", "1", "1 1/4", "1 1/2", "2", "2 1/2", "3", "3 1/2", "4"]; electrical conduit size calculator
function getFillPercentLimit(numWires) if (numWires === 1) return 0.53; if (numWires === 2) return 0.31; return 0.40; // 3+ wires function addWire() wires
function computeTotalArea() let total = 0; for (let w of wires) const areaObj = wireAreas[w.size]; if (areaObj && areaObj[w.insulation]) total += areaObj[w.insulation]; else if (areaObj && areaObj["THHN"]) total += areaObj["THHN"]; else total += 0.0133; // fallback return total; function addWire() wires.push( size: "12"
// Conduit internal areas (sq in) - based on NEC Table 4 for EMT, PVC40, RMC, IMC (approx values for typical sizes) const conduitAreas = "EMT": "1/2": 0.213, "3/4": 0.346, "1": 0.598, "1 1/4": 0.984, "1 1/2": 1.342, "2": 2.028, "2 1/2": 2.731, "3": 3.916, "3 1/2": 5.027, "4": 6.388 , "PVC": "1/2": 0.201, "3/4": 0.333, "1": 0.577, "1 1/4": 0.954, "1 1/2": 1.295, "2": 1.947, "2 1/2": 2.621, "3": 3.760, "3 1/2": 4.824, "4": 6.128 , "RIGID": "1/2": 0.215, "3/4": 0.347, "1": 0.602, "1 1/4": 0.990, "1 1/2": 1.350, "2": 2.038, "2 1/2": 2.743, "3": 3.930, "3 1/2": 5.043, "4": 6.405 , "IMC": "1/2": 0.214, "3/4": 0.348, "1": 0.603, "1 1/4": 0.985, "1 1/2": 1.342, "2": 2.040, "2 1/2": 2.734, "3": 3.922, "3 1/2": 5.030, "4": 6.390 ;