更新记录
1.0.0(2026-11-04)
首个版本:标准公差查询(0–500mm × IT1–IT18)、由等级与代号(H/h/JS/js)算上下偏差、配合判定(间隙/过渡/过盈 + 极限尺寸)、尺寸链极值法与概率法(含超差 ppm)、公差分配(等公差/等精度/加权 + 建议等级)、一张链表按链名分组批量校核、瓶颈环提示与 CSV 导出(带 BOM)。UTS→Kotlin 编译通过(index.kt 2072 行与 classes.dex 已生成),177 项回归测试全部通过;真机未执行(adb devices 为空),市场截图为 H5 渲染并标注示例数据。
平台兼容性
uni-app
| Vue2 | Vue3 | Chrome | Safari | app-vue | app-nvue | Android | iOS | 鸿蒙 |
|---|---|---|---|---|---|---|---|---|
| × | √ | × | × | √ | × | √ | × | × |
| 微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 小红书小程序 | 快应用-华为 | 快应用-联盟 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| × | × | × | × | × | × | × | × | × | × | × | × |
尺寸链计算与公差分配
给机械设计、工艺、品质的人用:图纸上每个尺寸都给好了公差,装到一起却时松时紧 —— 先算一遍尺寸链,再决定卡哪一环。
三件事一次做完:查标准公差、判配合性质、算封闭环并分配公差。
购买前必读
- 只支持 Android(
minSdkVersion 23,Android 6.0 起)。iOS 与鸿蒙本版本未实现,市场平台声明里已标不支持。 - 内置公差表覆盖公称尺寸 0–500mm、等级 IT1–IT18,取自 GB/T 1800.1—2009 的常用数值段。超过 500mm 或 IT01/IT0 不内置,插件会明确返回「超出范围」,不会猜一个值给你。
- 只自动算 H / h / JS / js 四种偏差代号。a–g、j–n、p–zc 这些代号的基本偏差没有内置 —— 它们随尺寸段变化且容易抄错,插件宁可让你直接填图样上的上下偏差,也不替你做半张表。填了代号又不支持时,会明确告诉你「请直接填上下偏差」。
- 概率法不是万能的。它假设各环尺寸服从正态分布、过程受控、中心不偏移。批量小、工序不稳、单边磨损明显时,极值法才是保守答案。插件两种都给,选哪个是你的工艺判断,不是插件的。
- 不做三维公差分析。它算的是一维(线性)尺寸链:增环、减环、封闭环。形位公差(同轴度、垂直度)折算成尺寸公差需要按你的基准体系换算,本插件不替你做这个折算。
解决什么问题
- 「这套公差装得上吗?」 三个零件各 ±0.1,装起来间隙要求 0.05~0.30 —— 手工加一遍上下偏差,符号错一个结论就反了;
- 「超差了多少?」 算出来封闭环 ±0.20、要求 ±0.15,是超 0.05 还是超 0.10?极值法说「一定超」,概率法说「大概多少 ppm 超」,两个答案含义完全不同;
- 「该卡哪个环?」 五个环里总有一个占了一半以上公差,改它最省成本 —— 但手工算完往往看不出来是哪个;
- 「允许 0.15 怎么分下去?」 等公差对大小件不公平(小件本来能做到 IT6,大件只能 IT10),等精度才符合同一台机床的真实能力。
与同类的边界
| 你可能已有的 | 它做什么 | 本插件做什么 |
|---|---|---|
| 应用商店的公差查询 App(机械公差 1.8 万下载、51机械、公差通,全部免费) | 查表:给尺寸和等级,返回公差值;用户评论里明确在要「算公差补偿的计算器」,它们没有 | 查表只是入口,重点在配合判定、尺寸链封闭环、超差率、公差分配 |
| SolidWorks TolAnalyst / CETOL 6σ / 3DCS($5,000–$40,000/席位/年) | 基于三维模型做装配公差仿真,随 CAD 授权 | 不建模、不联 CAD;一维尺寸链 + 批量校核,装进自己的 App 离线用 |
| Excel 模板(网上大量「尺寸链计算表」) | 公式写死,改环数要重做;符号与单位靠人守 | 按链名分组批量算、自动挑瓶颈环、导出校核单,单位与符号由代码守 |
本店 szhzy-material-calc 卷材换算 |
材料有多少米、多重 | 与材料无关,算的是尺寸与公差 |
本店 szhzy-process-schedule 工序倒排 |
什么时候开工 | 与日期无关,算的是精度够不够 |
快速上手
import { itQuery, fitCalc, chainCheck, chainAllocate, checkChains } from '@/uni_modules/szhzy-tolerance-chain'
// 1) 查标准公差:φ30 的 IT7
const t = itQuery({ size: 30, grade: 7 })
// → tolUm: 21(μm),range: ">18~30"
// 2) 判配合:φ30 H7/h6
const f = fitCalc({ nominal: 30, holeUpper: 21, holeLower: 0, shaftUpper: 0, shaftLower: -13 })
// → type: "clearance",maxGap: 34,minGap: 0
// 3) 尺寸链:A0 = A1 − A2 − A3
const c = chainCheck({
method: 'worst',
target: 300,
links: [
{ name: 'A1', type: '增', size: 50, upper: 100, lower: -100 },
{ name: 'A2', type: '减', size: 20, upper: 50, lower: -50 },
{ name: 'A3', type: '减', size: 28, upper: 50, lower: -50 }
]
})
// → nominal: 2,upperUm: 200,lowerUm: -200,tolUm: 400,within: false
// 4) 允许 300μm 怎么分
const a = chainAllocate({ target: 300, method: 'grade', links: [...] })
// 5) 批量:一张链表按链名分组
const batch = checkChains({ csv: text, method: 'rss', target: 300 })
链表格式
带表头,列名认这些别名:
| 列 | 别名 | 说明 |
|---|---|---|
| 链名 | 尺寸链 / chain | 同一个值的行归为一条链;留空自动编号 |
| 环名 | 名称 / name | 报告与 CSV 里用它标识 |
| 类型 | 增减 / type | 增/增环/+/1 为增环,减/减环/-/-1 为减环 |
| 基本尺寸 | 尺寸 / size | mm |
| 上偏差 | ES / es / upper | μm,带符号 |
| 下偏差 | EI / ei / lower | μm,带符号 |
| 等级 | IT / grade | 与代号配合时,可代替上下偏差 |
| 代号 | letter | 只支持 H / h / JS / js |
| 权重 | 难度 / weight | 加权分配用,留空按 1 |
无表头时按 链名,环名,类型,基本尺寸,上偏差,下偏差 的位置读。
链名,环名,类型,基本尺寸,上偏差,下偏差,等级,代号
主轴间隙,A1,增,50,100,-100,,
主轴间隙,A2,减,20,50,-50,,
主轴间隙,A3,减,28,50,-50,,
端盖台阶,B1,增,80,,,IT9,H
端盖台阶,B2,减,60,,,IT8,h
口径与公式(可手算核对)
极值法(最坏情况,任意一件都不该超差):
A0 = Σ增环 − Σ减环
ES0 = ΣES(增) − ΣEI(减)
EI0 = ΣEI(增) − ΣES(减)
T0 = ES0 − EI0 = ΣT(增) + ΣT(减)
上例手算:ES0 = 100 − (−50) − (−50) = 200,EI0 = −100 − 50 − 50 = −200,T0 = 400,
即封闭环 2 ±0.200mm。
概率法(大数互换,各环正态、取 6σ 为公差带):
T0 = k · √(Σ Ti²) k 默认 1
Δ0 = Σ(ξi · Δi) ξ=+1 增环、−1 减环,Δi 为中偏差
ES0 = Δ0 + T0/2,EI0 = Δ0 − T0/2
σ0 = T0 / 6
上例手算:T0 = √(200² + 100² + 100²) = 244.9μm,中偏差 0,即 ±0.122mm。
允许 300μm 时余量 300 − 244.9 = 55.1μm;按 σ0 = 40.8、限 ±150 算,
超差约 2 × (1 − Φ(3.67)) ≈ 240ppm(约万分之 2.4)。
配合:Xmax = ES − ei,Xmin = EI − es;
Xmin ≥ 0 为间隙配合,Xmax ≤ 0 为过盈配合,跨零为过渡配合;配合公差 Tf = Th + Ts。
等精度分配:公差单位 i = 0.45·∛D + 0.001·D(μm),
a = T0 / Σi,各环 Ti = a·i,再按 Ti 反查最接近的 IT 等级。
API
| 方法 | 入参 | 返回 |
|---|---|---|
itQuery(options) |
size, grade |
tolUm / tolMm / range / unitUm |
devByGrade(options) |
size, grade, letter |
upperUm / lowerUm / tolUm |
fitCalc(options) |
nominal, holeUpper, holeLower, shaftUpper, shaftLower |
fit.type / maxGap / minGap / maxInterf / fitTol / 极限尺寸 |
chainCheck(options) |
links[], method, k, target |
chain.*(公称、上下偏差、公差、余量、ppm、瓶颈环)+ warnings[] |
chainAllocate(options) |
links[], method(equal/grade/weighted), target, weights[] |
rows[](每环公差与建议等级) |
checkChains(options) |
csv 或 path, method, k, target |
chains[] / warnings[] / skipped[] / text / csv / detailCsv |
exportChains(options) |
同上 + fileName / dir / bom |
path / bytes |
toleranceDefaults() |
— | 默认方法、输出目录、上限 |
所有 API 返回统一信封 { ok, code, message, ... },不抛异常。错误码见下。
错误码
| code | 含义 |
|---|---|
OUT_OF_RANGE |
尺寸超出 0–500mm 或等级不在 IT1–IT18 |
LETTER_UNSUPPORTED |
偏差代号不在 H/h/JS/js 内,请直接填上下偏差 |
BAD_NOMINAL |
公称尺寸 ≤ 0 |
BAD_DEV |
上下偏差缺失,或上偏差小于下偏差 |
DEV_REVERSED |
上偏差小于下偏差 |
NO_LINK |
没有任何可用环 |
TOO_MANY |
单链超过 40 环 / 单次超过 80 条链 |
BAD_SIZE |
某环基本尺寸读不出来 |
EMPTY / READ_FAILED / FILE_NOT_FOUND |
文件读取问题 |
体检提示(warnings)
| kind | 触发条件 | 为什么值得看 |
|---|---|---|
ONE_LINK_DOMINATES |
某一环公差占封闭环 ≥60% | 改它一招见效,改别的都是白费 |
TOO_TIGHT |
某环公差比 IT7 还紧 10 倍 | 大概率是抄错单位(μm 写成 mm)或工艺做不到 |
ZERO_TOL |
某环公差为 0 | 不存在零公差尺寸,通常是只填了一个偏差 |
OUT_OF_RANGE |
某环大于 500mm | 内置表不覆盖,不能凭它下结论 |
NO_INCREASE / NO_DECREASE |
缺增环或减环 | 通常是把「类型」列写反了,封闭环符号会整体错 |
CHAIN_FAILED |
某条链算不出来 | 该链的上下偏差不全 |
能力边界与已知限制
- 一维线性尺寸链;角度尺寸链、平面尺寸链不适用。
- 只算尺寸公差,不含形位公差与表面粗糙度的影响。
- 概率法假定过程受控且分布对称;偏态分布需自己用
k放大。 - 公差表为常用段整理值,正式图样与验收以 GB/T 1800.1 原文为准。
- 分配结果是建议值,落图前要过一遍你的工艺能力(设备精度、夹具、刀具)。
验证状态
| 项 | 结果 |
|---|---|
Android 编译(cli launch app-android --compile true,真跑 kotlinc) |
通过,见 测试记录.md |
| 纯逻辑回归测试(Node 真实执行) | 全部通过,项数见 测试记录.md |
| 真机运行(安装、点击、导出文件) | 未执行 —— 本机无在线 Android 设备,未做任何真机断言 |
| iOS / 鸿蒙 | 未实现,声明为不支持 |
授权
普通授权 ¥9.9 / 源码授权 ¥99,见 license.md。

收藏人数:
购买源码授权版(
试用
赞赏(0)
下载 13
赞赏 0
下载 12739115
赞赏 1959
赞赏
京公网安备:11010802035340号