slug
catenarydesign
type
Post
status
Published
category
1-3D打印
date
Aug 30, 2026
summary
tags
tools
password
icon
悬链线(Catenary)是指一条柔软、均匀且不可伸长的绳索或链条,在自身重力作用下,两端固定后自然形成的曲线。它的形状看起来有些像抛物线,但实际上并不是抛物线。悬链线的数学表达式通常写成 y=acosh(x/a)y=a\cosh(x/a),其中 cosh\cosh 是双曲余弦函数,参数 aa 决定曲线的弯曲程度。悬链线具有良好的受力特性,曲线上的拉力能够沿切线方向自然传递,因此在建筑和工程中应用广泛,例如悬索桥的主缆、电力线、链条以及某些拱形结构。通过 Rhino 和 Grasshopper,可以利用 Catenary 电池快速建立悬链线,并进一步添加截面,通过 Sweep1 生成可用于三维展示或3D打印的实体模型。
1.设计方案:
可以。下面给你一套完整、简洁、只用 Rhino + Grasshopper 自带电池的方法,从悬链线一直做到
[Sweep1] 实体。假设目标是:
- 悬链线位于 XY 平面
- 两端沿 X 方向展开
- 中间向 Y 负方向下垂
- 两端距离 200 mm
- 悬链线长度 240 mm
- 截面为 6 mm × 6 mm 正方形
- 最后用
[Sweep1]生成实体
1. 建立两个端点
放两个
[Construct Point]。左端点:
A=(−100,0,0)A=(-100,0,0)
所以设置:
右端点:
B=(100,0,0)B=(100,0,0)
设置:
2. 建立向 Y 负方向的向量
放一个:
设置:
得到:
(0,−1,0)(0,-1,0)
这就是悬链线下垂方向。
3. 建立悬链线
搜索:
连接:
再放一个
[Number Slider]:接到:
于是:
你就会得到一条位于 XY 平面、向 Y 负方向下垂的悬链线。
注意:
L>200L>200
因为两端距离是 200 mm。
4. 给悬链线重新参数化
右键
[Catenary] 的曲线输出端,选择:这样曲线参数会变成:
0→10\rightarrow1
方便后面建立截面。
5. 在悬链线起点建立截面平面
放:
连接:
再放一个
[Number Slider]:连接到:
于是
[Perp Frame] 会在悬链线起点建立一个垂直于曲线的平面。6. 做 6 mm × 6 mm 正方形
放两个:
第一个设置:
第二个也设置:
因为:
3−(−3)=63-(-3)=6
然后放:
连接:
现在就得到一个:
6 mm×6 mm6\text{ mm}\times6\text{ mm}
的正方形,而且正方形中心正好在悬链线上。
7. 使用 Sweep1
放:
连接:
其中:
R= Rail,轨道
S= Section,截面
此时你就会得到一根沿悬链线弯曲的 6 × 6 mm 方形杆。
8. 如果要做成封闭实体
[Sweep1] 通常生成的 Brep 两端可能是开的。所以后面接:
连接:
这样就得到封闭实体,可以 Bake 后导出 STL。
完整电池顺序
最核心的结构就是:
最简记忆版
你只需要记住这条链:
其中
[Catenary] 同时还要直接连接到 [Sweep1] 的 Rail 输入端。2.电池组合:

3.效果图:

- 作者:现代数学启蒙
- 链接:https://www.math1234567.com/article/catenarydesign
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章












