返回列表 发布新帖

[参数化设计] 【By DanielJin】由浅入深学Grasshopper 中级 01

4672 4
DanielJin 发表于 2014-7-25 00:41:57 | 查看全部 阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
本帖最后由 DanielJin 于 2014-7-25 13:15 编辑

【By DanielJin】由浅入深学Grasshopper 中级 01 任意曲面生桁架
欢迎加入我们的参数化群,群号312673316。该贴是4月中旬写的,帖子中涉及时间问题请自行脑补。
前言:4.04-4.18由于学校同时给安排了两个设计,所以接连14天设计“周”另我苦不堪言。由于电脑比较多,在分开渲图的时候闲置了一台。首先感谢各位对上期教程的支持
由于闲置一台电脑,把昨天做的一个结构GH作为教程讲解(主要是各位亲在支持的同时不停地呼唤下一期的更新T.T)。下一期应该就是过了18号才会发了。这一期我直接写上了中级,是希望告诉各位,这一篇与上一篇难度明显加大,数据处理的能力明显提高。还在纠结于上一篇教程的朋友这一篇看一看图个乐呵即可!如果已经开始入门gh并且慢慢开始上手的可以看本篇。至于论坛众多大神您可以给个支持评个100分然后提出自己更好地建议。我也有很多问题会在教程中写出希望各位的指导。

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

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

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

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

193607fl0hl4tgjhahhwjz.png.thumb.jpg


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

拾取曲面以后,我们要进行的工作就是将平面分割。然后将平面offset一下。再将上头的面中点找出来。
193608vkk5z2oo5o0lbl8u.png.thumb.jpg
这时候按照原来的教程,要用item list分别导出四个角进行连线。我看了看数据,四个角已经自动分好组了,按照理论来说直接和中点连线即可。如下图,一个颜色是一簇数据。
193610usjqdsqj3qeqfgzj.png.thumb.jpg

直接连线。
193609ck4m0w0j9kr0mesw.png.thumb.jpg

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

193611c52ts5pkadtd66de.png.thumb.jpg
193612y0rffiz2jjd6nkm6.png.thumb.jpg
接下来我们说一下生成横向杆件,很多新手会这样做,因为下边已经有了四百个点,直接用polyline链接。
193613gr3n0wb0nmnd1dnz.png.thumb.jpg
看,貌似结果还不错。可是这样真的好吗...真的对吗...你真的比我还帅吗...
我们在做任何操作之前,一定要记住,保存加看数据结构。参数化设计和参数是离不开的,参数的数据类型也是很重要的。我们先来看一下正确的(理智)做法:


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

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

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

193618zytztlgwg11ni88n.png.thumb.jpg

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

193619c46kamnjmh1nmtnn.png.thumb.jpg

仔细检查发现是surface的输入端出现了问题。这里有一个知识点,当面(brep)被炸开了以后,F对应的是面,这个面是face,和surface不一样,是一个没有边的面,请自行理解。对于一个没有边线的face来说,是无法进行point to surface的。我们改变一下输入端。让边线edge的元素进来。
193621zyyvgh9d6gvzcvon.png.thumb.jpg
接下来我们用中心点生成上边的面。由中点生成的上边的面要比下边的面uv方向各少一个单位。需要说明的是,由于gh升级了,重新定义了表达的方法。我们必须输入x-1.这一点可以在详细的说明中看到接入端名称。
193622kzif8byerm5dostd.png.thumb.jpg
193623cipw7stlctsc7icg.png.thumb.jpg

生成了上边的面,数据类型完全一样。
193625q22c17d13jzeiiug.png.thumb.jpg

需要说明的是 如果这时候你发现在之前的点和面不吻合,记得吧布尔值设置一下。
193626oal1zwlahf1yafhy.png.thumb.jpg
按理说我们就可以直接像下头的面一样生杆件了,但是我也出现了点和中点不对应的情况。
193623ljkks8antaclwe8i.png.thumb.jpg

193627otx215xr1pcrrrri.png.thumb.jpg

因此我们用ncf的小技巧,直接把点投影到中点上。
193630t1ph3h14bshu4k0k.png.thumb.jpg
用一个向量display可以清楚地看出来点的位移。
193631uq9q25qlo0z0zb90.png.thumb.jpg

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

看到了吗?因为所有点的顺序是连着的,所以点会出现首尾相连的情况。
接下来我们要进行链接了,好习惯,先看一下数据结构是否正确。
193632oelng4lhdro455rb.png.thumb.jpg
(他奶奶的连错了又卡死了,重新来过吧。提醒各位,在C 用户 你的名字 appdata roaming mcneel rhino 5.0 autosavegrasshopper autosave有自动保存的文件,大家可以应对卡死,或者经常清理一下免得占用太多地方。我一个带环境的模型五百多M你敢信?...

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

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

把extrude以后的东西给补上来
212732up123door13p1191.png.thumb.jpg
关于大家的回复,想说两句。因为是论坛新人,基本都会回复。您说多谢分享我会说分享是美德诸如此类的。后来渐渐发现这个工作量太大...所以再留言我可能就不会一一回复了,不是我态度傲慢啊~~望各位海涵!但是您的留言我都会认真看,有疑问我一定会仔细回答。若您长篇幅认真写出了自己的意见和建议,我基本都会给您评分以表示对我的支持和对您的感谢。好了我继续滚去作图了,下一期教程不出意外还是会回归basic系列,4.18交图以后才会发。请您期待。帖子内容如有不妥望请斧正!

[ByDanielJin]中级.rar (1.94 MB, 下载次数: 10, 售价: 1 米粒)


评分

参与人数 2米粒 +8 收起 理由
zhangzs + 5 不错啊。。公测福利
月之眼 + 3 感谢分享

查看全部评分

评论4

月之眼Lv.4 发表于 2014-7-25 01:02:54 | 查看全部
我剩的加分都给你了
DanielJin楼主Lv.3 发表于 2014-7-25 01:06:10 | 查看全部
月之眼 发表于 2014-7-25 01:02
我剩的加分都给你了

等我升级能评分了就把你发过的都评上 么么哒 我还是爱你的
EndaLv.1 发表于 2016-2-29 17:19:16 | 查看全部
给个赞,慢慢啃
bakthuLv.1 发表于 2023-4-28 10:32:47 | 查看全部
thanx for share

回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表