00这是什么
从运动要求到凸轮廓线,再到加工程序、测量与补偿:一个计算核心,网页版和 FreeCAD 工作台两个入口。
问渠凸轮把凸轮机构的设计、校核和制造做成了工程工具:拼出一圈的运动程序,选机构尺寸,软件算出压力角、曲率、接触应力、跳离转速、凸轮轴转矩,逐项判合格、不合格或“未知”;再出磨削或铣削程序、廓线 DXF、STEP,把测量数据贴进来分析误差、生成补偿程序。几个凸轮装在一根轴上时,按凸轮系统算时序、联锁、电机转矩和残余振动。
| 网页版(本帮助) | FreeCAD 工作台 | |
|---|---|---|
| 在哪用 | 浏览器打开就用,不登录也能算 | 装进 FreeCAD 1.1,在本机算 |
| 适合 | 设计、制造程序、测量与补偿、凸轮系统、CAE、云端项目、AI 起草 | 精确实体(含弧面凸轮、圆柱凸轮)、装配、工作图 |
| 计算核心 | 同一份 | 同一份——同一个项目文件,两边校核逐项相同 |
第一次用?从案例开始:典型案例里有两个,从实际问题一步一步做到出程序。
能做的凸轮:
| 类型 | 能做的 |
|---|---|
| 盘形凸轮(外廓、槽凸轮) | 直动或摆动从动件、滚子或平底;8 种运动规律或点表;压力角、根切、曲率、接触应力、跳离、滚子换侧;求最小基圆 |
| 圆柱凸轮 | 直动或摆动、圆柱或锥形滚子;槽展开图;四轴加工程序 |
| 凸轮系统 | 一根凸轮轴上几个凸轮:时序、联锁、电机转矩、停歇残余振动、设计搜索;弧面分度凸轮;换刀臂 CAE |
| 制造 | 磨削 X–C、铣削 XY、慢走丝;程序读回仿真;砂轮半径误差 |
| 测量与补偿 | 升程表或廓线点;对相位、谐波分析、加速度误差;按阶次补偿出新程序 |
一张图看懂整套系统
01快速上手
打开、拼运动程序、填机构、看校核——五分钟走一遍。
打开
- 官网“解决方案 → 行业专用软件 → 凸轮设计与制造”,点“在线使用”;或直接打开
/cam/。 - 不登录也能用。项目自动存在你自己的浏览器里,也可以“保存为文件”带走。右上角“?帮助”打开本帮助对应的一节。
从头设计一个凸轮
- 新建:选盘形凸轮或圆柱凸轮。
- 运动程序:一行一段,升 / 停 / 回,填转角和行程,选运动规律;合计 360° 变绿才算对。不想用公式的,用点表。
- 机构:从动件(直动 / 摆动)、接触(滚子 / 平底)、基圆半径、滚子半径、中心距、摆杆长、接触宽度;勾“槽凸轮”就是形封闭。
- 载荷与材料、校核限值:转速、质量或转动惯量、弹簧、工作载荷、材料;许用压力角、许用接触应力。软件不替你编许用值,没填的是“未知”。
- 中间看凸轮转(可以拖曲线选转角),右边看校核;压力角或根切不合格时,“机构”页点 求最小基圆。
先试一个:运动规律
同样的升程和转角,换一种运动规律,速度、加速度、跃度的峰值就不一样;系数 Cv、Ca、Cj 是无量纲峰值(乘以 h·ω/β 等就是实际峰值)。下面的曲线是计算核心算的。
反例:高速跳离
“送布抬牙凸轮”示例在 5000 r/min 下判“跳离”不合格:弹簧力 + 载荷顶不住从动件的惯性力,不跳离的最高转速只有 4505 r/min。
▶ 试一试:打开送布抬牙凸轮(反例)02典型案例
两个从实际问题出发的案例,每个数都是软件当场算的;示例参数都是虚构的。
| 案例 | 问题 | 用到 |
|---|---|---|
| 一、平缝机挑线槽凸轮:从设计到磨削与补偿 | 5000 r/min 下压力角、曲率够不够?砂轮多大?磨出来误差多少,能不能补? | 设计校核、求最小基圆、磨削程序与仿真、测量与补偿 |
| 二、加工中心凸轮式换刀机构:凸轮系统 | 两个凸轮错开动作不打架吗?电机要多大?停下来换刀臂晃多少? | 凸轮系统、联锁、电机转矩、残余振动、设计搜索、CAE |
每个案例的数都由 docs/帮助/凸轮软件帮助/build.py 生成帮助时调计算核心重算;改了计算核心,重新生成,帮助里的数跟着变。
03案例一:平缝机挑线槽凸轮,从设计到磨削与补偿
一个槽凸轮从“够不够”一直做到“磨出来差多少、怎么补”。
问题
平缝机挑线槽凸轮(示例,虚构):摆动从动件、滚子半径 4 mm、基圆半径 22 mm、中心距 45 mm、摆杆长 38 mm,5000 r/min。运动程序:升(修正正弦)—停—回(4-5-6-7 次多项式)—停。
▶ 试一试:打开这个示例第一步:校核
10 项里关键的几项:
| 项 | 结果 |
|---|---|
| 推程 / 回程最大压力角 | 21.2° / 32.5°(示例许用 45°) |
| 实际廓线最小曲率半径 | 20.7 mm(滚子 4 mm,不根切) |
| 滚子换侧次数 | 每转 4 次(槽凸轮形封闭,接触力换向处在槽间隙里有冲击) |
| 最大接触应力 | 414 MPa——没填许用值,所以是“未知” |
| 凸轮轴峰值力矩 | 0.97 N·m |
压力角离许用值还很远。“求最小基圆”给出 9.24 mm 就够(卡在推程压力角)——基圆还可以缩,凸轮能做得更小更轻;用多大由企业结合结构定。
第二步:磨削程序
顶部 制造,选磨削 X–C,砂轮半径取 4 mm(与滚子一样大,一刀同时磨出槽的两侧),弦高公差 1 µm:
- 不过切:凹处曲率半径 28.7 mm 大于砂轮半径;
- 程序仿真偏差:软件把导出的程序读回来让砂轮扫过毛坯,和设计廓线比,最大 1.03 µm(限 1.1 µm);
- 程序 168 个点,凸轮转一圈约 6 s。
第三步:测量与补偿
顶部 测量与补偿,点“载入合成测量数据(演示)”——软件按设计升程加上已知误差造出来的,只作演示。勾“自动对相位”,填示例许用加速度误差 50 rad/s²(虚构),点“分析”:
- 测量零位与零件差 1.50°(合成数据里放的就是 1.5°);
- 误差引起的最大加速度误差 158 rad/s²,超过许用值;按这个误差,最高只能跑约 2811 r/min;
- 选 1–6 阶补偿,点“生成补偿程序”:误差均方根从 3.19 降到 0.60 µrad(剩下的是没选的高阶和噪声),下载补偿后的程序。
04案例二:加工中心凸轮式换刀机构
一根凸轮轴上两个凸轮:弧面分度凸轮转换刀臂,槽凸轮让换刀臂拔刀、插刀;动作要错开,电机要够,停下来不能晃太大。
问题
加工中心凸轮式换刀机构(示例,虚构):凸轮轴 60 r/min,经 30:1 减速由电机带动。弧面分度凸轮:停—转 65°—停—转 180°—停—回 65°;槽凸轮 + 摆杆:在换刀臂停着时下拔、上插。
▶ 试一试:打开这个示例第一步:时序与联锁
“系统设计”页中间是时序图:凸轮轴转一圈,两个凸轮各在什么位置,阴影是运动段。联锁校核:一个动时另一个必须停着,两条都合格。一次换刀循环(起动到制动停住)1.08 s。
第二步:电机与振动
| 项 | 结果 |
|---|---|
| 电机峰值转矩 | 17.9 N·m |
| 电机均方根转矩(一次换刀) | 4.1 N·m |
| 凸轮轴峰值功率 | 2368 W |
| 停歇时换刀臂端部残余振动 | 252 µm |
| 停歇时拔插刀端部残余振动 | 49 µm |
电机额定值没填(照样本填),所以电机几项是“未知”;残余振动没给允许值,也是“未知”。
第三步:设计搜索——换运动规律
“设计搜索”把每种运动规律都试一遍(两个凸轮一起换):
| 运动规律(两个凸轮都换) | 停歇时换刀臂端部残余振动 µm | 电机峰值转矩 N·m | 校核 |
|---|---|---|---|
| 修正正弦 | 252 | 17.9 | 没有不合格 |
| 摆线(正弦加速度) | 106 | 26.8 | 不合格:换刀臂转动凸轮压力角 |
| 4-5-6-7 次多项式 | 48 | 35.3 | 不合格:换刀臂转动凸轮压力角、拔插刀凸轮推程压力角 |
| 修正梯形 | 251 | 26.6 | 不合格:换刀臂转动凸轮压力角 |
| 3-4-5 次多项式 | 148 | 22.0 | 不合格:换刀臂转动凸轮压力角 |
振动最小的几种规律都让弧面凸轮的压力角超了;在全部合格的里面,软件选 修正正弦(示例本来用的就是它)。给了允许振动、电机额定值时,还会求满足它们的最高转速。点“采用”换上那种规律。
第四步:CAE
“CAE 分析”页:换刀臂有限元(55724 个单元)最大应力 31.9 MPa、安全系数 16.9;换刀臂本身(孔固定)一阶固有频率 791 Hz;还有疲劳寿命和整机多体动力学(MuJoCo)与解析结果的对照。示例结果是 2026-10-18 用数字工厂计算服务同一套程序算的;提交新计算要企业账号。
▶ 试一试:打开 CAE 页05怎么算:运动规律、压力角、曲率、接触与跳离
每一项校核出自哪个公式;方法出自公开的教材和专著,每个模块带标准题。
运动程序与运动规律
一圈由升、停、回拼成,每段选一种运动规律:等速、等加速等减速、简谐(余弦加速度)、摆线(正弦加速度)、修正梯形、修正正弦、3-4-5 次多项式、4-5-6-7 次多项式。段与段接头处速度不连续是刚性冲击,加速度不连续是柔性冲击,软件逐个接头查。也可以用点表(至少 8 个点,按周期三次样条连起来)。
压力角、根切与曲率
- 压力角:接触点法线与从动件运动方向的夹角,推程、回程分别对比许用值。
- 不根切:理论廓线外凸处的曲率半径要大于滚子半径,槽凸轮两侧都查;实际廓线最小曲率半径 由廓线一、二阶导数算。
- 求最小基圆:压力角、根切、曲率都随基圆半径单调变化,所以按许用值二分求出最小基圆(Angeles & López-Cajún 把它当优化问题,这里单调,搜索就够)。
接触应力、跳离与转矩
- 接触应力:滚子(或平底)与廓线的赫兹线接触,长度取接触宽度。
- 高速不跳离(外廓凸轮):弹簧力 + 载荷 + 惯性力在一圈里始终大于 0,并算出不跳离的最高转速;槽凸轮形封闭,不适用,改查滚子换侧次数。
- 凸轮轴峰值力矩:接触力 × 类速度。
凸轮系统
凸轮轴转矩 T(θ) = J_e θ̈ + ½ J_e′ θ̇² + Σ L_i ψ_i′ + T_摩擦(拉格朗日方程,Norton、Chen);电机转矩按传动比和效率折算。停歇段残余振动按单自由度振动方程 y″ + 2ζω_n y′ + ω_n² y = −ψ̈(t)(Norton,凸轮动力学一章)。弧面分度凸轮的压力角按 Rothbart《Cam Design Handbook》里滚子齿轮凸轮的公式,啮合、筋厚、根切、接触应力另查。
圆柱凸轮
槽侧面由啮合条件闭式求出;压力角沿槽深变化,槽底处最大,按槽底给结论;锥形滚子的锥顶在凸轮轴线上,停歇时纯滚动。
06界面一览
单个凸轮:设计、制造、测量与补偿三页;凸轮系统:系统设计、三维与制造、CAE 三页。
顶部
| 按钮 | 做什么 |
|---|---|
| 设计 / 制造 / 测量与补偿 | 单个凸轮的三页(圆柱凸轮没有“测量与补偿”) |
| 系统设计 / 三维与制造 / CAE 分析 | 打开凸轮系统时换成这三页 |
| 示例… | 6 个虚构示例:挑线槽凸轮、送布抬牙凸轮(跳离反例)、包装机推料凸轮、换刀机构(凸轮系统)、送料圆柱凸轮、摆动拨叉圆柱凸轮 |
| 新建… / 打开文件 / 保存为文件 | 盘形凸轮、圆柱凸轮;项目文件 FreeCAD 也能打开 |
| 云端项目 / 计算书 | 见“云端与 AI”;计算书打印或存 PDF |
网址后加 ?example=编号 直接打开示例,&mode=mfg、measure、sys3d、cae 直接到那一页;&embed=1 是只看动画和校核的嵌入版。
设计页
左边按页签填运动程序、机构、载荷与材料、校核限值;中间凸轮转动(红线是接触点法线,蓝虚线是从动件运动方向,夹角就是压力角),下面是位移、速度、加速度、压力角、曲率曲线,点或拖曲线凸轮跟着转;右边校核。
校核项
| 校核 | 怎么算 | 需要填 |
|---|---|---|
| 无刚性冲击 / 无柔性冲击 | 段接头处速度、加速度是否连续 | — |
| 推程 / 回程最大压力角 | 接触点法线与运动方向的夹角 | 许用压力角 |
| 不根切 | 理论廓线外凸处曲率半径大于滚子半径 | 滚子半径 |
| 实际廓线最小曲率半径 | 廓线一、二阶导数 | 可选:限值 |
| 高速不跳离 | 弹簧力 + 载荷 + 惯性力始终大于 0;槽凸轮不适用 | 转速、质量、弹簧 |
| 滚子换侧次数(槽凸轮) | 接触力换向次数 | 转速、质量 |
| 最大接触应力 | 赫兹线接触 | 材料、接触宽度、许用接触应力 |
| 凸轮轴峰值力矩 | 接触力 × 类速度 | 转速、质量 |
总结论取最差的一项;没填的限值结果是“未知”,不算合格。
07制造、测量与补偿
出程序、读回仿真;测出误差、分阶次、算加速度误差、反向补偿出新程序。机床参数都是示例值,按本厂设备改。
制造
- 加工方式:磨削 X–C(凸轮随 C 轴转、砂轮沿 X 进退)、铣削 XY、慢走丝(只出 DXF 和点表)。填刀具半径和弦高公差;槽凸轮刀具不能大于滚子,等于时一刀磨出两侧。
- 校核:不过切(凹处曲率半径大于刀具半径);X–C 能走(刀心轨迹对凸轮中心是“星形”);程序仿真偏差(程序读回来让刀具扫过毛坯,和设计廓线比,不超过弦高公差 + 0.1 µm 为合格——说明程序没问题,零件公差由企业定)。
- 下载:加工程序 .nc、廓线 .dxf、点表 .csv(每 0.5° 一行)、三维 .step(B 样条拟合偏差一般在 0.01 µm 量级)。
- 砂轮修整后没更新半径:填实际半径,点“算误差”,看用旧半径的程序磨出来差多少。
- 圆柱凸轮用四轴(A 转凸轮、X 沿轴线):刀具与滚子同样大时一刀成槽,小一号时两侧各走一刀;程序读回扫槽,与精确槽侧面比法向偏差。
测量与补偿(盘形凸轮)
- 数据:升程表(转角, 升程)或廓线 XY 点;没有数据时“载入合成测量数据(演示)”。
- 自动对相位:零位没和键槽、销孔对准时勾上;对准了就别勾,结果更准。
- 结果:相位差、基圆 / 零点误差、误差曲线、谐波(红 = 1 阶偏心和装夹,黄 = 低阶热处理变形,蓝 = 高阶机床和颤振)、误差引起的加速度误差和“这样的误差最高能跑多少转”。
- 补偿:选要修的阶次,软件把这些阶次的误差反向加到运动程序上,按“制造”里的刀具和机床重新出程序,并预测剩下的误差。
08云端项目与 AI 起草
开通企业授权的单位(与缝纫机、轴承软件同一份授权):项目存云端多人共用;AI 只起草,判定全由程序做。
云端项目
- 顶栏“云端项目”→“存到云端…”;以后改好点“保存到云端”,存成新的一版。单个凸轮和凸轮系统都能存。
- 每个项目留最近 20 版,能看谁、什么时候存的,“恢复这一版”存成新的一版,不删任何一版。两人同时改不锁定:后存的人会被提示,可以另存一份或打开对方的版本。
- 每家单位最多 500 个项目,单个 2 MB 以内。
AI 起草
- 一句话起草运动程序:例如“主轴转一圈:前 100° 用摆线规律推出 40 mm,停 80°,再用 120° 退回,其余停着”。草稿里黄色是句子没给的数,软件不替你编;AI 自己写了句子里没有的数会被清空;蓝色是程序补的(剩下的停歇角、回到起点的行程)。可用时先把全部校核算一遍给你看,点“采用”才进项目。
- 校核解释:用白话说哪几项不合格或未知、可以怎么改;文字里的每个数都和校核结果核对过,含其他数的句子整句删掉。
- 设计说明:计算书里可以自己写,也可以让 AI 起草后再改。
- 每人每天 30 次,每次调用留记录。国内服务器用已备案的国内模型,美国服务器用 Claude。
09导出与文件
计算书、项目文件、加工程序、廓线、点表、三维、FreeCAD 工作台。
| 文件 | 在哪 | 说明 |
|---|---|---|
| 计算书 | 顶部 计算书 → 打印 / 存 PDF | 输入、运动程序(含 Cv、Ca)、校核、曲线、廓线;做过制造、测量的再加两节 |
| 项目 .json | 保存为文件 / 打开文件 | 网页版和 FreeCAD 工作台互通 |
| 加工程序 .nc | 制造 | 磨削 X–C、铣削 XY;补偿后的程序在“测量与补偿” |
| 廓线 .dxf、点表 .csv、三维 .step | 制造 | 外廓凸轮厚度取接触宽度;槽凸轮另填毛坯半径和盘厚 |
| 弧面凸轮 STL、四轴程序、换刀臂 STEP | 凸轮系统 三维与制造 | — |
| FreeCAD 工作台 .zip | 制造 或 三维与制造 页的“下载” | 见 FreeCAD 版帮助 |
10内核:开源软件与参考书
数值、几何和网页交给成熟的开源软件;公式和判据出自公开的教材和专著,每个模块带标准题。
用到的开源软件
| 开源软件 | 做什么 | 在问渠凸轮里用在哪 | 许可证 |
|---|---|---|---|
| NumPy、SciPy | 数值计算 | 全部计算核心:运动程序、廓线、样条、最小基圆、谐波分析 | BSD-3 |
| Shapely | 平面几何 | 加工仿真(刀具扫过毛坯) | BSD-3 |
| manifold3d | 网格布尔运算 | 圆柱凸轮、弧面凸轮按加工方法生成的 STL | Apache-2.0 |
| FreeCAD 1.1、OpenCASCADE | 参数化 CAD、几何内核 | “问渠 → 凸轮”工作台;精确实体与工作图 | LGPL-2.0+、LGPL-2.1(带例外) |
| three.js | 网页三维 | 凸轮系统三维、圆柱凸轮三维 | MIT |
| FastAPI、Uvicorn、Vue | 接口与网页 | 凸轮计算服务、网页版 | MIT、BSD-3、MIT |
| Gmsh、CalculiX、pyLife、MuJoCo | 网格、有限元、疲劳、多体动力学 | 凸轮系统的 CAE(在数字工厂计算服务上跑) | GPL-2.0+、GPL-2.0、Apache-2.0、Apache-2.0 |
参考书
R. L. Norton, Cam Design and Manufacturing Handbook(运动规律、压力角、曲率、动力学与残余振动);H. A. Rothbart, Cam Design Handbook(滚子齿轮凸轮 / 弧面凸轮);J. Angeles, C. López-Cajún, Optimization of Cam Mechanisms(最小基圆);孙桓《机械原理》(廓线曲率)。另外和开源的 mechanism 包做过交叉对照。
我们自己做的
计算核心 services/cam/camkit/(纯 Python):运动程序、盘形与圆柱与弧面凸轮、制造程序与读回仿真、测量与补偿、凸轮系统与设计搜索、STEP 写出;标准题与闭式解对照(services/cam/tests/)。判定全由程序做,不经 AI;没填的数据结果为“未知”。
11系统设计
运动程序 → 计算核心 → 校核 → 制造程序 → 测量 → 补偿,绕成一个闭环;凸轮系统再接 CAE。
| 层 | 是什么 | 在哪 |
|---|---|---|
| 计算核心 | 纯 Python,不联网、不调 AI;网页版服务和 FreeCAD 工作台共用 | services/cam/camkit/ |
| 计算服务 | 网页版的接口:校核、最小基圆、制造、测量、补偿、系统、导出 | services/cam/app.py,网址 /cam/api/ |
| 网页版 | 单个凸轮三页、凸轮系统三页 | apps/cam/ |
| FreeCAD 工作台 | 精确实体、装配、工作图、程序 | services/cam/freecad/ |
| 云端、AI、CAE | 账号、企业授权、云端项目、AI 起草(经问渠网关);CAE 在数字工厂计算服务排队 | services/gateway/、数字工厂 |
规矩:判定只由程序做;许用值、机床参数、电机额定值由企业填,不编;示例一律标“虚构”。
12简化与限制
照实写:哪些是简化,哪些还没有。
- 接触应力按赫兹线接触,不计边缘效应和润滑。
- 停歇残余振动按单自由度模型,弹性频率和阻尼比由企业填;系统振动用的是含传动链的整体频率,与 CAE 里换刀臂本身(孔固定)的固有频率不同。
- 弧面凸轮的槽底按刀具端面直径扫出,比平底刀实际加工最多多留约 0.7 mm 的料(非工作面,偏安全)。
- 程序仿真合格只说明程序没问题;零件公差、机床精度由企业定。
- 测量与补偿只对盘形凸轮开放;“自动对相位”会把一部分像“错开一点角度”的误差当成相位差。
- 机床设置、电机参数、许用值都是示例或要企业填;不填的结果为“未知”。
13常见问题
为什么接触应力是“未知”? 没填许用接触应力。软件不替你编许用值,“未知”不算合格。
合计不是 360° 怎么办? 运动程序各段转角加起来必须是 360°,右下角“合计”变绿才算对;停歇段补齐即可。
网页版和 FreeCAD 版结果会不一样吗? 不会,同一个计算核心;FreeCAD 打开网页版存的项目,校核逐项相同。
槽凸轮为什么没有“跳离”? 槽凸轮是形封闭,不会跳离;改看滚子换侧次数,每次换侧都在槽间隙里有冲击。
示例里的许用值能直接用吗? 不能,示例的许用值、机床参数、电机参数都是虚构的,按企业标准和设备填。