gHowl——搭建Grasshopper与外界的桥梁

[复制链接]
跳转到指定楼层
76630 c351951511 发表于 2015-9-7 20:38:24 楼主
本帖最后由 c351951511 于 2015-9-7 21:20 编辑


gHowl——搭建Grasshopper与外界的桥梁
啰嗦两句~~
广大基佬和牛友们,东北吴彦祖 ALEX再一次和大家见面了。上一篇关于3D地形的心得分享是通过其他平台和软件将地理信息转化成犀牛中可以使用的CAD文件。但是过程复杂,需要注意的事项也很多,软件作为我们的日常工具,使用起来肯定是越方便越受欢迎。那么今天,南来的北往的,走过路过不要错过啦,有这样一个插件,方便好用,使犀牛和Grasshopper可与多种平台,软件,硬件进行沟通以及信息交换。他就是gHowl,我喜欢叫他单身狗,你们也可以叫他单身狼或者荒野大嚎客(随便你怎么叫),反正这种自带WIFI信号的货确实很叼。当然,中华大地人杰地灵,无数的深山隐士还有扫地僧自然不需要表弟这篇丑陋的入门介绍。我只想把这些天的学习和研究心得和没有试过或者想试不敢试的牛友们分享一下,如果哪里有错误,you can you up啊!            开玩笑的。。。。。。


正文:
WHAT is it?
gHowl是一套扩展蚱蜢与其他应用程序和物理设备进行沟通和交换信息的组件。目前应用领域:体系结构,分析与模拟。其实已经有很多插件可以实现GH与其他软件的交互,如Ecotect。

WHERE to download it?
WHEN to use it?
当你熟悉GH的基本电池,并且掌握某些编程软件例如Processing(以下简称P5)的时候不妨可以尝试一下。
WHY to use it?
不得不说,在food4rhino官网下载量接近4万次的插件国内却找不到教程和像样的介绍,这也是我分享这次心得的原因。我就琢磨,这样的冷门与翻墙不便不无关系。(我已经给大家找好借口了)。其实真正的原因有几点:
1.    犀牛,GH等软件插件在国内的推广以及使用起步较晚;
2.    国内犀牛使用者一看到满屏幕的英文,就一个脑袋十个大了;
3.    与GH和犀牛能够交互的平台或者软件硬件,多多少少会和编程扯上关系,不免让大家觉得跑偏了。
这让我想起在英国求学时,老师常提的一句话。Apicture is worth a thousand words.你说一千个字都不如一张屌图来的实在,可见信息的可视化在国外是很受欢迎的。而且国内的建筑系学生也越来越注意Presentation了,一张打动人的图可以帮你担任总经理,出任CEO,赢取白富美,走上人生巅峰。。。。这都是后话了。
我的拙见其实是,不需要会太多编程,只要你玩的一手好P5,那么就足以通过gHowl在GH和犀牛里实现一切你在P5中得到的。比如在犀牛界面里通过摄像头看到对着你竖起中指的自己!比如用手机或者Ipad控制GH里面的各种信息来控制造型!高端大气上档次,狂霸酷炫吊炸天的同时还给我们的设计无限可能,这也是为什么在国外如此火热的原因。让你可以与你喜欢的犀牛更近距离的接触,做一对互撸娃!
HOW to use it?
准备工作:屠龙宝刀,点击就送,,,不行,这广告太魔性了,我得忘掉它。。。点开文件夹。。
  gHowl文件夹里的GHA文件直接拖进GH就会得到gHowl所有组件了。
大部分的软件,开发者给出的案例是最简单明了的入门教程,那么接下来,感兴趣的基佬们就可以和我一起探索所有组件了。事先声明,表弟的水平大概如下:
编程=捞比塑料    犀牛=不屈白银    GH=英勇黄铜
探索过程坎坷不断,有疏漏的地方还希望大表哥们指点!
Spreadsheet 电子表格交互组件
官方解释:
·        电子表格组件利用OpenXML的引擎。您必须安装OpenXMLSDKV2.msi(在文件夹Dependencies里)以便这些部件能运作。这些组件读取和写入*的.xlsx文件。支持数值和字符串。
·         
·        电子表格阅读器 – 从存储在计算机上的文件检索电子表格数据。
·         
·        电子表格编辑器 – 允许你写一个电子表格文件。

