屋面板与立柱标高的自动调整
本文介绍在 StatiCAD 中如何根据椽条、檩条、屋脊梁和斜沟梁的端点标高,用三角形网格生成屋面板(多边形楼板),以及如何使屋面立柱的顶标高与梁标高相等。这两项操作都只需使用宏菜单中的一条命令即可完成。
1. 关于本文
在木(或钢)屋面中,屋面板是支承在椽条、檩条、屋脊梁、斜沟梁和斜脊梁之上的倾斜面。在 StatiCAD 中,这个面用一块多边形楼板建模。绘制楼板时不赋予标高,直接将其平放在屋面平面图上;然后运行 宏 › Poligon döşemeyi kiriş uç kotlarına göre ağla (TIN - çatı kaplaması)(按梁端点标高对多边形楼板划分网格,TIN – 屋面板):该宏会丢弃楼板的水平网格,重新对网格进行三角剖分,使其从梁的上方通过,并把每个网格节点置于其下方梁在该点处的标高上。这样,屋面板与梁共用相同的节点;作用在屋面板上的荷载在分析中传递给梁。
本文还介绍 宏 › Seçili dikme/kolon üst kotlarını kiriş kotlarına eşitle(使所选立柱/柱的顶标高与梁标高相等)命令。该宏把支承屋面的立柱的顶标高设为其上方梁在该点处的标高。
说明基于一个真实的木结构四坡屋面模型:平面尺寸 69.45 × 19.00 m,屋面板面积 1273.31 m²,约 600 根木梁(椽条、檩条、屋脊梁、斜沟梁、斜脊梁)和 63 根立柱。屏幕上的数值均为该模型的结果。
版本: 两个宏都位于宏菜单中,没有版本限制。屏幕截图取自 StatiCAD Ultimate V.10.0.1.0。
图 1 – 网格划分后的主界面:左侧为平面图(屋面板三角形和梁),右侧为三维视图
2. 总体流程
- 在屋面层绘制屋面梁(椽条、檩条、屋脊梁、斜沟梁/斜脊梁),并给定每根梁两端的顶标高(第 3 节)。
- 布置立柱;用 宏 › Seçili dikme/kolon üst kotlarını kiriş kotlarına eşitle 使其顶标高与梁标高相等。删除在同一点上重复绘制了两次的立柱(第 4 节)。
- 在楼板绘制(Döşeme Çizimi)工具栏中使用 Poligon(多边形)按钮,沿屋面平面图的外轮廓绘制一块多边形楼板。不要赋予标高;楼板按楼层标高平放绘制(第 5 节)。
- 选中楼板,运行 宏 › Poligon döşemeyi kiriş uç kotlarına göre ağla (TIN - çatı kaplaması);平面图和分屏视图中的三维视图会自动刷新(第 6 节)。
- 在楼板属性中给定屋面板的实际厚度、材料和荷载(第 7 节)。
- 在三维视图中检查网格是否有折痕;如有,修正梁标高后重新运行网格划分(第 8 节)。
- 运行分析(第 9 节)。
顺序: 网格是根据宏运行时的梁标高生成的。如果之后修改了梁标高,请重新运行网格划分;该宏每次都会丢弃旧网格并重新生成新网格。
3. 准备工作:屋面梁及其端点标高
屋面板网格的节点标高仅取自梁。因此,屋面的几何形状必须完全由梁的端点标高来确定。右击梁并打开其属性:左顶标高(Sol Üst Kot)为梁第 1 端(开始绘制的一端)的顶标高,右顶标高(Sağ Üst Kot)为第 2 端的顶标高。两者均相对于楼层顶标高,以 cm 为单位给定;向下为负。
图 2 – 圈梁(梁)属性:在一根从檐口延伸到屋脊的椽条上,左顶标高 = 0,右顶标高 = 220 cm
- 椽条: 檐口端通常为 0,屋脊端为屋脊标高。两端之间标高呈线性变化。
- 檩条: 由于是水平的,两端标高相同。该标高必须与檩条所跨越的各椽条在该点处的标高相等。
- 屋脊梁、斜沟梁和斜脊梁: 其端点标高必须与所连接的椽条和檩条的标高一致。
- 短椽条(cripple): 终止于斜沟或斜脊的一端,应取该点处斜沟梁/斜脊梁的标高。您可以用椽条标高按檩条自动调整一文中的命令一次性给定这些标高。
标高一致性: 如果两根梁在平面上相交,或其中一根终止于另一根之上,则两者在该点处的标高必须相同。否则网格节点只会落在其中一根梁上,屋面板在该点处会折弯(第 8 节)。遇到这种情况,宏会在位于相同 XY 位置的候选梁中取最高标高。
4. 立柱和柱的顶标高与梁标高对齐
屋面立柱支承屋脊、斜沟和檩条。在有限元模型中,立柱的上端必须与其上方的梁在同一节点处相连。为此,立柱的顶标高必须等于梁在该点处的标高。手工输入的顶标高通常会有几 cm 的偏差;这种偏差会使立柱在分析中无法与梁连接。
图 3 – 宏菜单:屋面板和立柱顶标高宏(最后两项)
4.1 运行
- 将当前楼层设为屋面层。如果只想修正部分立柱,请先选中它们。
- 点击 宏 › Seçili dikme/kolon üst kotlarını kiriş kotlarına eşitle 菜单项。
- 如果没有选中的立柱,程序会请您确认是否处理当前楼层的全部立柱。
- 处理结束后会打开结果窗口。平面图重新绘制;在分屏视图中,三维视图也会刷新。
图 4 – 没有选中立柱时的确认提示:选择 Yes(是)后,会处理该楼层的全部立柱
图 5 – 结果窗口:摘要行和可滚动的立柱列表
第一行给出有多少根立柱的顶标高发生了变化。第二行按状态统计立柱数量。如果存在绘制在同一点的立柱,第三行给出其数量。随后依次列出:发生变化的立柱(旧 -> 新 标高以及立柱上方的梁)、位于不同标高梁交汇点的立柱,最后是绘制在同一点的立柱。
结果较短时显示在标准消息框中;较长时显示在一个适应屏幕大小、可调整大小且可滚动的窗口中。完整的列表位于该窗口的文本框内;您可以选中文本并复制。
表 1 – 立柱状态
| 状态 | 含义 |
|---|---|
| 已更改 | 顶标高已设为其上方梁在该点处的标高。 |
| 已经相等 | 顶标高原本就等于梁标高;未作更改。 |
| 其上没有梁 | 未找到通过立柱点的梁;顶标高保持不变。请检查立柱或梁的位置。 |
| 会低于底标高 | 梁标高低于立柱下端(或高出下端不足 1 cm);顶标高保持不变。 |
| [不同标高的梁 …,取最高值] | 立柱位置有多根不同标高的梁(例如屋脊梁与天花梁)。为使立柱一直延伸到屋面,取最高标高。 |
4.2 如何计算?
- 立柱点: 指有限元模型中的立柱节点。矩形截面取截面中点,多边形截面取形心。
- 候选梁: 位于同一楼层、平面轴线到立柱点的距离小于 FEM 精度与梁宽一半二者中较大值的梁。
- 标高: 沿梁长在两端标高之间线性变化。如果立柱位于梁端,或梁的两端标高相同,则直接取所记录的值。
- 同一点处的立柱: 如果在 FEM 精度范围内同一点有多根立柱,会在窗口末尾列出;这些立柱不会被修改。
在同一位置绘制了两次的立柱: 如果列表中出现 DHÇ01 = DHÇ10 之类的行,说明在同一位置绘制了两根立柱。请选中多余的一根,按 Delete 键删除。由于删除操作会把最后一根立柱移到空出的序号上,其余立柱的名称可能会改变。在示例模型中,79 根立柱中有 16 根因此被删除。
撤销: 该宏在操作前后各保存一条撤销记录。Geri Al(撤销)一步即可回到此操作之前,İleri Al(重做)则重新应用该操作。修改后项目将被视为未保存,之前的分析结果失效。
5. 绘制屋面板楼板
屋面板用楼板绘制工具栏中的 Poligon(多边形)按钮绘制。依次点击各角点并闭合多边形。将标高(Kot)框保持为 0:楼板按楼层顶标高平放绘制。标高将由宏赋予。
图 6 – 楼板绘制工具栏:多边形楼板按钮和网格设置按钮
- 多边形的边应沿屋面的檐口线。位于多边形之外的梁段不会参与网格。
- 对于凹形(L、T、U 形)屋面,请沿外轮廓绘制多边形。宏会保留多边形边界。
- 绘制时生成的水平网格无关紧要;宏会丢弃该网格。
图 7 – 网格划分前的平面图:屋面梁(蓝色)及平放于其上的多边形楼板(绿色,采用标准三角形网格)
5.1 网格间距
宏沿梁设置的中间节点的最大间距,等于由 Mesh Ayar(网格设置)按钮打开的特殊楼板(Özel Döşemeler)窗口中 X 方向和 Y 方向最大网格宽度(X Yönü、Y Yönü Max Mesh genişliği)两个数值中的较小者(默认 120 cm)。要使网格更密,请减小该值。
图 8 – 特殊楼板(网格设置):最大网格宽度即宏的网格间距
请勿使用 Mesh Yap: 划分网格之后,如果点击该窗口中的 Mesh Yap(划分网格)按钮,会按标准方法对楼板重新划分网格,屋面网格将丢失。要更新网格,请始终使用 宏 › Poligon döşemeyi kiriş uç kotlarına göre ağla (TIN - çatı kaplaması) 命令。
6. 按梁端点标高对屋面板划分网格
6.1 运行
- 将当前楼层设为屋面层。如果只想对特定的多边形楼板划分网格,请先选中它们。
- 点击 宏 › Poligon döşemeyi kiriş uç kotlarına göre ağla (TIN - çatı kaplaması) 菜单项。
- 如果没有选中的多边形楼板,程序会请您确认是否处理当前楼层的全部多边形楼板。
- 处理结束后会打开结果窗口。平面图重新绘制;在分屏视图中,三维视图也会按新网格刷新。
三维窗口: 如果三维视图不是在分屏中,而是在单独的窗口中打开,请用左上角的刷新(Yenile,Refresh)按钮更新。
图 9 – 没有选中多边形楼板时的确认提示
图 10 – 结果窗口:示例模型中有 5096 个三角形、2722 个节点
表 2 – 结果窗口中的数值
| 数值 | 含义 |
|---|---|
| 三角形、节点 | 新网格的三角形数和节点数。 |
| 梁 | 位于多边形内部或边界上并参与网格的梁的数量。 |
| 梁中间点 | 沿梁轴线按网格间距布置的节点数。 |
| 已跳过(梁交叉) | 因在三维空间中与另一根梁的距离小于 FEM 精度 + 1 cm 而未布置的中间点数量。这样的节点会同时分割两根梁,并在分析中把它们刚性连接起来。 |
| 标高为插值 | 未落在任何梁上(角点、边缘、填充)、标高由相邻节点求得的节点数。 |
| Z … cm | 网格节点的最低和最高绝对标高。 |
| 已舍弃重叠的 TIN 三角形 / 已补充孔洞三角形 | 三角剖分过程中修复的三角形数量(见下文)。 |


