一、桥墩
第一步同样是读取表格数据,并将墩柱所需要的数据依次提出,并将其赋予所建立的族上。这里墩柱是个变截面,所以采用了上下两个截面来参数控制,下图只截取了部分数据。
再将参数赋予完成的桥墩设定好旋转角即可。我将桥墩分成了奇偶两排,是因为计算出来的旋转角是一对二的关系,这是因为同一排的两个桥墩是共用一个旋转角参数的。
二、系梁
之前几部分的绘制都是基于一个中心点来放置一个构件的,这种方法适用于单个构件中心位置确定,即通过“点选”的方式来放置构件。接下来的系梁及盖梁则是由左右两点控制位置的情况,即通过“画线”的形式来绘制构件。上述第一种就是利用下图的左侧节点来实现,输入端值需要提供一个点位和构件族;第二种则是右侧节点,输入端需要提供的则是一段“curve”线段、标高和梁族类型。顺便提一下这里的“level”虽然输入了标高,但不是说将梁构件就放置到这个标高上,梁的位置完全取决于输入的“curve”,所以不需要去单独为每个构件都建立相应的标高。
当然梁构件依然可以自建常规族,用第一种方法找到中心点来放置,然后单独用长度参数来控制长短。但是相对于第一种方法,两点控制构件的好处在于,一是可以无需旋转,二是对于倾斜构件无需再设定坡度,做到“正做斜放”来达到倾斜的目的。因为构件间是相互联系的,系梁、盖梁这类构件必然是跟桥墩有着两点的关系。只要之前的桥墩构件数据未出现错误,那么根据两点准确的空间位置自然就控制好了构件的方向和坡度。
dynamo节点里面前部分仍然是提取数据了,这里直接展示后半部分。将得到的左右两个点连接成线段,输入给节点“structuralframing.beambycurve”,后续再设定系梁的宽高参数即可。
三、盖梁
盖梁部分通过两点来放置与系梁部分雷同,所以就不再展示。这里主要说下盖梁族建立时两个需要注意的问题。
一个问题是,盖梁上部分的垫石与其的角度关系应该如何控制。我们知道部分情况下盖梁是带有一定坡度的,也就是倾斜放置在桥墩上的,而放置在盖梁上的垫石不管盖梁的坡度是多少,它的上表面都是平行的。那么在这种情况下怎么保证不同坡度情况下垫石正确放置呢?
这里的做法是盖梁依然是“正做斜放”的前提,盖梁同样不需要设定坡度参数。建立盖梁族时,垫石直接采用拉伸建立,用垫石左右两端的高度来控制。可以看出垫石在盖梁不同倾斜角时左右两端的高度是不同的,且这个高度的变化是同盖梁的倾斜角有着函数关系。如下图,h3、h4分别控制一个垫石的两端高度,a代表的是盖梁的倾斜坡度。a值在这里只是提供了一个盖梁坡度值的参数输入口,它并未与盖梁相关联。这样,就可以达到在不同坡度的盖梁情况下,垫石自动根据提供的盖梁坡度值进行变化,始终保持上表面水平。
第二个问题就是以两点来放置盖梁时,两个点的位置通常是两端桥墩的中心点,这时就要注意盖梁族建立时两端位置与放置点位置关系的控制。即如下图,盖梁的放置点应该是红圈两点。同时,d1和d2两点相对于放置点的距离要设定参数来控制。这样才能保证盖梁的长度关系。