2026-04-15

otvinta-Bevel-Gear-Calculator

0. 使用 otvinta 的锥齿轮计算器建模
1. 生成齿的侧面线条
2. 形成齿面
	2.1 齿型轮廓
	2.2 接着画齿与齿之间的谷
	2.3 形成齿面
3. 3D游标定位到半径长度
4. 完善齿面
	4.1 旋转齿面
	4.2 修正底边
5. 3D游标定位到锥顶高度
6. 形成齿体
	6.1 复制缩放-生成锥齿轮顶部的齿面
	6.2 形成齿体
7. 完成锥齿轮
	7.1 直齿锥齿轮
	7.2 给直齿增加弧度
8. 制作大齿轮
9. Rigid 刚体动画
	9.1 设置参数表
	9.2 播放
	9.3 相机环绕拍摄

0. 使用 otvinta 的锥齿轮计算器建模

前面已经试过使用插件建模,生成锥齿轮,驱动旋转动画看起来没啥问题。
但若使用Blender的物理特性,相互摩擦旋转,就需要更加精细的建模。
这里使用 otvinta 的锥齿轮计算器建模。使用官方视频里的参数建模: 
  • Module 为1
  • 齿数分别为: 18, 36
  • 轴角度为: 100
  • 接触面宽为: 6

1. 生成齿的侧面线条

  • 小键盘[7,5] 正交顶视图,[Shift C] 3D游标归位。
  • [Shift A] 新增物体: 网格 \ 数学函数 Math Functions \ XYZ Math Surface 数学曲面
  • 根据 表格信息,依次输入参数: 
    • X equation
    • Y equation
    • Z equation
    • Umin, Umax, Ustep
  • 取消 选中[ u wrap](循环) 的复选框。
  • 因为未使用V参数。v的最大,最小都输入0,步长输入1.
  • 删除重复项,[A] 全选 [m] 合并重复顶点

2. 形成齿面

2.1 齿型轮廓

  • Shift D 复制 S 缩放 Y -1 Enter 创建镜像反射。
  • 复制 表格参数 [Tooth thickness at base (°) 牙根厚度]: 11.7079
  • 回到Blender
  • R 旋转 Z (11.7079)
  • 点选2条曲线最右边的顶点,F 填充。形成齿尖。
  • 打开 计算器,将刚才复制的数字/2,复制结果: 5.85395
  • 回到Blender, A 全选
  • R Z (-5.85395) 
现在的齿形线条跨X轴。

2.2 接着画齿与齿之间的谷

复制新齿
A 全选 Shift D 复制 R Z 20 绕Z旋转20度。
20度是小齿轮相邻齿之间的角度距离,因为小齿轮有18个齿。360/18=20度。
现在在原始齿的另一端创建第三个齿。
接着前面的步骤,Shift D R Z -40

选中上面2个齿形靠近的顶点,[Shift S 2] 游标到选中项
取消上面的顶点,保留下面顶点选中。
菜单:网格\挤出\旋绕 90度,分8步 ,形成90度圆弧。

选中下面2个齿形靠近的顶点,[Shift S 2] 游标到选中项
取消下面的顶点,保留上面顶点选中。
菜单:网格\挤出\旋绕 90度,分8步 ,形成90度圆弧。

2.3 形成齿面

Shift C 游标归位
选中上下2个齿,删除,只保留中间编辑过的齿。上下各有1/4个圆弧。

A F 全选后填充。
[2] 边模式。选中新形成的齿底边,E X -1 挤出,构成齿临时底部。
退出编辑模式

3. 3D游标定位到半径长度

复制 表格参数 [Reference radius (mz / 2) 参考半径]: 9
将参考半径值作为3D光标的X坐标输入。
3D游标 移动到X 9的位置。

4. 完善齿面

4.1 旋转齿面

复制 表格参数 [Reference cone angle (°) 参考锥角]: 28.334
回到Blender
物体模式,选中物体,R Y (-28.334)

4.2 修正底边

Shift C 游标归位
Tab 编辑模式
A 全选 Shift D 复制 R Z 20 绕Z旋转20度。
Shift D 复制 R Z -40 绕Z旋转-40度。
目前状态是:
中间跨X轴1个齿,上下分别各1个齿。
Ctrl Z 透视模式,顶点编辑,将齿低2个相邻顶点向中间合并。
面模式,删除上下2个齿。
Tab 退出 编辑模式

5. 3D游标定位到锥顶高度

复制 表格参数 [Cone base-to-apex height (R cos δ) 底面到锥顶的高度]: 16.691
将 底面到锥顶的高度 作为3D光标的 Z坐标输入。
3D游标移动到Z轴的这个高度: 16.691
菜单 物体 设置原点,原点到3D游标

6. 形成齿体

6.1 复制缩放-生成锥齿轮顶部的齿面

复制 表格参数 [Top/Bottom Scaling Factor 缩放因子]: 0.6836
回到Blender
Tab 编辑模式
全选 Shift D 复制 S 缩放 (0.6836)

6.2 形成齿体

[2] 边模式。全选,右键菜单,桥接循环边
删除底座的地面和2个侧面。

7. 完成锥齿轮

7.1 直齿锥齿轮

A 全选 Shift D 复制 R Z 20 绕Z旋转20度。
A 全选 Shift D 复制 R Z 40 绕Z旋转40度。
A 全选 Shift D 复制 R Z 80 … 直到超过360度,完成齿轮形态。
… 形成小齿轮后,删除重复项
A M 合并重复顶点
根据喜好填充顶面,底面,中间的孔面... 
到这里,一个直齿的锥齿轮就完成了,要更顺滑的弧度齿,接着做下一步。

7.2 给直齿增加弧度

环切齿表面,记录环切数量,比如(5),因为后续对另一个齿轮要进行相同的环切数量。
将从最上面的循环开始,分别将新创建的循环旋转2,4,6,8,10,12度.
最后依次旋转12,则是选中底面。

8. 制作大齿轮

参照如上步骤(1~7),制作大齿轮。这里不在重复。需要注意的是: 
  • 参照表格数据,只有缩放因子一致,其他的都有大小齿轮各自的参数。
  • 形成齿时的旋转角度需要根据齿数计算得出。比如上面的小齿轮: 20度=360度/18齿。大齿轮则是: 360度/36齿=10度。
  • 给齿增加弧度,上面是对小齿轮进行弧度旋转。对于大齿轮,相同的环切数量,旋转角度则为1,2,3,4,5,6. 正好是小齿轮旋转的1/2. 这个比例与半径成反比。若其他半径组合,也是用这个反比关系计算即可。

9. Rigid 刚体动画

9.1 设置参数表

操作 类型 物体名称 操作描述
选中 大齿轮 Gear [shift S] 光标到选定对象。
刚体 \ Active, Mesh, Sersitivity (0.04改为0)
选中 小齿轮 Pinion [shift S] 选定对象到光标。
[R X 100] 小齿轮绕X旋转100度。
刚体 \ Active, Mesh, 敏感度-边距 (0.04改为0)
2个齿轮的原点重合,都在齿轮轴线焦点处。3D光标在齿轮原点。
添加 圆柱体 Axis1 绕X旋转 100。
刚体 \ Passive, 被动
添加 空箭头 Hinge1 绕X旋转 100
添加 空箭头 Motor1 绕z旋转 90, 然后绕X旋转10,使空物体的x轴与小齿轮的轴重合
添加 圆柱体 Axis2 向上移动 ~20左右,
刚体 \ Passive, 被动
添加 空箭头 Hinge2 向上移动 ~20左右,
选中 空箭头 Hinge1 刚体约束 \ Hinge; Ob1: pinion; Ob2: Axis1
选中 空箭头 Motor1 刚体约束 \ Motor; Ob1: pinion; Ob2: Axis2; 启用角度
选中 空箭头 Hinge2 刚体约束 \ Hinge; Ob1: gear; Ob2: Axis2

9.2 播放

