个人中心 我的学堂 我的旅行 退出账号

经验 | GH-这样的屋面随机开洞咋做?

建筑小蝈蝈 建筑小蝈蝈

作者:ArchiGG
原文链接

如何做图中的屋顶上面随机的开洞?

360se_picture (2).webp (54).jpg 

(上图来源于网络)

今天就和大家一起讨论一下这张图

咱们可以先观察观察这张图

360se_picture (2).webp (55).jpg 

其开洞有大有小

360se_picture (2).webp (56).jpg 

开洞的样式是菱形,其开洞形式就是在一组菱形的网格下,对每个菱形网格进行缩放等操作,形成一个个比原来菱形要小的菱形。

下面看具体操作

1.我们就用一块曲面来做这个案例

先在rhino中建一个曲面,再将其拾取到GH当中。

2.然后利用GH里的一个插件 lunchbox。

用其diamond panels运算器将其细分成菱形面(初学者不建议依赖插件懂有这个东西就行了。最初的学习还是以GH自带运算器为主)

360se_picture (2).webp (60).jpg 

(黑色的边线只是显示效果,为了让大家看的更清楚)

3.初始的菱形面做出来了,然后我们要做的是将每个菱形面的边线提取出来,然后缩放。

先提取边线,提取边线这步我比较粗暴。之间将面接给曲线参数,自动就转化成曲线了。当然也可以用brep edges等先提取边线再join。

360se_picture (2).webp (61).jpg 

4.再缩放。

360se_picture (2).webp (62).jpg 

缩放的中心点可以用area运算器得出,但是area运算器比较占运算器资源。

360se_picture (2).webp (63).jpg 

所以polygon ceter运算器就会成为我们不错的选择。

5.找到缩放中心点之后,接下来定的是缩放比例。

360se_picture (2).webp (64).jpg 

还是来看之前的图,比例是随机的,比初始的菱形面小就行。也就是缩放比例是在0-1之间的随机值,随机当然是random运算器了,然后生成一组与曲线数目相同的随机值。

诶,有点意思了。但是还不够,有些曲线缩放后几乎看不见了,这可能是我们想要避免的。

360se_picture (2).webp (67).jpg 

6.这时候当然是再在程序中加入一个graph mapper了,并设置graph type为bezier。

360se_picture (4).gif 

可以很方便地调节出我们觉得合适的大小。

这一步做好之后,我们可以打个组。

360se_picture (2).webp (68).jpg 

后期再调节亦或整理思路的时候都会很方便。

7.这一步做完之后,我们可以先开洞看看效果。将初始的菱形曲线和缩放后的菱形曲线,都接入boundary surface,记得右键flatten拍平。

是不是就成功了

不过这里又有新的问题

我不想每个菱形面都开洞怎么办

ok我们继续

(这里啰嗦一下,如之前缩放后想控制缩放大小,这里控制完大小之后我们又想控制开洞数量,一个程序可能会有多个变量,一个个来解决就行)

继续

8.在缩放后的菱形曲线后(为什么不是缩放前的可以自己尝试一下噢)。接入一个random reduce,再接入boundary surface。

360se_picture (2).webp (72).jpg 

9.就可以控制开洞的数量,以及随机开洞的位置(大小在之前我们写好的程序调)。

ok搞定

    结束了?

然鹅,当我也以为是完了的时候。后来发现还没完,就在我打算发文前一刻,我测试了一下。

360se_picture (2).webp (74).jpg 

用这样的一个面,直接拾取进去,结果只有这么一部分白色的成面了。

360se_picture (2).webp (75).jpg

what!?

扎心了

问题出在boundary surface,它只能成平面,不能成曲面。大意了大意了。

360se_picture (2).webp (76).jpg 

好吧

只能重新成面了

360se_picture (2).webp (77).jpg 

成面其实好成啊,用4点成面工具就可以搞定。那中间的开洞怎么开呢?用缩放后的曲线去修剪吗?

360se_picture (2).webp (78).jpg 

这个我是尝试过的,容易出错容易卡,只能另辟蹊径。

外面的曲线我有了,里面缩放后的曲线我也有了,将他们一一对应缩放不就得了。

因为初始的曲线和缩放后的曲线都是多段线,将它们先炸开,然后在一一对应地放样。

360se_picture (2).webp (81).jpg 

如果因为路径不对应无法放样,可以右键simplify。

然后发现

成啦

360se_picture (2).webp (82).jpg 

bake出去后的效果

360se_picture (2).webp (83).jpg 

这样成面是可以的。不过这时候当然又有新问题。控制开洞大小的那部分是仍然可以继续用的,但是控制开洞数量那部分我们可能要调整下。

360se_picture (2).webp (84).jpg 

如果仍然用random reduce给放样双方相同的变量。

360se_picture (2).webp (85).jpg 

这样好像是可以成功的,但这里有个问题(这句话说了好多遍),就是被random reeduce的曲线,找不回来了。而那里本来是不需要掏洞的位置,所以这里咱们不用random reduce。

我们这里其实就是筛选哪些曲线放样开洞,哪些曲线不参与放样,其实就是true和false的关系,所以这里用dispatch来筛选。

360se_picture (2).webp (86).jpg 

这里就是在0-1之间随机取值,然后四舍五入得到0或者1这两个整数。0和1分别对应的就是false和ture,将得到的布尔值接入dispatch,分别将放样的双方筛选出来(必须接同一组布尔)。

360se_picture (2).webp (87).jpg 

放样和没调节数量之前一样

360se_picture (2).webp (88).jpg 

关键是没有开洞的面可以生成了,通过dispatch的B端输出曲线,将其炸开取顶点,然后四点成面就搞定了。

着色看看效果


  感谢 建筑小蝈蝈 授权分享

欢迎关注他们的微信公众号

微信号:ArchiGG

qrcode (1).bmp

1条评论
CHANGCAI
CHANGCAI 2019-07-31 17:19:49 回复 0

请教下如果不用lunchbox要怎么做那个菱形面

建筑小蝈蝈 建筑小蝈蝈

作者:ArchiGG
原文链接

media@archcollege.com
建筑学院来稿须知 关闭
感谢您的关注与支持!我们非常欢迎各类投稿。
几点简单的来稿须知,望您耐心读完。
来稿要求如下:

● 作品类稿件

1、高清项目实景照片/效果图/模型照片/手绘草图
2、高清技术图纸,如:分析图/主要平立剖/总平面/关键节点详图
(图片要求:无水印,格式为JPG,图片分辨率72,宽度大于1200像素)
3、详实的设计说明800字左右(word格式)
4、真实准确的基本项目信息
5、如有项目视频,请提供高清项目视频
6、贵司的LOGO、官网相关信息。(用于注明文章出处及作者)

● 其他稿件

1、配图清晰且无水印图片
2、内容有趣有料,文字流畅通顺。
3、作者姓名,若有公号请提供公号名称及LOGO
我们的编辑将在收到稿件后的3个工作日内审稿并与您取得联系,如果没有刊载也会在3个工作日内您答复。
投稿邮箱:tougao@archcollege.com
如有其他疑问请加微信: jzxy-yz
建筑学院 建筑学院

建筑学院APP

为建筑师而打造的精品应用

点击下载
close
社交账号登录
close
close
close
欢迎加入【建筑学院】
快去完善你的个人信息吧!
完善资料
等下完善
close