桁架案例

这篇文章与上一篇相比,难度明显加大,数据处理的能力明显提高。还在纠结于上一篇教程的朋友这一篇看一看图个乐呵即可!如果已经开始入门gh并且慢慢开始上手的可以看本篇。

 

本帖最早的思路来自于NCF的曲面桁架的生成,但是在教程中是由一根曲线做出的规则曲面桁架。本人的建筑屋顶部分是一个不规则的曲面(异性建筑害死人,这就是条尼玛不归路啊!!!T.T)在具体曲线建桁架的时候有些地方数据会出问题导致无法生成桁架,楼主也没能解决,因此钻研五十余年用了很笨的方法做了此贴。望各位轻喷。

 

如图,当set one surface时候运算器出错。(我其实一直想知道是不是新版本运算器用法有区别了?)

更新:两年后的我看着曾经的帖子有时候总是会哈哈哈大笑。上图Boundary Srf运算器报错的原因显然是四点不共面。

教程:

本人的思路概况可以分为以下步骤,首先拾取曲面,然后分割,offset,得出分割面中点和角点,利用角点和中点连线生斜向杆,两层面各角点uv方向连线生横杆,节点加球(可选),面出厚度生玻璃(薄膜,板)迂回千百次,只为佳人心。

首先我们要做的就是拾取surface。我的surface由于长得很不帅,所以随手画了个符合大众审美的。这里有一个小的知识点,在实际运用中由于你的屋顶(比如我体育馆)动辄跨度百十米,可以先scale缩放减少运算量,等全部做完bake好了再等比放大回来。

 

我的机器配置还不错,因此我接下来会疯狂的为您演示很多错误的做法(事实证明很多我能想到的故意连错的错误都导致我的程序在死循环,虽然我vb当年42我也依稀记得vb里有个end loop的命令,不知道gh里有没有类似的命令能不让gh再傻呵呵的计算下去。目前为止已经卡死八次),因为我发现很多帖子都告诉你怎么做,很少提到为什么不能这么干。通过这样比对我认为您可以更容易理解很多视频教程,论坛教程上为何高手要绕一圈这样处理而非最简单的走直线(因为走不通比如会卡死)。还有新手一定要注意保存不然就会我这样一但傻叉连错了就完了。

拾取曲面以后,我们要进行的工作就是将平面分割。然后将平面offset一下。再将上头的面中点找出来。

这时候按照原来的教程,要用item list分别导出四个角进行连线。我看了看数据,四个角已经自动分好组了,按照理论来说直接和中点连线即可。如下图,一个颜色是一簇数据。

直接连线。

接下来我用panel比对了一下,发现上边一百个点,下边四百个点,对应应该有四百条线对吧?对于下边一百个分割后的小面来说,同一个位置点(不算边上)一定是有四个的,因为有四个surface。但是根据display的颜色来看树形数据自动分组,连接以后未觉有何不妥。Panel也都显示是四百条线。

接下来我们说一下生成横向杆件,很多新手会这样做,因为下边已经有了四百个点,直接用polyline链接。

看,貌似结果还不错。可是这样真的好吗…真的对吗…你真的比我还帅吗…

我们在做任何操作之前,一定要记住,保存加看数据结构。参数化设计和参数是离不开的,参数的数据类型也是很重要的。我们先来看一下正确的(理智)做法:

我们再来对比一下我们的。用一个曲线上点的控制器,连上拖拽一下,你会看到曲面上的所有点。这个点会转一圈。BOOM!重叠了发现了吗?

这样直接连接的结果是我们生成的不是横向的线(尽管看起来是,如同我剧照上的女演员永远是那么美)可实际呢?实际是一百个小方块。那么按照正确的做法,分别将所有点生成线,只需要横竖11+11=22条线。这样你的模型会更节省资源。

我们换种说法,刚才那样的方法就相当于给平面生墙,前者是每一个平面生墙以后在堆叠在一起,墙和墙会重叠尽管最后也是长得一样。后者是直接用轴线生成了片墙,除了横竖交接的地方永远都只是一面墙。当然这个方法也适用于快速生墙,如下图。

接下来我们在上边的面寻找边角点,也做出来横向的杆件。但是我出现了错误。

仔细检查发现是surface的输入端出现了问题。这里有一个知识点,当面(brep)被炸开了以后,F对应的是面,这个面是face,和surface不一样,是一个没有边的面,请自行理解。对于一个没有边线的face来说,是无法进行point to surface的。我们改变一下输入端。让边线edge的元素进来。

接下来我们用中心点生成上边的面。由中点生成的上边的面要比下边的面uv方向各少一个单位。需要说明的是,由于gh升级了,重新定义了表达的方法。我们必须输入x-1.这一点可以在详细的说明中看到接入端名称。

生成了上边的面,数据类型完全一样。

需要说明的是 如果这时候你发现在之前的点和面不吻合,记得把布尔值设置一下。

按理说我们就可以直接像下头的面一样生杆件了,但是我也出现了点和中点不对应的情况。

因此我们用ncf的小技巧,直接把点投影到中点上。

用一个向量display可以清楚地看出来点的位移。

这时候有人会问,哎呀中点生面面生点在挪到中点你烦不烦啊干嘛不直接用中点polyline生个横杆?

看到了吗?因为所有点的顺序是连着的,所以点会出现首尾相连的情况。

接下来我们要进行链接了,好习惯,先看一下数据结构是否正确。

(他奶奶的连错了又卡死了,重新来过吧。提醒各位,在C盘-用户-你的名字-appdata-roaming-mcneel-rhino 5.0-autosave和grasshopper-autosave有自动保存的文件,大家可以应对卡死,或者经常清理一下免得占用太多地方。我一个带环境的模型五百多M你敢信?… )

 

接下来的工作就很简单了我就不截图了(主要是因为刚卡死,现在重新进去拾取surface太卡)。找到中点的控制器,生个节点球玩儿,再把面相应加个厚度,再把线pipe生成管,你就可以做属于你自己的任意曲面的桁架了。相比较来说这个运算器命令少点,算是个简化版?

 

最后一点要说明的是,由于生成pipe,光滑的曲面太耗资源,大家可以按照需求生成方形的管。方法如下。


附上全家福和附件:

Truss

 

———————————————————————————————————————————————————————

本文所有内容版权均属于作者所有

欢迎您扫描下方二维码关注小黄人君的微信公众账号

二维码新

发表评论

邮箱地址不会被公开。 必填项已用*标注