关于CST STUDIO SUITE中bend操作的参数方程的备忘。
前些天试着把宏代码丢给网页版AI去研究参数方程,结果可能是变量少了加上不够智能,生成的曲线总是不跟相切曲面一起移动。今天闲下来单独建模,把所有数据全部参数化,用Qoder分析了一番,给出的曲线完美同步移动,不再错位。

新代码只把三个量参数化了,公式结构完全不动:

原来 现在
圆柱半径 20(= 不动面半径 (\rho_f)) helix_d2/2
带子外半径 22(上表面) helix_d1/2
板长 100 L2-L1
起点 y=0(旋转中心那个端点) L1

注意 Brick.Zrange "helix_d2/2","helix_d1/2" 的底面正好等于圆柱半径,所以 helix_d2 是内径(贴柱面)、helix_d1 是外径,两者的差 /2 就是厚度。旋转中心仍在 y 的下端,即 L1 那条边。


填入 Create Analytical Curve

字段 填入
U(t) helix_d1/2*sin(2*(L2-L1)*t*sin(theta*pi/180)/helix_d2)
V(t) L1+(L2-L1)*t*cos(theta*pi/180)
W(t) helix_d1/2*cos(2*(L2-L1)*t*sin(theta*pi/180)/helix_d2)
Min(t) 0
Max(t) 1

对照上一版验证一下退化关系(把它代回去应该完全等价):L2-L1=100、helix_d2=40、helix_d1=44 时,
2*100*t*sinθ/40 = 5t·sinθ、系数 44/2 = 22、V = 0 + 100t·cosθ —— 就是你验证通过的那一组。

三个自检

  1. 半径恒定:(\sqrt{U^2+W^2}\equiv \texttt{helix_d1}/2)(若这里得到 helix_d2/2,说明外径内径写反了)。
  2. t=0:(0, L1, helix_d1/2) —— 旋转中心边正上方,柱面起始端。
  3. t=1:弧角 (\psi_{end}=\dfrac{2(L_2-L_1)\sin\theta}{helix_d2}) 弧度,(V=L_1+(L_2-L_1)\cos\theta)。θ=0 时应退化成 (0, L1+(L2-L1)t, helix_d1/2) 的直线。

两个可能用得上的变体

  • 要内表面的中心线(贴柱面上那条):把 U(t)、W(t) 里的 helix_d1/2 换成 helix_d2/2,V(t) 不变 —— 因为卷曲是沿径向映射的,内外表面的中心线方位角相同、只有半径不同,只要径向缩放即可。
  • 要中面中心线:系数换成 (helix_d1+helix_d2)/4。

一个需要留意的地方

现在公式全用参数名写,改参数时曲线会自动跟着变,这是好事;但 L1 出现的位置很关键——它是旋转中心的 y 坐标。如果哪天你把 brick 的 Yrange 改成不和旋转中心边重合(或者 L1 > L2 造成上下翻转),V(t) 的平移项就要跟着改,不能只改 L2-L1。判据很简单:看 Transform 那一步的旋转中心落在哪条边上,就把那个边的 y 值填进 L1 的位置。

另外宽度 helix_l 不出现在中心线公式里(它只决定带子的宽边位置),所以改带宽不会影响这条曲线——如果哪天曲线和带子错位了,问题一定出在方位/端点相位上,不在宽度上。