状态:已上线。核心算法已由前端 JavaScript 移植为服务端 PHP(
calc_core.php),
与网页版逐函数等价(多规范 × 多气象区 × 多档距回归 4383 项零差异)。
工具简介
张力弧垂计算面向输电线路设计:对导/地线做比载计算 → 控制气象判定(临界档距逻辑图法)→ 状态方程求应力/张力 → 弧垂, 一次调用即可得到特性表式的完整结果。内置三套规范:
| specId | 规范 |
|---|---|
old | DL/T 5092-1999 |
new1 | GB 50545-2010(默认) |
new2 | DL/T 5551-2018 |
POST GET /openapi/v1/huchui/calc
需作用域 huchui:calc。wire 可传型号字符串(自动从导线库补全 s/D/W/E/alf/Np),
也可传参数对象手工指定。
curl -X POST "https://tool.0cai.net/openapi/v1/huchui/calc" \
-H "Authorization: Bearer YOUR_KEY" -H "Content-Type: application/json" \
-d '{
"specId": "new1",
"wire": "JL/G1A-400/50",
"k1": 2.5, "k2": 0.25, "bzr": 0.95,
"conds": [
{"name":"最低气温","T":-10,"V":0,"b":0},
{"name":"年平均气温","T":20,"V":0,"b":0},
{"name":"最高气温","T":40,"V":0,"b":0},
{"name":"最大风速","T":-5,"V":25,"b":0},
{"name":"最大覆冰","T":-5,"V":10,"b":5}
],
"L": 400
}'
请求参数
| 参数 | 说明 | 默认 |
|---|---|---|
| specId | 规范:old / new1 / new2 | new1 |
| wire | 型号字符串(如 JL/G1A-400/50,自动补全导线参数)或对象 {xingHao,s,D,W,E,alf,Np}:截面 mm²、外径 mm、单重 kg/km、弹性模量 MPa、线膨胀系数 1/℃、额定拉断力 N | — |
| conds | 气象工况数组 [{name,T,V,b,control?}]:温度 ℃、风速 m/s、冰厚 mm;control 是否参与控制气象判定,默认 1。至少一项 control≠0 | — |
| L | 档距 m(与 spans 二选一) | — |
| spans | 多档距数组,如 [300,400,500],输出逐档 results | — |
| cond | 计算工况名(缺省取该档距的控制工况) | 控制工况 |
| T | 温度覆盖 ℃(放线表类计算;配合 jT 按 T - jT 生效) | — |
| k1 / k2 | 安全系数 / 年平均运行应力百分数 | 2.5 / 0.25 |
| bzr | 保证率(计算断拉力 N = Np × bzr) | 0.95 |
| avgHeight | 导线平均高度 m(风速高度折算用) | 15 |
| groundRoughness | 地面粗糙度 A/B/C/D(DL/T 5551-2018 用) | B |
响应字段
上面请求的真实返回(比载单位 N/(m·mm²),已按有效位截示):
{
"success": true, "specId": "new1", "spec": "GB 50545-2010",
"wire": { "xingHao": "JL/G1A-400/50 (GB/T 1179-2017)", "s": 452, "D": 27.6,
"W": 1510.5, "E": 70500, "alf": 0.0000194, "Np": 123000,
"bzr": 0.95, "N": 116850, "k1": 2.5, "k2": 0.25,
"muZ": 1.067, "avgHeight": 15, "groundRoughness": "B" },
"conds": [
{ "name": "最低气温", "T": -10, "V": 0, "b": 0, "control": 1,
"g3": 0.03277, "g4": 0, "g5": 0, "g6": 0.03277, "gz": 0.03277, "sigmaMax": 103.41 },
{ "name": "年平均气温", "T": 20, "V": 0, "b": 0, "control": 1,
"g3": 0.03277, "gz": 0.03277, "sigmaMax": 64.63 },
{ "name": "最大风速", "T": -5, "V": 26.68, "b": 0, "control": 1,
"g4": 0.02539, "g6": 0.04146, "gz": 0.04146, "sigmaMax": 103.41 },
{ "name": "最大覆冰", "T": -5, "V": 10, "b": 5, "control": 1,
"g3": 0.04277, "g5": 0.00686, "g7": 0.04332, "gz": 0.04332, "sigmaMax": 103.41 }
],
"criticalSpans": { "1-5": 69.97, "3-4": 0, "1-2": "Infinity", "2-3": -589.48 },
"L": 400, "cond": "年平均气温",
"control": { "cond": "年平均气温", "sigmaMax": 64.63 },
"stress": 64.629, "force": 29212.5, "sag": 10.142
}
| 字段 | 含义 |
|---|---|
| stress / force | 计算工况应力 N/mm² / 张力 N(force = stress × s) |
| sag | 弧垂 m(f = g·L²/(8σ)) |
| control | 控制工况名与其最大使用应力 sigmaMax(N/s/k1;年平均气温取 k2·N/s) |
| conds[] | 各工况比载明细:g1 自重、g2 覆冰、g3 垂直总、g4 无冰风压、g5 覆冰风压、g6 无冰综合、g7 覆冰综合、gz 工况实际综合比载 |
| criticalSpans | 临界档距逻辑图(控制气象两两之间的临界档距 m;负数表示该跨不成立,"Infinity" 表示恒由其中一方控制) |
| results[] | 传 spans 时逐档返回 {L, cond, controlCond, sigmaMax, stress, force, sag} |
GB 50545 风速高度折算:最大风速工况会按
放线表类计算:传
muZ=(avgHeight/10)^0.16 折算到导线平均高度
(DL/T 5551-2018 另乘地面粗糙度系数 m),上例中 25 m/s 被折算为 26.68 m/s。放线表类计算:传
cond:"放线表"(工况不存在时自动取「安装」工况荷载)与 T 温度覆盖即可。
常见错误
| HTTP | error | 原因 |
|---|---|---|
| 400 | wire_params_incomplete | 导线参数缺失/非正数,message 列出缺哪些 |
| 400 | no_control_cond | 所有工况 control 都为 0 |
| 400 | cond_not_found | 指定计算工况不存在且无「安装」工况兜底 |
| 404 | wire_not_found | 导线库无此型号(换简写或规格号重试) |