案例一 SpreadsheetIn 导入表格
要求:安装Dependencies文件夹里的OpenXMLSDKV2.msi
    最左端链接想要导入的EXCEL文件,案例文件在文件夹中。
    表格阅读器,左上角链接路径,左下角是选择EXCEL中对应的表格编号,如Sheet1,Sheet2。可以输入一个或者多个,本案例中只有Sheet1。并通过后面的电池组合,将平面Isotrim按照表格中的数据挤出相应高度。你可以理解为这个案例是模拟不同高度建筑的分布情况,或者是温度,或者是日照,反正表格中的变量是根据我们自己的设定而定。
案例二 SpreadsheetOut 导出表格
    填写设置保存路径及文件名
    左上角链接保存路径,左侧剩下的均为上文提到的EXCEL下方的表格1,2,3。运行之后我们便可以去保存的路径去寻找表格文件。打开如图:

是不是觉得So easy, 妈妈再也不用担心你不会装逼了。这只是洒洒水啦,下面会更有意思的!不过部分组件需要翻墙才可以正常运行,比如谷歌官网和谷歌地球的交互组件。
Geo & KML 地理信息以及谷歌地球交互组件
官方解释:
·        GEO:
·        这些组件有助于地图和从全球定位系统中转换到XYZ坐标的坐标。
·         
·        FormatGEO- 采用NMEA格式的GPS坐标,并将其转换为十进制度。
·         
·        XYZ –> GEO- 犀牛/蚱蜢地图中的XYZ坐标转化为经度,纬度和高度。
·         
·        GPS –> GEO – 将地图经度,纬度和高度转化为XYZ坐标。
·        KML:
·         
·        KML导出 – 导出点,曲线和网格到KML文件。导出前边界进行网格划分。 我们会尽快添加支持边界。我们也会尽快添加对象的属性,如颜色,透明度,线宽,线颜色,等。
·         
·        KML属性 – 添加填充颜色,线条颜色和线宽导出KML对象。
案例一: KML 模型导入进谷歌地球
打开GEO文件夹里的犀牛文件cph_file,把文件gHowl_KML拖进GH,便会看到犀牛地图上出现了模型。
    KML Style 是输出模型在谷歌地球上浏览时的填充颜色,边缘线的颜色以及线宽。
KMLExporter 输入端一目了然,
1. KML文件保存路径
2. 输出的物体
3. 风格样式,链接KML Style
4. 在谷歌地球中截图前选好一个锚点作为参考点,在犀牛里的背景地图上以此锚点为参考点。参考点一般为地图的左下角或者右上角
5. 将谷歌地球中参考点的坐标输入给EAP_GPS(经度,纬度,海拔高度)
6. 高度模式,经测试,absolute模式和relativeToGround模式几乎没有什么区别, 但是clampToGround 模式下,模型将嵌入地面。如图:

那么问题来了,为什么不直接输出挤出的多重曲面而是转成简单网格,因为当你导出多重曲面到KML格式用谷歌地球打开还是会被网格化,而且不是最简网格。如图:

而在GH里优化过的简单网格输出KML格式打开是比较便于观察的,另外输出的点会作为地标锚点,是否输出线和点根据需要决定。如图:
案例二:GEO_xyz 根据参考点和参考点的坐标(经纬度+海拔高度),得出其余点坐标(经纬度+海拔高度)
这个就很简单了,还是之前的犀牛文件,打开GH文件 gHowl_GEO_xyz-geo,一样是之前的找参考点,输入坐标,得出其他点的坐标。


案例三:GPS_importData 导入数据
还是同样的犀牛场景文件,最左端的电池链接存有数据的EXCEL表格 CPH data.csv, 但是大家会发现第二个电池依然是报错的,表弟也着实在这头疼了一阵,然后重新拉一个同样的运算器 ReadFile居然好用了,好吧好吧,这是在坑爹呢。。。
将表格里得出的点转成坐标
和之前的方法一样,只不过是左下角和右上角各找一个参考点。
上面的拉杆控制幅度,下面的选项列表此案例中有温度,光照和二氧化碳三种可以选择。这三种数据都是来自表格里的数据。
这里List item的index数值根据数据在EXCEL表格中第几竖列决定。如果是第一竖列,那么index=0。
案例四:Terrain 制作3D地形
Holy shit! 之前大费周折做了半天的3D地形,在GetElevation这个组件面前显得那么的乡村非主流,那么low。其实这算是大家都想用到的RhinoTerrain的山寨版,免费版。
当然大家都想用高大上的,可是这货要1500大洋,我等宅狗望洋兴叹,那就只好用山寨版的了。。。来个伪高大上。但是,注意:GetElevation这个组件要连接谷歌官网,大部分时候是需要翻墙的!!
打开犀牛文件Terrain, 并且打开对应GH文件。对应地图的名字,将图片素材链接进来。然后就成了!不仅可以得到等高线,还有附了材质的地形。