参照如上参数设置,小结如下。
  • 齿轮: 刚体\活动 (齿轮的形状 统一设置为网格,敏感度为0)
  • 圆柱体: 刚体\被动
  • 空箭头: 刚体约束\ (1个机动,2个铰链)
播放 … 
  • 若转速太慢或太快,检查如下参数
    • 场景 \ 刚体世界环境 \ 速率
  • 若旋转到250帧就停下来,可以到如下位置调整缓存帧数。
    • 场景 \ 刚体世界环境 \ 缓存

9.3 相机环绕拍摄

  • 新增 曲线\圆环,调整设当大小。相当于相机的轨道。
  • 选择 相机,曲线,[Ctrl P] 设置父对象,选择 跟随路径。
  • 播放 看看 … ESC 退出。
  • 选择 圆环,右边 数据 面板 \ 路径动画 \ 调整 帧 数,以调相机整旋转速度。这个帧数表示旋转1周需要的帧数。
  • 新增 空箭头,在目标物体之间,作为相机锁定的方向。
  • 选择 相机,添加约束 \ 追踪 \ 标准跟随 选中 空箭头




2026-04-08

Bevel-gears

1. 锥齿轮
	1.1 切面图示
	1.2 优缺点
	1.3 锥齿轮的几何形状
	1.4 Teeth 齿
2. 锥齿轮分类
	2.1 直齿线 Straight tooth lines
	2.2 螺旋齿线 Spiral tooth lines
	2.3 Zerol 齿线 Zerol tooth lines
	2.4 Mitre gears 等径锥齿轮
3. 锥齿轮建模
	3.1 齿轮建模的基本原则
	3.2 手动建模基本步骤
	3.3 free插件建模
	3.4 斜齿轮和螺旋齿轮

1. 锥齿轮

Bevel gears 锥齿轮是指两根轴的轴线相交,且齿轮齿面呈圆锥形的齿轮。
锥齿轮最常安装在成90度角的轴上,但也可以设计成在其他角度下工作。
  • 节锥 (pitch cone): 锥齿轮的节圆是一个圆锥体,称为节锥(pitch cone)。
  • 节圆 (pitch surface): 指将各个齿的峰谷平均化后得到的假想无齿表面。普通齿轮的节圆形状为圆柱体。
  • 节角 (pitch angle): 指节圆表面与轴线之间的夹角。
    • 普通齿轮的表面与轴线平行,相当于0度。
    • 外锥齿轮 (external bevel gears) 的节角小于 90 度,其齿尖向外突出。
    • 冠状齿轮 (crown gear) 的节角等于 90 度,其齿尖朝向 平行与轴线,可以和普通直齿轮搭配使用。(also known as a face gear or a contrate gear)
    • 内锥齿轮 (internal bevel gears) 的节角大于 90 度。其齿尖朝向内侧。
锥齿轮改变旋转动力传递的旋转轴线,广泛应用于机械领域。

齿轮命名规则列表

1.1 切面图示



无论工作角度如何,齿轮轴线必须相交(在点 O)。 
啮合的外锥齿轮的节面与齿轮轴同轴;两个节面的顶点位于轴线的交点。

1.2 优缺点

  • 优势:这种齿轮可以改变操作角度。
  • 缺点:
    • 这种齿轮的一个轮子设计成只能与其互补轮子配合使用,而不能与其他轮子配合使用。
    • 必须精确安装。
    • 轴的轴承必须能够承受很大的力。

1.3 锥齿轮的几何形状

圆柱齿轮的齿廓对应于渐开线(即三角波投影到圆周上),而锥齿轮的齿廓为八面体(即三角波投影到球面圆周的法线路径上)。
所有传统的锥齿轮机(例如Gleason、Klingelnberg、Heidenreich & Harbeck、WMW Modul)都生产八面体齿廓的锥齿轮。
重要提示:对于五轴铣削锥齿轮组,必须选择与传统制造方法相同的计算/布局。
基于等效圆柱齿轮在法向截面上具有渐开线齿形的简化计算锥齿轮,其齿形存在偏差,齿强度降低10-28%(无偏置)或45%(有偏置)[Hünecke 博士论文,德累斯顿工业大学]。
此外,这些“渐开线锥齿轮组”会产生更大的噪音。

1.4 Teeth 齿

齿轮齿形涉及两个方面。
  • 一是单个齿的横截面轮廓。
  • 二是齿在齿轮端面上的投影线或曲线:换句话说,就是横截面轮廓投影到该投影线上形成齿的实际三维形状。
横截面轮廓和齿线或曲线的主要影响在于齿轮运转的平顺性。某些齿形比其他齿形更能带来平顺的齿轮运转。

2. 锥齿轮分类

齿线 Tooth line: 锥齿轮的齿可以是直齿 straight、螺旋齿 spiral 或“零齿 zerol”。也因此分为不同类型的锥齿轮。

2.1 直齿线 Straight tooth lines

在直齿锥齿轮中,齿是直的,并且与锥面的母线平行。这是最简单的锥齿轮形式。
它类似于正齿轮,只是形状是圆锥形而不是圆柱形。
在直齿锥齿轮组中,每个齿啮合时都会对对应的齿产生冲击,而简单地将齿轮齿弯曲即可解决这个问题。

2.2 螺旋齿线 Spiral tooth lines

螺旋锥齿轮的齿沿螺旋线形成。
它们与圆柱形斜齿轮有些类似,因为齿都是成角度的;然而,螺旋齿轮的齿除了角度之外,还带有弧度。
它的主要应用领域是车辆差速器,在车辆差速器中,驱动轴的动力输出方向需要旋转90度才能驱动车轮。
螺旋锥齿轮组必须成对更换,即左侧齿轮和右侧齿轮必须同时更换,因为齿轮是成对制造和研磨的。

螺旋齿相对于直齿的优势在于其啮合更加平缓。齿间的接触从齿轮的一端开始,然后逐渐扩展到整个齿面。这使得当新的一对齿啮合时,力的传递更加平缓。
而直齿锥齿轮的突然啮合会导致更大的噪音,尤其是在高速运转时,并且会对齿面造成冲击应力,使其无法在高速运转下承受重载而不发生断裂。
因此,直齿锥齿轮的使用速度通常限制在每分钟 1000 英尺以下;或者,对于小型齿轮,转速限制在每分钟 1000 转以下。

2.3 Zerol 齿线 Zerol tooth lines

Zerol 锥齿轮是一种介于直齿锥齿轮和螺旋锥齿轮之间的中间类型。它们的齿形是弧形的,但没有角度。
Zerol 锥齿轮的设计旨在模仿直齿锥齿轮的特性,但它们采用螺旋锥切削工艺制造。

2.4 Mitre gears 等径锥齿轮

Mitre gears 翻译为: 斜切齿轮 是一种特殊的锥齿轮,其齿数相等。 轴彼此垂直,齿轮的节面和角度相同,节面呈圆锥形。
斜齿轮可用于以 1:1 的传动比,将旋转运动以 90 度角传递。

3. 锥齿轮建模

精确建模可用专业的插件,或参考如下页面: How to Model Bevel Gear Drive in Blender

3.1 齿轮建模的基本原则

  • 2个齿轮的半径和齿数成正比。
  • 斜齿轮斜度: 
    • 相同规格齿轮斜度相等,方向相反。
    • 不同规格齿轮的斜度与半径成反比。
  • 锥齿轮建模: 
    • 锥角度与半径成正比。
    • 锥齿轮厚度与半径成反比。

3.2 手动建模基本步骤