图 13 – 网格划分后的平面图:三角形的边沿梁轴线分布
图 14 – 平面细部:节点位于梁轴线上,梁交汇处出现三角形扇面
6.2 网格是如何生成的?
- 梁端点: 位于多边形内部或边界上的每个梁端点都是一个节点;其标高为该梁端的标高(楼层顶标高 + 左/右顶标高)。梁与多边形边相交的点也会成为节点。
- 梁中间点: 每根梁在其两端以及终止于其上的其他梁的端点之间,被划分为短于网格间距的若干段;标高沿梁线性变化。如果没有这些点,三角形会直接连接屋脊两侧的檐口节点,屋面板就会切断屋脊。
- 多边形边界: 角点和边上的节点依次作为三角剖分边界给出;凹形屋面得以保留。
- 填充点: 在没有梁的大片区域,按网格间距添加节点。
- 三角剖分: 节点在平面上(不考虑标高)进行三角剖分(TIN,不规则三角网)。
- 标高: 落在梁上的节点取该梁的标高;同一点有多根梁时取最高标高。未落在梁上的节点,其标高在网格上按相邻节点的平均值(调和)求得。
在规则(等间距)的矩形网格单元中,三角剖分有时会在同一单元内放入两个三角形,而使相邻单元留空。宏会剔除这些三角形、填补空洞,并且只有在每条内部边恰好属于两个三角形、每条边界边只属于一个三角形,且平面上被覆盖的面积与多边形面积之差在 0.1% 以内时,才应用该网格。如果这些检查未通过,则保留现有网格,并在结果窗口中写明原因。
撤销: 该宏在操作前后各保存一条撤销记录:Geri Al(撤销)一步即可将网格恢复原状,İleri Al(重做)则恢复新网格。要重新生成网格,只需再次运行该宏。划分网格后项目将被视为未保存,之前的分析结果失效。
屋面板如何与梁连接? 梁轴线上的网格节点会在分析中分割梁。在这些节点处,屋面板与梁共用节点,屋面板荷载传递给梁。不在梁上的节点(填充点、边缘节点)仅属于屋面板。
7. 屋面板的厚度、材料和荷载
右击多边形楼板并打开其属性。厚度(h)和材料不影响网格;可以在划分网格之前或之后给定。在分析中,屋面板壳的厚度和自重根据 h 值计算。
图 15 – 楼板属性:示例模型中为 18 mm OSB 屋面板(来自材料库),Q = 150 kg/m²
- h: 屋面板的实际厚度(示例中为 1.8 cm)。
- 材料: 通过来自材料库(Malzeme Kütüphanesinden)选项选择屋面板材料(示例中为 OSB)。
- Gkaplama、Q、雪荷载、风荷载: 作用在屋面板上的荷载。
- 请勿修改楼板方向选项(Döşeme Yön Opsiyonu)和标高 / 右标高(Kot / Sağ Kot)字段(水平面,0)。网格的标高保存在节点中。
默认的 12 cm 钢筋混凝土屋面板: 如果保留楼板绘制工具栏中的默认厚度(12 cm)和钢筋混凝土材料,倾斜的屋面板就会像折板一样工作。由于屋面板的刚度比木梁大得多,荷载由它自己承担,梁的内力会比实际小得多。在示例模型中,一根椽条的弯矩(M3)在无屋面板的计算中为 94 t·cm,而采用 12 cm 钢筋混凝土屋面板时降到了 4.4 t·cm。务必给屋面板赋予其实际厚度和材料。
8. 检查:标高一致性与折痕
由于网格节点原样取用梁的标高,梁标高中的不一致会在网格中表现为折痕。最常见的情况是檩条高于或低于椽条平面:檩条上的节点取檩条标高,紧邻的椽条节点取椽条标高,屋面板便沿檩条折弯。
图 16 – 若檩条标高与椽条平面相差 Δ,屋面板网格会沿檩条折弯(示意图,未按比例)
在示例模型的中部,有 12 根檩条高出椽条平面 4.5 cm、8.7 cm 和 13.1 cm(檩条按端部区段的坡度绘制,椽条则以较小的坡度绘制)。已通过梁属性将檩条的端点标高降到椽条平面(67.10 → 62.58 cm;128.97 → 120.29 cm;194.30 → 181.22 cm),重新使立柱标高对齐,并重新运行了网格划分。
8.1 检查清单
- 相交的梁,或终止于另一根梁之上的梁,在该点处的标高是否相同?
- 短椽条是否以相同标高连接到斜沟梁和斜脊梁?是否有转角椽条的两端标高都仍为 0?
- 檩条是否位于椽条平面内?屋脊梁和斜沟梁的坡度是否与椽条协调?
- 是否有在同一位置绘制了两次的梁或立柱?(重叠绘制的梁在分析开始时会自动删除;立柱见第 4 节。)
- 修正梁标高之后,是否重新运行了立柱宏和网格划分?
9. 分析
带有网格的屋面板可像往常一样进行分析。示例模型(约 600 根梁,5000 个壳三角形)约 1.5 分钟即可求解。
- 分析开始时,在同一位置绘制了两次的梁会被自动删除;由于最后一根梁会顶替被删除梁的位置,部分梁的名称可能改变。分析结束后,三维视图会自动刷新一次。
- 作用在屋面板上的荷载,从屋面板三角形传递到梁轴线上的共用节点,再由此传递到梁和立柱。
- 运行立柱宏或网格划分宏之后,之前的分析结果视为失效;请重新运行分析。
- 如果屋面板的材料和厚度不符合实际,梁的内力结果会产生误导(第 7 节)。
10. 限制与提示
- 该宏只对多边形楼板划分网格,不能用于矩形或四边形楼板。
- 只有与楼板位于同一楼层的梁才会参与网格。为预制屋面楼板生成的等效斜撑不参与网格。
- 在平面上,距离小于 FEM 精度的节点会被合并。过短的梁段以及彼此过于靠近的梁端会降低网格质量。
- 在绘制梁的区域之外的大片空白处会布置填充节点;这些节点的标高由相邻节点求得。为使屋面板在无梁区域也能沿实际几何形状走向,请把梁(椽条)一直绘制到多边形边界。
- 如果某块楼板的网格划分失败,则保留该楼板原有的网格,其他楼板继续划分网格。
- 如果修改了梁或立柱的标高,请按此顺序重新运行立柱宏和网格划分。
示例中的输入仅作示例之用;梁的几何形状、屋面板材料和荷载的正确性由项目的负责工程师负责。