但是又有的基佬会问了,这是什么鬼啊,这么差的精度和贴图质量,明明就是卖家秀和买家秀的差距啊。莫慌,,,
  此处细分越多,得到的点越多,地形质量越高,等高线越精确,材质越清晰。此处试验UV都输入200,结果如下:
       点越多,运算时间越长。另外,有时候由于翻墙网速不稳定,会导致GetElevation组件运算时间很长,短则十几秒,长则5分钟以上,所以要有耐心啊,泼猴!
终于,前两部分已经搞定了!看累的基佬们,如果感兴趣可以收藏了有空继续看。因为精彩的都在后面哟!我要开始表演魔术了,用我的小凤6Plus 来玩GH了,就问你信不信,其实之前我也不信,,,,但是摆弄了一会发现确实能用0.0 。虽然一开始让我学习编程,我是拒绝的,但是当我知道processing和gHowl能给GH添加各种duangduangduang的特效之后,我义无反顾献身了!

UDP 硬件和编程软件的交互组件
官方解释:
·        UDP组件现在可以发送和接收组播组。发送或接收到组播组时,请确保您使用的IP范围在224.0.0.0-239.255.255.255。
·        OSC功能由PaulVarcholik定制OSC图书馆提供。
·              网络源 – 测试你的机器到网络的连接。
·              UDP发送 – 允许通过网络发送的UDP报文。还允许OSC消息发送到OSC功能的软件和硬件设备。(删除0.7.0057组件 GH/犀牛崩溃)
·              UDP接收 – 允许发送和接收UDP消息。还允许OSC消息和捆绑(从Reactivision为例)的接收。(删除0.7.0057组件 GH/犀牛崩溃)
·              OSC通道 – 该组件允许一个单一的OSC通道的存储。更改组件的昵称来存储地址的数据。
·              OSC调度 – 该组件允许来自多个OSC地址数据的存储。


和我一样的大多数建筑系学生看到UDP,OSC乱七八糟的缩写大脑瞬间爆炸,WTF!这都是什么鬼,没办法,找度娘吧。
简单说,UDP(UserData Protocol,用户数据报协议)是与tcp相对应的协议。它是面向非连接的协议,它不与对方建立连接,而是直接就把数据包发送过去! OSC是(Open Sound Control)的缩写。
UDP还有30秒到达战场,请做好准备!该蹲草丛蹲草丛,该插眼的插眼啊!
准备工作:下载安装 简单易学的画图交互软件processing,地址http://ww.processing.org,安装好之后把gHowl案例文件夹中UDP文件夹第一个P5的库文件夹打开,全部解压
把上面的五个文件夹复制,粘贴位置要注意,是P5安装位置的modes文件夹——java——libraries。复制完如图
如果不知道什么是P5(Processing)的话,那我强烈推荐下面入门视频,看完必怀孕,暗流前辈极其猥琐的,是德艺双馨的苍老师门下大弟子。

案例一:OSC_Mouse2D  鼠标二维控制
热个身先,新建犀牛文件,把GH文件拖进来,并且打开P5文件。
点击左上角RUN或者CTRL+R(CMD+R),效果如视频


UDP接收器,因为此案例是在本机上运行,所以不需要填写IP地址,端口Port和P5里面设置的相同,12001.Pattern接收形式是UDP。
UDP发送器,同上,端口和P5里面一致12000,pattern依然是UDP也就是999。可是试着拉动左边MD Slider,看看P5面板下方数字的变化。
案例二:手机与GH数据交互
先说好了,不许打脸啊。。。。给大家推荐一款APP,TouchOSC, 是用来交互使用的APP。只要36,你没有听错,只要36,牛逼APP带回家。这不是广告啊= =!如果想要免费的,可以下载个MRMR的APP用着,肯定要差上一些啦,好货不便宜么。
下载TouchOSC之后,打开即可设置,OSC选项里Host填写同样连着WIFI的笔记本的IP地址,输出端口和输入端口自由设置,只需要和GH里面保持一致即可。MIDI Bridge同样设置为笔记本的IP地址。选择完成就能进入默认的模板,有很多种,当然每个按键都有不同的功能,右上角闪烁绿色是发出信号,闪烁红色是接收信号。但是由于表弟的编程还是青铜五的水平,所以只能滥竽充个数。日后慢慢研究了。。。。
案例三:使用手机在GH生成球体
操作同上,当我们在熟悉P5或者Arduino之后,就会游刃有余的结合GH生成我们想要的形态或者是分析与模拟。
案例四:接收鼠标位置
打开文件夹 gHowl_UDP_receive_MousePos, 打开GH和P5文件,效果如图
案例五:发送数值
打开文件夹gHowl_UDP_send_Value, 打开GH和P5文件,滑动拉杆,效果如图
案例六:发送和接收
打开文件夹 gHowl_UDP_Send+Receive_agents, 打开GH和P5文件,滑动MD拉杆,效果如图