比如画一对18齿对36齿的锥齿轮。
  1. 画外齿圈平面
    1. 以18齿为例,画一个18*4条边的圆。
    2. 每间隔2条边选择2条边,跳过的边就是谷,选中的就是要挤出成为齿的峰。
    3. 挤出第1段0.1,再挤出第2段0.1,然后各自圆心适当缩放,画出外齿圈平面。
  2. 挤出锥体
    1. 全选,向Z轴挤出,挤出高度是对方36齿半径的约1/3长度。
    2. 透视模式,框选最上层顶点,[Shift C 2],游标到选中项,缩放约2/3. 
    3. 注: 要保持锥形的顶点相交,且交与轴线焦点。这里缩放的比例正好和前面挤出高度互补。
  3. 调整锥齿
    1. 这样挤出的锥齿由于缩放,挤出越高,齿约平,挤出到顶,齿就没了。
    2. 由于挤出了2段,所以齿有最外层顶点和中间顶点。
    3. 选择齿中圈,保存顶点组[2],向上移动0.05.
    4. 选择齿尖外表面,保存顶点组[1],向上移动0.1.
    5. 选择齿尖最底边,就是整个齿轮最外层的那一圈,保存顶点组[3],向上移动0.05.
    6. 这里向上的方向是齿轮轴线向上,0.05的移动距离也是基于前面挤出0.1单位的数量。
这样建立的模型和下面插件建立的基本一致。

3.3 free插件建模

这里使用插件 Extra Mesh Objects 生成齿轮。
添加插件后,[Shift A] 新增 网格 \ Gears \ Gear 
参照如下参数表即可完成建模。
半径比 1:1 1:1.5 1:2 1:5 (与半径的关系)
参数 A1 A2 A1 A2 B1 B2 C1 C2 参数
齿数 18 18 12 18 18 36 12 60 Teeth (正比)
半径 1.5 1.5 1 1.5 1.5 3 1 5 Radius
齿轮厚度 0.3 0.3 0.3 0.2 0.3 0.15 0.35 0.1 Width (反比)
齿轮基部 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 Base
齿根高 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 Dedendum
齿顶高 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 Addendum
齿顶压力角 20 20 20 20 20 20 20 20 Pressure Angle
斜度 0 0 22.5 15 15 7 0 0 Skewness (反比)
锥角度 45 45 36 54 30 60 15 75 Conical Angle (正比)
齿冠 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 Crown

3.4 斜齿轮和螺旋齿轮

斜齿轮只需要参照上表的 斜度 参数即可。也可以根据半径的反比计算更适当的角度。

至于螺旋齿轮,可以环切齿轮的表面。
然后选中最上层表面,[O] 打开衰减编辑,(衰减模式选择 线性,平方根反比 都可以) ,然后沿轴线方向旋转,鼠标滚轮滚动适当调整影响范围。
注意,旋转角度和上方斜齿轮一致,与半径成反比。



2026-04-05

Epicyclic-gearing

1. 行星齿轮
2. 行星齿轮建模
3. 动画
	3.1 播放动画
	3.2 动画参数表
	3.3 操作说明
4. PSD

1. 行星齿轮

Epicyclic-gearing
行星齿轮(英语:Epicyclic Gearing)是齿轮结构的一种,通常由一个或者多个外部齿轮围绕着一个中心齿轮旋转,就像行星绕着太阳公转一样,因而得名。 除此之外,行星齿轮在最外部通常还有一个外齿圈,用来贴合行星齿轮绕行的轨迹。
如果驱动单个部件而其他部件保持不受约束,则运动会在内部重新分配,无法确定唯一的输出速度。 
实际应用会选择固定其中一个部件(行星架、环形齿轮或太阳轮),可以实现三种不同的传动比。

2. 行星齿轮建模

目的是动画效果演示,所以直接使用插件 Extra Mesh Objects 生成齿轮。
 [Shift A] 新增 网格 \ Gears \ Gear 
根据行星齿轮和太阳齿轮的大小比,建立了3组模型。
如下表参数建模,组装,依喜好上色。
太阳轮 < 行星轮 太阳轮 = 行星轮 太阳轮 > 行星轮
参数 Sun planet Ring Sun planet Ring Sun planet Ring 参数
齿数 12 18 48 12 12 12 6 24 Teeth
半径 1 1.5 4 1 1 3 1 0.5 2 Radius
齿轮厚度 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 Width
齿轮基部 0.2 0.2 -0.2 0.2 0.2 -0.2 0.2 0.2 -0.2 Base
齿根高 0.1 0.1 -0.1 0.1 0.1 -0.1 0.1 0.1 -0.1 Dedendum
齿顶高 0.1 0.1 -0.1 0.1 0.1 -0.1 0.1 0.1 -0.1 Addendum
齿顶压力角 20 20 -20 20 20 -20 20 20 -20 Pressure Angle
备注: Carrier 2.5 (30) 2 (24) 1.5 (18) 半径 (等效齿数)
注意:生成的 Ring环形齿圈,表面法向是反的,所以要在编辑模式下,全选后 [Shift N] 重置法向。

3. 动画

3.1 播放动画

选择固定其中一个部件(行星架、环形齿轮或太阳轮),可以实现三种不同的传动比。选择不同的输入与输出,总共6种组合。

3.2 动画参数表

下表里用到的字母表示如下齿轮的信息,(可以使用半径,也可以使用等效齿数,带入公式不要混合使用即可。)
  • s: 太阳齿轮, Sun Gear; 
  • p: 行星齿轮, planet Gear; 
  • c: 行星架, Carrier; C行星架的等效半径=(太阳轮半径+行星轮半径)。等效齿数也是太阳和行星齿数之和。
  • r: 环形齿轮, Ring Gear.
注意: 公式后面 [sun] 方括号里的单词,表示新增驱动器需要选择的目标物体。
个别单元格里有2套公式,任选其一即可。
表格最后一行有类比汽车挡位,帮助理解,3档是直驱,大于3档是加速档,小于3档是减速档,扭力更大。

通用参数表
太阳轮驱动 环形齿轮驱动 太阳轮驱动 行星架驱动 环形齿轮驱动 行星架驱动
sun 太阳 #frame/24 (-r/s)*var [ring] #frame/24 (-2p/s)*var
(2c/s)*var
[planet]
[carrier]
太阳轮固定
planet 行星 (-s/p)*var [sun] (r/p)*var [ring] (-r/p)*var [carrier] (-r/p)*var [carrier] (s/p)*var [carrier] (s/p)*var [carrier]
carrier 行星架 行星架固定 (s/2c)*var [sun] #frame/48 (r/2c)*var [ring] #frame/72
ring环形 (-s/r)*var [sun] #frame/48 环形齿轮固定 #frame/48 (2p/r)*var
(2c/r)*var
[planet]
[carrier]
减速比 -Sun/Ring -Ring/Sun Sun/2Carrier 2Carrier/Sun Ring/2Carrier 2Carrier/Ring
注: 反向减速 反向加速 减速 --- 加速 +++ 减速 - 加速 +
类比车挡位 倒挡 1档 5档 2档 4档
太阳轮驱动 环形齿轮驱动 太阳轮驱动 行星架驱动 环形齿轮驱动 行星架驱动

3.3 操作说明

