吾非专业之开发者也。吾乃钢铁之匠,厌于纸笔计算管重之劳.
是故,吾建MetalWeightPro——为印度之匠所设之免费、基于浏览器之金属重量计算器。无框架,无后端。唯用纯白之HTML、CSS及ES模块而已.
此乃驱动之算术.
核心之公式
每段式之形各异,其横截面积亦不同。重恒为:
W = A × L × ρ
何之?
W = 体重(千克)
A = 横截面积(平方米)
L = 长度(米)
ρ = 物質密度(kg/m³)
每节之异,惟计算 A 法耳。
圆棒
```// D 寸,返斤/尺
function 圆棒重(D, 密度 = 7850) {
const 面 = (Math.PI / 4) * Math.pow(D / 1000, 2);
return 面 * 密度;
}
// 简常之式
圆棒重量简易算法(D) {
返(D * D) / 162;
}
// 例:25毫米MS圆棒
console.log(roundBarWeightSimple(25)); // 3.858千克/米```
空心管
// OD and t in mm, returns kg/m
function pipeWeight(OD, t, density = 7850) {
const outerArea = (Math.PI / 4) * Math.pow(OD / 1000, 2);
const innerArea = (Math.PI / 4) * Math.pow((OD - 2 * t) / 1000, 2);
return (outerArea - innerArea) * density;
}
// Simplified form
function pipeWeightSimple(OD, t) {
return (OD - t) * t * 0.0246615;
}
// Example: 60.3mm OD, 3.65mm wall (2" IS 1239 medium)
console.log(pipeWeightSimple(60.3, 3.65)); // 5.10 kg/m
纯文本
空心截面(SHS/RHS)
// All dimensions in mm, returns kg/m
function hollowSectionWeight(B, H, t, density = 7850) {
const outerArea = (B / 1000) * (H / 1000);
const innerArea = ((B - 2 * t) / 1000) * ((H - 2 * t) / 1000);
return (outerArea - innerArea) * density;
}
// Example: 50×50×3mm SHS (IS 4923)
console.log(hollowSectionWeight(50, 50, 3)); // 4.45 kg/m
原文
MS 角度
// A, B = leg lengths in mm, t = thickness in mm
function angleWeight(A, B, t, density = 7850) {
const area = ((A + B - t) * t) / 1000000;
return area * density;
}
// Example: 65×65×6mm equal angle (IS 808)
console.log(angleWeight(65, 65, 6)); // 5.84 kg/m
原文
物料密度
const DENSITIES = {
mild_steel: 7850,
stainless_steel: 8000,
aluminium: 2700,
copper: 8960,
brass: 8500,
cast_iron: 7200,
gi: 7850,
lead: 11340
};
原文
除数之式
// Divisor = 1,000,000 ÷ (π/4 × density)
function getDivisor(density) {
return 1000000 / ((Math.PI / 4) * density);
}
console.log(getDivisor(7850)); // 162.3 → MS
console.log(getDivisor(8000)); // 159.2 → SS
console.log(getDivisor(2700)); // 471.5 → Aluminium
console.log(getDivisor(8960)); // 142.5 → Copper
此故也,匠者云MS用D²/162,然法式普适,惟易其除数以应物耳。