案例七:正弦声波信号
打开文件夹gHowl_UDP_sound, 打开GH和P5文件,在P5的作图窗口中移动鼠标,效果如图
案例八:接收弹力
打开文件夹gHowl_UDP_springs, 打开GH和P5文件,在P5的作图窗口中移动鼠标,效果如图
案例九:浮游
打开文件夹gHowl_UDP_swarm, 打开GH和P5文件,在P5的作图窗口中频繁点击鼠标,效果如图

案例十:接收摄像头
打开文件夹gHowl_UDP_webcam, 打开GH和P5文件,效果如图!
    当你第一次在犀牛中看见时刻做出动作的自己是不是倍感亲切,觉得离犀牛更近一步,觉得P5是如此的神奇,可以将声音,图画,数据和GH紧密关联,这一切还要归功于gHowl!我们的单身狗同志!
    尤其需要注意的是在这一步中,P5中的JMyron这个库需要在32位下运行,这导致了大部分人无法成功运行,查了好多资料后,我的建议是,下载个32位的P5,然后按老方法把库复制到libraries里,然后在JMyron0025文件夹里的Extra DLLs里的两个dll文件要放置在以下几个位置:
1.    32位的P5安装所在文件夹
2.    C:\Windows\System32
3.    C:\Windows\SysWOW64
这是我目前发现的比较稳妥的方式。当然其他的库也不要忘记放到libraries里面。
    说了这么多,也总算写完大部分了,后面的两个案例文件夹说实话,我是真的心有余力不足。。。不是我的肾不好,是我如果把这两个文件夹研究明白了,我绝对肾亏了。VVVV这个文件夹的案例,虽然我安装了VVVV,也尝试打开这些案例,但是看着心烦的西班牙文以及更加冷门的VVVV让我心灰意冷了。。。。至于XML案例文件夹多为和网页网站的交互,我目前还不知道怎样能和建筑关联起来。也罢也罢,从吃完晚饭7点到现在凌晨4点,也是磨磨唧唧地花了9个小时写了5千多字。可能是急着和大家分享这些靠着自己坚持不懈地努力一点一点发掘研究的成果,越写越High。可是谁都知道,这仅仅是入门,在我学好P5以后,我定会再来挑战一番,尽快给大家带来有趣的分享。
个人推荐P5学习途径
微博——
任远媒体实验室, WENZY--, Prezi_暗流
书籍——
中文《爱上Processing》《Processing权威指南》《代码本色:用编程模拟自然系统》《Processing互动编程》《交互式程序设计》《可视化数据》
英文《Learning Processing》《Generative Design》《Programming Interactivity》《The Nature of Code》《Processing: AProgramming Handbook for Visual Designers and Artists》《GenerativeArt》《Visualizing Data》
网站——
http://foundation.processing.org
https://github.com/orgs/processing/people
https://processing.org/
https://processing.org/reference/
https://processing.org/reference/libraries/
http://www.openprocessing.org/
视频——
http://i.youku.com/u/UMzY0MDQyODIw/playlists
结尾:
    表弟我向来是个有耐心有爱心,乐于助人的人,所以发现网上没有相关教程和资料的时候就觉得是时候凭借自己微弱的力量为犀牛社区做点贡献了,毕竟中国本土的学生和建筑师这么多年一直在奋力追赶效仿国外名校和设计师,我们是勤奋努力的东方人,只不过现在还没有集齐7颗龙珠罢了,集齐的那天定会召唤出一双阿迪王,踏平世界!喜欢一起研究gHowl和P5的朋友可以加QQ351951511一起学习研究,晚安,么么哒!








作者Alex Tsui  2015.09.07

评分

参与人数 3技术 +12 坛币 +30 收起 理由
shadow + 4 + 10 很给力!
simonchen + 4 + 10 Wow!好丰富的应用,特别喜欢是与外界的连接.
Jessesn + 4 + 10 很给力!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2 分享分享
您需要登录后才可以回帖 登录 | 注册成为会员

本版积分规则