以固定行星架为例
这是最简单直观的模式。固定行星架后,行星只会在各自位置上自转。输入和输出则为环形齿圈和太阳轮。
完全可以忽略行星及行星架,等效为太阳轮和外齿圈的关系,减速比就是太阳轮和外齿圈的齿数比。

  • 太阳轮驱动:Z轴添加驱动器(#frame/12)
    • 等效固定平行轴的齿轮传动,(相对太阳轮的转速:太阳轮比自己)
  • 行星齿轮:Z轴添加驱动器。表达式:(  var * 12 / 12)。相对物体: 太阳齿轮。
  • 环形齿轮输出:Z轴添加驱动器。表达式:( -var * 12/36)。相对物体: 太阳齿轮。
  • 选中3个行星齿轮,然后选第四个对象: 行星架,[Ctrl P],绑定父对象,选中(保持变换)。
  • 空格播放动画。
渲染动画
默认输出到(C:\tmp)。 
右下方的 输出面板 可以修改这个路径,以及分辨率,帧数等信息。 
渲染面板\ 胶片 勾选[透明]。若没有设置环境背景,可以这里选透明。
如下命令可以将输出的图片合成视频: 
 ffmpeg -framerate 30 -i %04d.png -c:v libx264 R24.mp4
如下命令可以将输出视频转换为webp格式,类似gif动图。效果更好,文件更小。但比视频文件大。
 ffmpeg -i R24.mp4 -loop 0 r24.webp
其他模式,参照以上表格,添加对应的驱动即可。注: ffmpeg是开源的视频编辑命令行软件。

4. PSD

上一章节的实例动画都是(太阳,行星架,外环)三者固定其一,再讨论输入及输出。丰田的PSD是没有固定任何一个部分。
丰田普锐斯 - 动力分配装置 (PSD)
丰田普锐斯搭载了不少高科技配置,但其混合动力协同驱动系统(HSD)的核心却是一个名为动力分配装置(PSD)的简单装置。
PSD 是一套行星齿轮组,它省去了传统的阶梯式变速箱和传动部件,也避免了普通汽油车常见的加速顿挫感。
它的工作原理类似于无级变速器(CVT),但拥有固定的传动比。
详细信息参加以上官网。

这里简要说明一下,PSD行星齿轮组并没有详细的图示,但有原理动画。 网页用的大概是约20多年前的flash交互动画。可以下载。
如下是3者对应的转速范围。
  • 发电机 MG2 外环 (- ~ +) (大牵引电机)
  • 内燃机 ICE Pl架 (0 ~ +) 1000 ~ 4500
  • 电动机 MG1 Sun (- ~ +) -10000 ~ 10000 (ICE关闭时,限速 6,500 转/分)

2026-03-27

Blender-Gears

1. Gear
2. 齿轮分类
	2.1 根据齿轮轴相对位置 Relative axis position 
	2.2 以传动比分类 
	2.3 非刚性齿轮  Non-rigid 
3. Gear建模
	3.1 手动建模
	3.2 插件建模
	3.3 精确建模
4. 齿轮动画
	4.1 约束-复制旋转
	4.2 驱动器
	4.3 制作简单的动画

1. Gear

齿轮(英语:gear或cogwheel)是轮缘上有齿能连续啮合传递运动和动力的机械零件,齿轮依靠齿的啮合传递扭矩。
齿轮通过与其它齿状机械零件(如另一齿轮、齿条、蜗杆)传动,传动方式是啮合传动,可实现改变转速与扭矩、改变运动方向和改变运动形式等功能。
由于传动效率高、传动比准确、功率范围大等优点,齿轮机构在工业产品中广泛应用,其设计与制造水准会直接影响到工业产品的品质。

2. 齿轮分类

2.1 根据齿轮轴相对位置 Relative axis position

相对位置 Gear 种类 说明 效率(%)
平行轴
Parallel
正齿轮
Spur gears
圆柱齿轮,易于加工,使用最广泛。中速性能优异,
高速(节线速度超过25米/秒)时噪音较大。
98.0~99.5
齿条 racks 节圆直径无限大的正齿轮
内齿轮 internal gears 轮齿在圆环内侧的齿轮
斜齿轮
helical gears
齿线为螺旋线的圆柱齿轮,比正齿轮强度高且运转平稳,
传动时产生轴向推力。
斜齿条 helical racks 与斜齿齿轮相啮合的条状齿轮。
人字齿轮
herringbone gears
齿线为左旋及右旋的两个斜齿齿轮组合而成的齿轮。
不产生轴向推力。
相交轴
Crossed
直齿锥齿轮
straight bevel gears
齿线与节锥线的母线一致的锥齿轮,比较容易制造,应用广泛。
(5米/秒) 或小齿轮1000转/分钟以内的低速应用。
98.0~99.0
弧齿锥齿轮
spiral bevel gears
齿线为曲线,带有螺旋角。虽然制作难度稍大,
但由于强度高,噪音低,也使用广泛。
零度齿锥齿轮
zero-degree bevel gears
螺旋角接近零度的曲线齿锥齿轮。
交错轴
Skew
交错轴斜齿轮
crossed-axis helical gears
只适用于轻负荷情况 70.0~95.0
圆柱蜗杆蜗轮
face gears (crown gear)
运转平静,传动比大,具备自锁功能,以防负荷过大时产生反转。 30.0~90.0
鼓形蜗杆副
drum-shaped worm pairs
比圆柱蜗杆副制造困难,但能传动大负荷。 -
准双曲面齿轮
hypoid gears
经偏心加工的弧齿圆锥齿轮,啮合原理复杂。 -
相交/交错 面齿轮 (冠状)
face gears (crown gear)
可与正齿轮或斜齿齿轮啮合的圆盘状齿轮。在直交及交错轴间传动。 -

2.2 以传动比分类

有前面的定传动比的圆形齿轮机构(圆柱、圆锥)和下面的变传动比的非圆齿轮机构(椭圆齿轮) 

非圆齿轮 Non-circular 

非圆齿轮是为特殊用途而设计的。常见的应用包括纺织机械、电位计和无级变速器。 普通齿轮旨在以最小的噪音、磨损和最高的效率将扭矩传递给另一个啮合部件,而非圆齿轮的主要目标可能是改变传动比、抑制轴位移振荡等等。

2.3 非刚性齿轮 Non-rigid

大多数齿轮理想情况下都是刚体,它们通过杠杆原理和齿间的接触力传递扭矩和运动。
也就是说,施加在一个齿轮上的扭矩会使其像刚体一样旋转,从而使其齿推向与之匹配的齿轮,后者也像刚体一样旋转,并将扭矩传递给其轴。然而,一些特殊的齿轮并不遵循这种规律。

谐波齿轮 Harmonic

谐波齿轮或应变波齿轮是一种特殊的齿轮机构,由于其相对于传统齿轮系统的优势(包括无齿隙、结构紧凑和齿轮比高), 常用于工业运动控制、机器人和航空航天领域。

磁力齿轮 Magnetic 

在磁力齿轮副中,两个部件之间没有直接接触;扭矩是通过磁场传递的。
每个齿轮的齿片都是恒磁体 ,其啮合面上的磁极交替排列。
齿轮部件的安装具有与其他机械齿轮类似的间隙能力。
虽然由于磁场强度的限制,它们无法像传统齿轮那样产生巨大的力,但这种齿轮无需接触即可工作,因此不会磨损,噪音极低,摩擦造成的功率损耗也极小,即使打滑也不会损坏,因此非常可靠。
它们可以用于传统齿轮必须物理接触而无法实现的配置中,并且可以在完全隔离驱动力和负载的非金属屏障下运行。
磁耦合可以将力传递到密封外壳中,而无需使用可能泄漏的径向轴封。
磁力齿轮也与电磁铁一起用于无刷电机中,以驱动电机旋转。

3. Gear建模

3.1 手动建模

比如建立一个12齿的齿轮。Blender默认设置下。
  1. 新建 Mesh 网格\柱体 参数如下: 
    • 顶点: 48
    • 半径: 0.9
    • 厚度: 0.4
  2. 编辑 Mesh 
    • 选择 柱体48个侧面中的24个,每隔2个面选择2个面
    • [E] 挤出 [Shift +Z] 限定在 X,Y 轴范围内,挤出大约(1.11)倍. 
    • [E] 再次挤出 [Shift +Z] 限定在 X,Y 轴范围内,(默认的世界中心轴),挤出大约(1.1)倍. 
    • 变换轴心点 位 (各自原点)
    • [S] 缩放  [Shift +Z] 限定在 X,Y 轴范围内,缩放大约(0.75)倍。
    • 最后 柱体中间掏个洞,一个简单的齿轮就完成了。
进阶: [Alt + Z] 透视模式,[Num:1] 正交前视图,框选所有下表面,[R] [Z] 10 ,沿Z轴选择10度。完成,一个斜齿轮就建好了。

3.2 插件建模

Blender 偏好设置 \ 插件 找到 (Extra Mesh Objects) 这个插件,若这里没有,就去 获取插件里找。
找到并启用插件: Extra Mesh Objects 
[Shift + A] 新建 网格 \ Gears \ Gear
初始默认的设置生成齿轮和上面手动建立的几乎是一摸一样。
这里只需要点一下就完成建模,左下角还有很多参数可调。
参数-en 默认值 参数-cn 备注
Teeth 12 齿数
Radius 1m 半径
Width 0.2m 齿轮厚度
Base 0.2m 齿轮基部
Dedendum 0.1m 齿根高 齿形
参数
Addendum 0.1m 齿顶高
Pressure Angle 20° 齿顶压力角
Skewness 偏斜度 斜齿轮参数
Conical Angle 锥角 锥齿轮参数
Crown 0m 齿冠

3.3 精确建模

上面的建模适合作图,做动画,做模型。要精确建模可以借助网站:
这里有很多已生成的复杂的齿轮组模型,可以下载后直接导入进行3D打印。
还有很多建模的教程。包含各种复杂的齿轮计算器,根据参数生成齿轮建模脚本。
从Blender2.7x版本就可以参考这里的教程精确建模了。
详细信息打开以上官网查看... 

4. 齿轮动画

4.1 约束-复制旋转

这是最简单的动画,适合2个相邻相同规格的齿轮或同步的车轮等运动。
以上面建立的2个12齿的齿轮为例,一个驱动轮,一个从动轮。
  • 选择 从动轮 沿X轴移动2单位,再旋转15度,正好和 驱动轮咬合。[Ctrl A]应用旋转。
  • 接着 在右下方 属性区,打开约束页签,添加复制旋转
  • 目标:旋转 驱动轮。转向和反转,都选Z。完成。
  • 驱动轮沿Z轴旋转,从动轮就会同步咬合转动起来。

4.2 驱动器

驱动器可以根据不同齿数比适应旋转速度。
  • 再新建一个18齿的齿轮,齿数是12的1.5倍,半径也同样调整位1.5个单位。
    • 作为第二个从动轮,移动到 驱动轮的另外一侧,再旋转10度达到齿轮咬合状态。
  • 在 从动轮 的 旋转 Z 轴上,右键菜单\ 添加驱动器
    • 表达式: ( -var * 12/18 )。这里的数字12和18就是2个齿轮的齿数,负号表示方向相反。
    • 物体 选择 (驱动轮)。类型 选择 (Z 旋转)。完成。

4.3 制作简单的动画

  • 选中 驱动轮 ,下方的时间线定位第一帧。
  • 右边属性区,物体 \ 变换 \ 旋转 \ Z 轴,鼠标放在这里,[I] 或右键菜单 插入关键帧。Z输入框变为黄色,表示当前位关键帧。
  • 时间线向右拖动,上面的 Z轴 输入框变为绿色,表示非关键帧。
  • 比如定位到50帧,Z轴 输入数字300,表示50帧,齿轮滚动了300度。
  • 再定位到200帧,Z轴 输入数字2000,表示接着150帧,齿轮滚动了1700度。
  • 保存后渲染,[Ctrl + F12] 渲染好后,是一堆图片。
注: 如果没有在 偏好设置 \ 文件路径 \ 数据 \ 渲染 \ 渲染输出 设置路径,则渲染动画会保存到 C:\tmp
如下命令使用ffmpeg,将图片转换为视频。前提是有下载开源的ffmpeg工具。
 ffmpeg -framerate 30 -i %04d.png -c:v libx264 ot1.mp4
 ffmpeg -i gear3.mp4 -loop 0 gear3.webp




2026-03-19

Blender5-WindowUI

1. Blender主窗口
	1.1 Topbar
	1.2 Areas
	1.3 Status Bar
2. Workspaces
	2.1 Default Workspaces
	2.2 Blender 还默认添加了其他几个工作区
	2.3 附加工作区
3. Editors 编辑器
	3.1 通用 (General)
	3.2 动画 (Animation)
	3.3 脚本 (Scripting)
	3.4 数据 (Data)
4. Regions 区块
	4.1 3D视图编辑器的区块分布
	4.2 属性编辑器的区块分布
5. 多显示器
6. 偏好设置和启动文件

1. Blender主窗口

Blender 默认的主界面分为以下三个部分:
  • Topbar:位于最上方的[顶栏],包括主要菜单,用于保存、导入和导出文件、配置设置,以及渲染等其他功能。
  • Areas:位于中部的[区域],是主要工作区。
  • Status Bar:位于底部的[状态栏],显示按键建议和相关统计信息。

1.1 Topbar

位于最上方的[顶栏],包括主要菜单,用于保存、导入和导出文件、配置设置,以及渲染等其他功能。
从左到右依次是: 
  • [主菜单…] 分割线[|] 
  • [workspaces…]标题 [+]加号可添加更多工作区 (用于切换工作空间)
  • [Scene]场景选择,[ViewLayer]试图层选择。

1.2 Areas

Blender 窗口被划分为若干矩形,称为区域。
区域为编辑器保留屏幕空间,例如 3D 视图或大纲。每个编辑器都提供了一个特定的功能。

区域被分组为工作区,它们面向特定的任务(建模、动画等等)。
每个区域都可以自定义某个编辑器,且任意拆分以增加更多区域,或关闭不需要的区域。
  • 区域最大化
    • 菜单: 视图 ‣ 区域 ‣ 切换区域最大化
    • 快捷键: Ctrl-空格键
  • 专注模式
    • 菜单: 视图 ‣ 区域 ‣ 专注模式
    • 快捷键: Ctrl-Alt-空格键

1.3 Status Bar

状态栏位于 Blender 窗口的底部,显示上下文信息,如键盘快捷键、消息和统计信息。 状态栏可以通过禁用窗口菜单中的 显示状态栏 或从顶部边缘向下拖动来隐藏。 
  • 左侧
    • Keymap Information 状态栏的左侧显示鼠标按键的快捷方式和活动工具的快捷键。 在有工具栏的编辑器中,点击 Alt(或 macOS 上的 Option)会显示热键以切换到所需工具。 
  • 中间
    • Status Messages 状态信息:状态栏的中间显示有关正在进行的操作的信息。
      • Running Task 运行的任务
      • 显示当前运行任务(比如渲染或烘焙)的进度。 将鼠标指针悬停在进度条上会显示估计时间。单击取消按钮()可中止任务。
    • Report Message 报告信息
      • 信息性消息或警告,例如在保存文件之后。 它们会在短时间内消失。点击它们可以在信息编辑器中显示完整的信息。
  • 右侧
    • Resource Information 资源信息:状态栏的右侧显示 Blender 实例的相关信息。 可以通过在状态栏上点击 鼠标右键 或在偏好设置中选择显示哪些信息。
    • Scene Statistics 场景统计, 显示活动场景内数据的信息。
      • Collection 集合:活动集合的名称。
      • Active Object 活动物体:活动的选中物体的名称。
      • Geometry 几何:根据模式和物体类型的不同显示当前场景的信息。这可以是顶点、面、三角形或骨骼的数量。
      • Objects 物体:所选物体的数量和物体的总数。

2. Workspaces

2.1 Default Workspaces

Blender 的默认启动在主区域显示了 “布局 (Layout)” 工作区。 这个工作区是一个通用工作区,用于预览你的场景,包含以下编辑器: 
  • 左上角的 3D 视图。[3D Viewport]
  • 右上角的大纲。[Outliner]
  • 右下角的属性。[Properties]
  • 左下角的时间线。[Timeline]

2.2 Blender 还默认添加了其他几个工作区

  • Modeling 建模:使用建模工具修改几何体。
  • Sculpting 雕刻:使用雕刻工具修改网格。
  • UV Editing UV 编辑:将图像纹理坐标映射至三维表面。
  • Texture Paint 纹理绘制:用于在3D视图中为图像纹理上色。
  • Shading 着色:用于为渲染指定材质属性。
  • Animation 动画:使物体属性随时间发生变化。
  • Rendering 渲染:用于查看以及分析渲染结果。
  • Compositing 合成:图像和渲染信息的合并以及后期处理。
  • Geometry Nodes 几何节点:使用几何节点程序化建模。
  • Scripting 脚本:用于与 Blender 的 Python API 交互和编写脚本。

2.3 附加工作区

添加新工作区时,Blender 还提供了其他几组可供选择的工作区:
  • 二维动画
    • 二维动画: 蜡笔绘画的通用工作区。
    • 全屏二维画布: 类似 “二维动画” 但有个更大的画布。
  • VFX
    • 遮罩: 为合成或视频编辑创建二维遮罩。
    • 运动追踪: 用于计算摄像机运动和稳定视频片段。
  • 视频编辑
    • 视频编辑: 将媒体排序整合到一个视频中。

3. Editors 编辑器

Blender 提供了许多不同的编辑器,用于显示和修改数据的不同方面。 编辑器包含在区域中,该编辑器确定其在 Blender 窗口中的大小和位置。 每个区域都可能包含任何类型的编辑器。 
编辑器类型 选择器,即标题左侧的第一个按钮,允许你改变该区域的编辑器。 也可以同时在不同的区域打开同一个编辑器类型。 

3.1 通用 (General)

  • 3D 视图 (3D Viewport)
  • 图像编辑器 (Image Editor)
  • UV 编辑器 (UV Editor)
  • 合成器 (Compositor)
  • 纹理节点 (Texture Nodes)
  • 几何节点编辑器 (Geometry Node Editor)
  • 着色器编辑器 (Shader Editor)
  • 视频序列编辑器 (Video Sequencer)
  • 影片剪辑编辑器 (Movie Clip Editor)

3.2 动画 (Animation)

  • 动画摄影表 (Dope Sheet)
  • 时间线 (Timeline)
  • 曲线编辑器 (Graph Editor)
  • 驱动器编辑器 (Drivers Editor)
  • 非线性动画 (Nonlinear Animation)

3.3 脚本 (Scripting)

  • 文本编辑器 (Text Editor)
  • Python 控制台 (Python Console)
  • 信息编辑器 (Info Editor)

3.4 数据 (Data)

  • 大纲视图 (Outliner)
  • 属性编辑器 (Properties Editor)
  • 文件浏览器 (File Browser)
  • 资产浏览器 (Asset Browser)
  • 电子表格 (Spreadsheet)
  • 偏好设置 (Preferences)

4. Regions 区块

Blender 中的每个编辑器都分成几个区块(Region)。 区块可以具有较小的结构元素,如选项卡和面板,其中包含按钮、控件和小部件。 

4.1 3D视图编辑器的区块分布

在添加一个立方体后,3D视图编辑器显示的侧栏和调整上一步操作面板的区块。
  • 顶部的 标题栏(绿色),
  • 中间的 主区块(黄色),
  • 左侧的 工具栏(蓝色),快捷键[T],
  • 右侧的 侧栏(红色),快捷键[N],
  • 调整上一步操作面板(粉色)。

4.2 属性编辑器的区块分布

属性编辑器有左侧的 选项卡 (Tabs) 和右侧的多个 面板 (Panels) 组成。

5. 多显示器

Blender支持多显示器,以基础建模为例,双显示器环境下。
默认主显示器,使用默认主界面,用于建模。
窗口菜单下,新建窗口,用于随时从多个角度观察模型。

多显示器
主窗口左上角菜单列: 窗口 \ 新建窗口
新建的窗口 可以拖动到其他显示器,组成多显示器模式。

三视图
快捷键: Ctrl + Alt + Q
右上角的透视模式可以改为摄像机镜头。渲染视图

渲染视图
快捷键: 小键盘的数字 [0]
3D视图右边 [N] 辅助栏 \ 视图 \ 视图锁定 \ 摄像机到视图方向 □
勾选后,方便调整摄像头位置及方向,设置好后别忘了取消勾选。

6. 偏好设置和启动文件

快捷键: (Ctrl + ,)
  • 菜单栏\编辑\偏好设置
    • 界面\状态栏\场景统计数据 (勾选)
    • 界面\语言\简体中文
    • 界面\语言\新建数据 (建议取消勾选) 新建的物体则已英文命名,避免潜在的兼容问题... 
    • 试图导航\缩放\缩放至鼠标位置 (根据喜好勾选)
  • 其他设置: 
    • 菜单栏\文件\外部数据\自动打包资源 (勾选) 保存时自动包含相关贴图等素材
最后别忘了:菜单栏\文件\默认\保存启动文件

2026-03-04

Video-file-size

1. 视频文件大小计算公式
2. 视频文件关键参数
	2.1 Resolution 分辨率
	2.2 Frame rate 帧率
	2.3 Bitrate 比特率
3. 视频压缩
	3.1 分辨率与最低比特率参考对照表
	3.2 ffmpeg压缩命令
	3.3 FfmpegFreeUI

1. 视频文件大小计算公式

比特率(Mb/s) x 视频时长(s) ÷ 8 = 视频文件大小(MB) 
视频文件大小基本可以按该公式计算。计算结果和实际文件大小相差无几。

2. 视频文件关键参数

2.1 Resolution 分辨率

解析度(英语:resolution)又称分辨率(resolving power),泛指量测或显示系统对细节的分辨能力。
此概念可以用时间、空间等领域的量测。
影像分辨率(image resolution)则专指影像、图像记录物体细部能力的一种度量,此时又称解像度、解像力。

2.2 Frame rate 帧率

帧率(英语:frame rate)是用于测量显示帧数的度量。
测量单位为“每秒显示帧数”(frame per second,FPS)或“赫兹”,FPS通常用于描述影片、电子绘图或游戏每秒播放多少帧。 
较高的帧率在一秒钟内捕捉更多帧,特别是在有快速移动物体的环境中,影片的视觉呈现更细致流畅。 
常见的帧率有: 
  • 24fps:(胶片)电影标准
  • 25fps:PAL标准(欧洲, 亚洲, 澳洲等地的电视广播格式), SECAM(法国, 俄国, 部分非洲等地的电视广播格式)
  • 29.97fps: NTSC标准(美国, 加拿大, 日本等地的电视广播格式)
  • 60P:适合减慢做慢动作
  • 120P:做更慢的慢动作

2.3 Bitrate 比特率

比特率(英语:Bit rate或Bit-rate/Bitrate,变量简写为R)在电信和计算领域是指单位时间内传输送或处理的比特数量。
比特率经常在电信领域用作连接速度、传输速度、信息传输速率和数字带宽容量的同义词。
在数字多媒体领域,比特率是单位时间播放连续的媒体如压缩后的音频或视频的比特数量。
比特率规定使用“比特每秒”(bit/s或bps)为单位。
码流=文件大小(字节*8位)/视频持续时间(秒)例如:2400MBx8 / 480 秒 = 40Mbps

较高的比特传输率将可容纳更高的视频质量,即更大的视频文件。一些典型比特率: 
  • VCD: 1Mbps
  • DVD: 5Mbps
  • HDTV: 20Mbps
  • Blu-ray: 40Mbps
  • Ultra HD Blu-ray: 100Mbps

3. 视频压缩

视频文件当前使用最多的是H264,兼容性也最好。更新的是H265(hevc)
根据分辨率,设置适当的比特率,能有效压缩文件大小,且保留品质。

3.1 分辨率与最低比特率参考对照表

名称 分辨率 备注 比特率
(Mbps)
时长
(s)
bit → Byte
(/8)
M → G
(/1024)
Size
(GB)
水平 垂直 X Y
8k 7680 4320 UHDTV2 40 6000 8 1024 29.3
4k 2160p 3840 2160 UHD 10 6000 8 1024 7.3
2k 1440p 2560 1440 QHD 5 6000 8 1024 3.7
1080p 1920 1080 Full HD 3 6000 8 1024 2.2
1600 900 2 6000 8 1024 1.5
720p 1280 720 HD 1.5 6000 8 1024 1.1
⇧列出 (16:9) 的显示器分辨率 比特率(Mb/s) * 时长(s) /8 /1024 = Size(GB)

公式: 比特率(Mb/s) * 时长(s) /8 /1024 = Size(GB)
计算时长100分钟的视频文件在指定比特率下的参考大小。
  • 这里分辨率: (720p, 1080p) 的比特率分别为(1.5~3Mbps), 这个数值算是经验参数,查看了很多下载的视频,文件紧凑,品质尚可的都是这个数值。
  • 至于分辨率: (2k以上的),根据上面参数的近似比例放大,不一定对,仅供参考。

3.2 ffmpeg压缩命令

调整分辨率
ffmpeg -i m4k.mkv -vf scale=1920:-2 -map 0 c3.mkv
-map 0 保留所有音轨和字幕轨。若不加(-map 0),则只保留第一个音轨和第一个字幕轨。
注意,虽然能保留所有字幕轨,但原本字幕格式可能会被重新编码,若出现字幕显示异常。可用如下复制参数: 
  • 复制参数: -map 0:a -c:a copy -map 0:s -c:s copy
  • 调整帧率: -r 30
  • 调整码率: -b:v 2M

调整为更高效的编码格式. Intel CPU 使用libx265:
-c:v libx265 -crf 26
-crf 23 表示视频质量,值越小,视频质量越高,文件越大。(范围:0~51,推荐23)
ffmpeg -i "<输入>" -c:v libx265 -preset medium -crf 25 -map 0:a -c:a copy -map 0:s -c:s copy "<输出>"

指定比特率: 
ffmpeg -i "<输入>" -c:v libx265 -b:v 2M -map 0:a -c:a copy -map 0:s -c:s copy "<输出>"

  • NVIDIA显卡 使用 hevc_nvenc 代替上面的libx265
  • M1芯片 使用 hevc_videotoolbox 代替上面的libx265
对于M1 Mac用户,hevc_videotoolbox 是视频转码和压缩的最佳替代品,性能远超单纯依靠CPU的 libx265。

苹果M1芯片使用如下命令压缩 (H264格式4k视频, 比特率50Mbps)
比特率50M改为8M,改用H265压缩,文件缩小到16%
ffmpeg -i m4k.mp4 -map 0:v -c:v hevc_videotoolbox -b:v 8M -map 0:a -c:a copy  m265-8M.mp4 
同样的文件,修改分辨率,设定比特率2M,文件缩小到4%。
ffmpeg -i m4k.mp4 -vf scale=1920:-2 -b:v 2M -map 0 m1920-2m.mp4 
若包含多音轨,多字幕,使用如下map的copy,保留全部。
ffmpeg -i m4k.mkv -map 0:v -c:v hevc_videotoolbox -b:v 2M -map 0:a -c:a copy -map 0:s -c:s copy m265-2M.mkv
macOS-m1芯片使用hevc_videotoolbox:h265压缩,比特率的2M或3M,需要M大写。 

3.3 FfmpegFreeUI

不想使用ffmpeg命令,可以使用这个开源工具。ffmpeg的图形界面。
在参数面板设置好参数,在参数总览下可以看到生成的实际命令行。

2025-12-17

Windows-Execution-Policies

1. about_Execution_Policies
	1.1 POWERSHELL 执行策略
	1.2 执行策略作用域
2. 使用 PowerShell 管理执行策略
	2.1 查看当前的有效执行策略
	2.2 更改执行策略
	2.3 删除执行策略
	2.4 为某个会话设置一个不同的执行策略
	2.5 使用组策略管理执行策略
3. 未签名的脚本
	3.1 未签名的脚本包含:
	3.2 本地脚本与网络下载脚本的区别
	3.3 一秒解锁网络下载脚本
	3.4 临时绕过策略执行特定脚本
	3.5 直接运行网络未签名脚本
	3.6 小结
4. 执行策略可能会失败的原因

1. about_Execution_Policies

PowerShell 执行策略是一项安全功能,用于控制 PowerShell 加载配置文件和运行脚本的条件。  此功能有助于防止恶意脚本的执行。 

本地计算机和当前用户的执行策略存储在注册表中。
无需在 Windows PowerShell 配置文件中设置执行策略。
某个特定会话的执行策略仅存储在内存中,当关闭会话时,该执行策略会丢失。

执行策略不是限制用户操作的安全系统。
例如,当用户无法运行脚本时,可以通过在命令行键入脚本内容轻松绕过策略。
相反,执行策略帮助用户设置基本规则并阻止他们无意中违反规则。

1.1 POWERSHELL 执行策略

ExecutionPolicy
执行策略
已签名 未签名 行为描述 概述 组策略
选项
本地 远程(网络)
Restricted No No No 默认策略,禁止所有. 包括: (.ps1xml)格式, (.psm1)模块, (.ps1)PS配置 受限 n
AllSigned Yes No No 要求所有脚本和配置文件都由受信任的发布者签名,包括在本地计算机上编写的脚本。 仅签名 Y
RemoteSigned Yes Yes No 本地脚本可运行,下载的脚本需签名 (Windows Server 2012 R2 默认执行策略) 普通 Y
UnRestricted Yes Yes Yes (提示) 允许运行所有脚本,但下载的未签名脚本会提示确认 (非 Windows 的默认执行策略) 非受限 Y
Bypass Yes Yes Yes 无任何限制,无警告或提示!(高风险) 无限制 n
Undefined - - - 当前作用域中未设置执行策略。 未定义 n
Undefined 表示当前作用域中未设置执行策略。
若所有作用域都没有设置,则默认为: Restricted, 禁止所有脚本。

1.2 执行策略作用域

优先级 Scope 作用域 执行策略影响范围 存储在:
最高 MachinePolicy 当前计算机上的所有用户 通过组策略为计算机的所有用户设置
^ UserPolicy 当前计算机上的当前用户 通过组策略为计算机的当前用户设置
^ PROCESS 当前的 PowerShell 会话 环境变量 $env:PSExecutionPolicyPreference.
关闭 PowerShell 会话时,将删除变量和值。
^ CURRENTUSER 当前计算机上的当前用户 存储在 HKCU 注册表子项
最低 LOCALMACHINE 当前计算机上的所有用户 HKLM\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell
作用域优先级:如上表从上往下依次降低。也是命令 (Get-ExecutionPolicy -list) 列出的顺序。
  • 若所有作用域都没有设置执行策略,即同为 [Undefined], 则默认为: Restricted, 禁止所有脚本。
  • 若多个作用域设置了执行策略,则优先级高的生效,优先级低的会被忽略。

2. 使用 PowerShell 管理执行策略

2.1 查看当前的有效执行策略

获取当前 PowerShell 会话的有效执行策略
 Get-ExecutionPolicy
Restricted

若要获取影响当前会话的所有执行策略,并按优先顺序显示它们,请键入: 
 Get-ExecutionPolicy -List
        Scope ExecutionPolicy
        ----- ---------------
MachinePolicy       Undefined
   UserPolicy       Undefined
      Process       Undefined
  CurrentUser       Undefined
 LocalMachine       Undefined

以下命令获取 CurrentUser 作用域的执行策略。 
 Get-ExecutionPolicy -Scope CurrentUser
Undefined

2.2 更改执行策略

若要更改你计算机上的 Windows PowerShell 执行策略,请使用 Set-ExecutionPolicy cmdlet。
更改会立即生效,你无需重新启动 Windows PowerShell。
  • 如果为 Scopes LocalMachine 或 CurrentUser 设置执行策略,更改将保存在配置文件中,并在再次更改之前保持有效。
  • 如果为 Process 范围设置执行策略,则不会将其保存在配置文件中。 执行策略将一直保留,直到当前进程和任何子进程关闭。

若要更改你的执行策略,请键入:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
不指定作用域,则默认为本机

若要设置某个特定作用域中的执行策略,请键入 
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

更改执行策略的命令会成功,但不一定会成为有效的执行策略。
例如,用于设置本地计算机的执行策略的命令可能成功,但会被当前用户的执行策略覆盖。优先级更高的生效。

2.3 删除执行策略

若要删除某个特定作用域的执行策略,则将执行策略的值设置为 Undefined。
例如,若要删除本地计算机的所有用户的执行策略,请键入:
Set-ExecutionPolicy Undefined
或者键入: 
Set-ExecutionPolicy Undefined -scope LocalMachine
如果未在任何作用域中设置执行策略,则有效的执行策略是 Restricted,它是默认执行策略。 

2.4 为某个会话设置一个不同的执行策略

可以使用 PowerShell.exe 的 ExecutionPolicy 参数为新的 Windows PowerShell 会话设置执行策略。 策略仅影响当前会话和子会话。
例如:
PowerShell.exe -ExecutionPolicy AllSigned
设置的执行策略不是存储在注册表中,而是存储在 $env:PSExecutionPolicyPreference 环境变量中。 当关闭在其中设置了策略的会话时,会删除变量。不能通过编辑变量值来更改策略。 
在会话期间,为会话设置的执行策略优先于在注册表中为本地计算机或当前用户设置的执行策略。 但是,它并不优先于通过使用组策略设置的执行策略。优先级见前面的表格。

2.5 使用组策略管理执行策略

可以使用“启用脚本执行”组策略设置来管理计算机的执行策略。 组策略设置覆盖所有作用域中设置的执行策略。
“启用脚本执行”策略设置如下所示:
  • -- 如果禁用“启用脚本执行”,则脚本不会运行。这等效于“Restricted”执行策略。
  • -- 如果启用“启用脚本执行”,则可以选择一个执行策略。组策略设置等效于以下执行策略设置。
    • Group Policy                Execution Policy  
    • 允许所有脚本          Unrestricted
    • 允许本地脚本和远程签名脚本         RemoteSigned
    • 只允许签名脚本           AllSigned
  • '-- 如果未配置“启用脚本执行”,则它将不起作用。 在 Windows PowerShell 中设置的执行策略是有效的。

PowerShellExecutionPolicy.adm 和 PowerShellExecutionPolicy.admx 文件将“启用脚本执行”策略添加到组策略编辑器中的计算机配置节点和用户配置节点中。路径如下: 
  •     Administrative Templates\Windows Components\Windows PowerShell
  • [计算机配置] 或 [用户配置]  → 管理模板 → Windows 组件 → Windows PowerShell → 启用脚本执行
设置后,让策略立即生效命令: 
 gpupdate /force
[计算机配置] 节点中设置的策略 优先于 [用户配置] 节点中设置的策略。 

Microsoft 下载中心提供 PowerShellExecutionPolicy.adm 文件。有关详细信息,请访问 PowerShell 的管理模版 
about_Group_Policy_Settings 

3. 未签名的脚本

3.1 未签名的脚本包含:

  • 网络地址未签名脚本,比如: http://127.0.0.1:9000/Microsoft.PowerShell_profile.ps1
  • 本地未签名脚本,本机生成的脚本,比如: Microsoft.PowerShell_profile.ps1
  • 网络下载的未签名脚本。~\download\Microsoft.PowerShell_profile.ps1

3.2 本地脚本与网络下载脚本的区别

在 Windows 中,Internet Explorer 和 Microsoft Edge 等程序会向下载的文件添加备用数据流。 这会将文件标记为“来自 Internet”。 
如果 PowerShell 执行策略是 RemoteSigned,PowerShell 将不会运行从 Internet 下载的未签名脚本,其中包括电子邮件和即时消息程序。
可以对脚本进行签名,或选择在不更改执行策略的情况下运行未签名的脚本。

从 PowerShell 3.0 开始,可以使用 cmdlet 的 Get-Item 的 Stream 参数来检测因从 Internet 下载而被阻止的文件。  使用 Unblock-File cmdlet 解除阻止脚本,以便可以在 PowerShell 中运行这些脚本。 

下载文件的其他方法可能不会将文件标记为来自 Internet 区域。 一些示例包括: 
curl.exe; Invoke-RestMethod; Invoke-WebRequest.

查看当前目录下来自网络的未签名文件
  • 在脚本文件上,右键 → [属性] 下方有 [解除锁定]的待选框,该文件即为网络下载的带有Internet标记的网络脚本。
  • 使用命令行查看 带有Internet标记的网络脚本
    • [0.02 sec] > Get-Item * -Stream "Zone.Identifier" -ErrorAction SilentlyContinue
    • PSPath        : Microsoft.PowerShell.Core\FileSystem::D:\Tom\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1:Zone.Identifier
    • PSParentPath  : Microsoft.PowerShell.Core\FileSystem::D:\Tom\Documents\WindowsPowerShell
    • PSChildName   : Microsoft.PowerShell_profile.ps1:Zone.Identifier
    • PSDrive       : D
    • PSProvider    : Microsoft.PowerShell.Core\FileSystem
    • PSIsContainer : False
    • FileName      : D:\Tom\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
    • Stream        : Zone.Identifier
    • Length        : 125

3.3 一秒解锁网络下载脚本

如果 PowerShell 执行策略是 RemoteSigned,则会阻挡网络下载的脚本。但只需解锁,将网络下载脚本变成本地脚本即可。
有很多方法实现这个过程:
  • [下载的脚本文件] 上右键 → 点击 [属性] → 勾选下方的 [解除锁定]
  • 使用文本编辑器 打开 [下载的脚本文件] → [另存为],新保存的文件就是本地脚本了… 
  • 使用命令解锁,下面是解锁的不同写法: 
    •  dir D:\Downloads\*PowerShell* | Unblock-File
    •  Unblock-File -Path D:\Downloads\PowerShell.ps1
    •  Get-Item D:\Downloads\PowerShell.ps1 | Unblock-File
获取Unblock-File命令帮助
  • get-help Unblock-File
  • get-help Unblock-File -examples
  • get-help Unblock-File -detailed

3.4 临时绕过策略执行特定脚本

PowerShell.exe -ExecutionPolicy Bypass -File "D:\Downloads\PowerShell.ps1"
仅对当前会话有效,退出当前PowerShell后策略自动恢复

3.5 直接运行网络未签名脚本

在本地包含脚本的目录下执行如下命令,启动简单web服务
python -m http.server 9000 
通过本机IP即可访问该文件夹的脚本文件
http://127.0.0.1:9000/Microsoft.PowerShell_profile.ps1

通过 Invoke-Expression 命令从网络加载 PowerShell 脚本. 效果同本地文件... 
IEX (New-Object Net.WebClient).DownloadString('http://127.0.0.1:9000/Microsoft.PowerShell_profile.ps1')
这个脚本文件本身,即使有来自Internet的标记,不需要解锁,就能加载执行。

查看相关帮助
  • Iex -?
  • get-help Invoke-Expression -examples
  • get-help Invoke-Expression -detailed

加载 PowerShell 脚本 

3.6 小结

网络下载的未签名脚本,如上所述,很多方法,非常容易就能解锁变为本地脚本。
再回看前面的 [执行策略表格] 对于网络下载的未签名脚本的态度:
  • RemoteSigned,No,但是可以轻松1秒解锁… 
  • UnRestricted,Yes (提示)
  • Bypass,Yes
这样看来这3个策略其实差别不大... 

4. 执行策略可能会失败的原因

出现以下错误: 
AuthorizationManager check failed. 

PowerShell 使用 Windows 桌面 Shell 中的 API (explorer.exe) 来验证脚本文件的区域。 
Windows Shell 在 Windows Server Core 和 Windows Nano Server 上不可用。

如果 Windows 桌面 Shell 不可用或无响应,也可能在任何 Windows 系统上收到此错误。 
例如,在登录期间,PowerShell 登录脚本可能会在 Windows 桌面准备就绪之前开始执行,从而导致失败。

使用 ByPass 或 AllSigned 的执行策略不需要区域检查,以避免问题。

otvinta-Bevel-Gear-Calculator

导航 (返回顶部) 0. 使用 otvinta 的锥齿轮计算器建模 1. 生成齿的侧面线条 2. 形成齿面 2.1 齿型轮廓 2.2 接着画齿与齿之间的谷 2.3 形成齿面 3. 3D游标定位到半径长度 4. 完善齿面 4.1 旋转齿面 4.2 修正底边 ...