博客

  • grasshopper系列文章-曲面区间(domain)

    grasshopper系列文章-曲面区间(domain)

    今天我们来讲解Grasshopper的曲面区间的用法,关于曲面区间用官方的解释来说是这样的:

    • 包含二维域的集合。 2D域通常用于表示表面碎片。 二维域由两个一维域组成。
    • 2D域可以从1D域实例化自己。 一维域将同时复制到U和V组件中。
    • 2D域可以从所有表面类型实例化自己。 在这些情况下,表面域是重复的

    上面这段文字是不是很难理解啊,下面我会通过一些简单的小案例尽量的帮助大家来了解下这个Grasshopper的运算器。

    undefined

    Construct Domain2:建立曲面的区间,这个工具有两个,作用都是一样的。

    undefined

    在上图中,拉动数字滑竿调整改变创建的曲面区间,曲面区间输入ISOTrim运算器(这个运算器用于切割曲面的),切割的曲面也跟随改变。

    Deconstrust Domain2:分解曲面区间,能得到曲面UV值的最大值和最小值

    undefined

    Bounds 2D:通过平面上的点集合生成曲面区间,算法如下图所示。

    img

    Divide Domain :等分曲面区间,把区间分为平均的等分,比如下面的算法,大家可以下面的这个算法套用到上面Isotrim那个算法去看看会发生什么奇妙的事情。

    img

    [elementor-template id=”7418″]

  • Competition: win a copy of We Build Drawings by Mikkel Frost

    Competition: win a copy of We Build Drawings by Mikkel Frost

    在我们最新的竞赛中,我们为10位读者提供了获得CEBRA建筑工作室创始合伙人Mikkel Frost的素描和水彩画书籍的机会。

    丹麦工作室通过精选项目中的200多幅艺术品展示了建筑师对图纸的关注,这是一种在设计过程中有效传达思想的有效方法。

    这本书的标题为《我们建造图纸》,优先考虑Frost的观点,即建筑师不建造建筑物,而是建造一个想法:“要可视化,”他解释说,“我们建造图纸”。

    我们已经与建筑师和Frame Publishers合作,向10位获奖者赠送了一份《 We Build Drawings》。

    undefined

    该出版物是继他去年在TEDxAarhus上发表的演讲之后的,该演讲的标题是“ 让您的手指说话”!。谈话的记录作为介绍在书的开头打印。

    在其中,他证明了自己的风格是正确的,并提出了绘画的方法,以吸引那些努力阅读技术架构计划的组织和客户。

    undefined

    弗罗斯特在谈话中解释说:“我已经开发了一种基于卡通和漫画书的绘画新类型,这是人们熟悉的一种视觉语言。”

    他说,项目的抛光效果图使完成的建筑物可视化,但省略了构成设计思想的理由。

    undefined

    在一个例子中,弗罗斯特(Frost)说明了CEBRA的住宅和办公大楼The Iceberg。该项目的重点是开放从街道到附近港口的路径,那里的水四分之三围绕着场地。

    为了说明设计,弗罗斯特(Frost)使用细分的直角三角形模仿光线折射出的水,深入研究了鱼类栖息的水下风格场景。

    在水彩渲染的建筑物上方,以图解的顺序说明了工作室的过程以及为最大限度地利用自然光而开发建筑物的方式。

    本书继续包括更多建筑师的线条图和快速草图。这些都是用手工注释的,并与描述他创作过程的其他水彩画分开。

    undefined

    书中弗罗斯特的水彩画都是在确认项目的建筑概念后才创建的。

    建筑师解释说:“从这个意义上说,[水彩]可以用作概念上的句号。“

    弗罗斯特还建议,如果一个项目无法在一个A4页面中解释,那么“您要么说得太多,要么太复杂了”。

    他继续说:“这就是我绘画的原因-确保每个人都在同一页上。”

    undefined

    书中还包括阿布扎比的Qasr Al Hosn堡垒,这是阿联酋首都最古老的建筑中的文化改造项目。

    弗罗斯特(Frost)的水彩画描绘了沙色的多边形,围绕在水条上,与棕榈树种植的直线路径形成对比,以反映出旨在将现代化与埃梅拉蒂遗产相结合的项目。

    undefined

    弗罗斯特的几种水彩画于2016年被柏林建筑制图博物馆接受。

    博物馆基金会创始人谢尔盖·特乔班(Sergei Tchoban)的创始人说:“这些图纸会让您感到新鲜而又与众不同。“从它们的构成来看,随之而来的是独特的建筑语言。”

    这本书的背面包括索引,其中包含图纸所引用的所有项目的照片。

    每位10名优胜者将收到一份《 We Build工程图》,也可以在线购买。

    比赛于2019年11月7日结束。将随机选择10名优胜者,并通过电子邮件通知其姓名,其姓名将发布在此页面顶部。

  • grasshopper系列文章-数字区间

    grasshopper系列文章-数字区间

    从这一节课开始后我们要开学习Grasshopper的数学了,Grasshopper给我们提供各式各样的数学工具,有了数学工具这个强大的武器,即使是数学不好的同学也能够利用数学设计建筑。

    image.png

    在数学里,区间通常是指这样的一类实数集合:如果x和y是两个在集合里的数,那么,任何x和y之间的数也属于该集合。例如,由符合0 ≤ x ≤ 1的实数所构成的集合,便是一个区间,它包含了0、1,还有0和1之间的全体实数。

    Construct Domain:创建数字区间,比如创建一个10到20的数字区间

    image.png

    Deconstruct Domain:分解区间,分解区间后将会得到区间的两个极值,就是最大值最小值。

    image.png

    image.png

    Bounds:从数据列表中获取最大值和最小值,然后输出数字区间。

    image.png

    Consecutive Domains:划分区间,划分的方法有两种,默认情况下是这样划分的,请看下图

    image.png

    这个运算器的N输入一个等差数列(当然不是等差数列也可以的,等差数列是比较常见的用法),D端口输出划分后的区间集合

    这个区间集合的规律是等差数列的0项和1项组成区间1,1项和3项组成区间2,3项和6项组成区间3,……以此类推。

    开始项 结束项 输出区间
    0 1 组成 区间1
    1 3 组成 区间2
    3 6 组成 区间3
    6 10 组成 区间4
    10 15 组成 区间5

    如果A端口输入FALSE

    输出的区间则为下图所示:它会以输入列表的最大值作为结束端,输出等分的区间集合

    image.png

    Divide Domain:等分区间,按照输入的等分数等分大区间,输出等分后的区间集合,下图是[5,8]的区间划分了6等分

    image.png

    Find Domain:查询区间的序号,根据输入的数据就能查询包含这个数据的区间的序号,所谓序号(Index)就是Panel上最左边一列从0开始的编号

    下图中输入的值为6.350,经过查询找出它属于编号为2的这个区间(6 to 6.5)

    image.png

    Includes:判断数值是否包含在指定的区间内,如果是输出True,如果不是则输出False。

    下图中判断2和6.350这两个数是否在[5,8]这个区间,结果是False和Ture。

    image.png

    Remap Numbers:重映射区间,这个运算器在Grasshopper应用当中是很重要的,其作用就是改变原有区间的取值范围,比如[5,666]的区间的所有数字可以映射为[0,1]或其他的取值范围。

    如下图输入的值是0 1 2 3 4 5 6 7 8 9这样的等差数列数字集合,经过Remap后输出的结果被限定在0到1之间,Remap 的T端口就是输入限定的区间大小,默认值为0 to 1

    image.png

    [elementor-template id=”7418″]

  • grasshopper系列文章-一些小工具02

    grasshopper系列文章-一些小工具02

    好的,还是按照惯例来一篇Grasshopper的基础文章,今天的教程是Params最后一篇了,还是一些杂七杂八的小工具,大部分都不怎么使用的,大家只要简单认识下就好了,不过像Galapagos这种大牛才用的运算器我们都以后的课程再慢慢讲。

    image.png

    Data Dam:额…这个运算器不知道怎么解释了,就是给它输入什么类型数据,那它就输出什么数据, ̄ω ̄=,貌似没什么用。

    Data Recorder:数据录制器,在做动画时是有用了,以后有机会做用Grasshopper做动画的话我们再来演示一下吧。

    Relay:数据转接器,平时只要在Grasshopper的连接线上双击就会长这玩意,左键可以任意拖动其位置,右键可以起名字,如下图所示

    image.png

    Suirify:这个是新版本增加的,本人没有用过,这里不做解释了。

    Timer:定时器,作为动画的时间间隔,右键可以设定一些常用的时间间隔。想要了解其作用可以看看我以前写过的文章,点击下面的链接

    Grasshopper时间运算器Timer的使用教程

    Cluster Input 和Cluster Output:封装Grasshopper算法用的输入端口和输出端口,关于封装也留到以后再讲吧

    Data Input 和Data Output:输入和输出Grasshopper的数据

    Fitness Landscpape:食用方法不明( ̄. ̄)

    Galapagos:大名鼎鼎的遗传算法运算器,大家就看着文章吧,这个也是我早前写过的一个小例子,grasshopper的Genome(galapagos)运算器的使用方法

    Gene Pool:数据池,就是一堆数据的集合,有点像Number Slider

    [elementor-template id=”7418″]

  • 吹风机——Rino犀牛建模教程

    吹风机——Rino犀牛建模教程

    [b2_insert_post id=”https://www.3dscg.com/rhino-download-fengtong.html”]

    [b2_insert_post id=”https://www.3dscg.com/rhino-video-fengtong.html”]

    这节课我们用犀牛Rino来做一个吹风机,这个吹风机的整体结构比较简洁,但有些结构还需注意一下

    首先,把图层先设置好,另有些细小材质可在绘制过程中添加图层

    image.png

    用犀牛Rino吹风机物件用line直线先定个位,这个尺寸我太概一下,可以自己定,在这里只要比例不会差太多即可,下面我们先把底座先做了,使用Rectangle矩形命令,选择圆角(c),绘出圆角矩形,再用Offset偏移曲线,向里偏移10mm,用ExtrudeCrv拉伸命令拉伸尺寸大的圆角矩形15mm,拉伸时选择实体(S)=否,再拉伸里面小的圆角矩形,选择实体(S)=是,连接曲面可以绘制一条曲线当截面,用sweep2双轨扫掠绘制出曲面,(注意,双轨扫掠路径是要用封闭的曲线,所以要用DupEdge复制边缘线再把线段join组合成封闭曲线),如下图所示。

    image.png

    绘制吹风机把手部分,先在前视图上风口位、把手位、把手底部用直线定位好,再切换至顶视图定位圆心,使用Cylinder圆柱体命令绘制直径为30mm的圆柱体为把手,下一步绘制把手底部,在底座上用Circle绘制圆形直径为50mm,把切换到前视图用Curve曲线绘制把手底部的截面,用Revolve旋转曲线命令360度转一圈,绘出把手底部,最后切换到前视图,使用Circle圆形命令绘制一个50mm的圆形,然后用ExtrudeCrv拉伸命令,尺寸设置50mm向两侧拉伸,如下图所示。

    image.png

    选择风筒其他部分隐藏,切换至前视图,用 Rectangle绘制矩形,选择圆角(c),再用DupEdge复制风口边缘线,选择圆角矩形和复制出的圆形边缘线其他隐藏,切换至前视图用Curve绘制截面曲线,再切换至透视图可看到曲线偏移了,我们用SetPt对齐命令把曲线对齐,(注意在犀牛Rino里,可能会有同学对对齐这个设置点不知哪个方向来对齐,我们可以看左下角的经xyz轴来判断比较容易些)如下图所示

    image.png

    绘制另一边的截面曲线的时候也跟上面的方法是一样的,如下图所示

    image.png

    然后用NetworkSrf网格建立曲面命令,把吹风机的吹风口绘成如下图所示

    image.png

    用show显示所有物件,用同样做风口的方法来做背面进风口 也可以,还有种简洁的方法就是画出截面曲线,用Revolve旋转命令把它变成曲面,再用box 正方体或用矩形拉伸也好,绘成长条方体,把这进风口条Array阵列再把圆圈外的方体用trim剪切掉就行了,如下图所示。

    image.png

    下面我们把剩下的细节做了,就是一些按钮之类的小物件,所用方法就是在前视图上绘制外轮廓,如圆形和圆角矩形,再用Project投影到把手上,再切换到透视图,把这些外轮廓用Split切割出来,用OffsetSrf偏移曲面,把按键向外或向内偏移,这几个按钮都是用这种方法来绘制的。

    image.png

    吹风机建模-犀牛Rino教程就绘制完了,可看下如下图效果。

    image.png

  • grasshopper系列文章-一些小工具01

    grasshopper系列文章-一些小工具01

    今天我们来学习Grasshopper的Params的最后一个菜单Util,这个菜单里面被归类于小工具了,顾名思义就是它们都不太好分类,都是一些杂项的工具

    image.png

    我们来看看上图的这四个小工具。

    Cherry Picker:樱桃拾取器,它跟樱桃没什么关系,其作用就是用获取“数据列表”中“Item”。其中数据列表在Grasshopper是非常重要的概念了,现在不理解也没有关系,简单地理解为Panel里显示的数据就行了。而Item就是数据列表里面的数据个体。下图同学们试着改变Cherry Picker 的Index数据看看,看它输出的数据是什么。

    image.png

    Jump:节点跳转,双击其中一个节点可以瞬间传送到另一个节点,如果算法的版面过大,可以用这个小工具达到快速跳转。

    Param Viewer:用来查看数据的数据结构的,数据结构的概念现在也不好说,我们后面的Grasshopper课程再详细讲。

    下图的运算器中”Data with 1 branches”s意思是这个数据列表只有一个分支,{0;0}是数据路径,N=10是说明这个数据列表有10个Item

    image.png

    Scribble:手写体的文字注解。按住Ctrl键拖动字体还可以摆动字体的方向,有点趣味性。

    image.png

    [elementor-template id=”7418″]

  • Rhino建模实例-飞行器模型犀牛建模教程

    Rhino建模实例-飞行器模型犀牛建模教程

    飞行器模型犀牛建模教程-rhino建模实例

    创建以下的图层,在制图过程中有细节材质,可以再添加图层

    结构线图层是物体外轮廓曲线

    image.png

    在顶视图使用BackgroundBitmap(载入背景图)命令载入飞行器的平面图片。

    定位曲线边界线,绘制如下图的中轴线和结构线 ,绘制主体轮廓曲线时可以使用Mirror(镜像)命令

    注意:我整个飞行器外轮廓尺寸定在300*300(mm)

    平面曲线完成

    image.png

    切换到透视图绘制下图显示的曲线,这里要注意,在Rhino犀牛里如果把握不到曲线的弧度可以在前视图或右视图使用BackgroundBitmap(载入背景图)命令,载入飞行器的立面图片绘制侧面轮廓线。

    image.png

    使用NetworkSrf(网格建立曲面)命令,做飞行器主体结构表面,再用Mirror(镜像)命令,侧面厚度可用loft(放样),主体基本完成

    image.png

    注意使用NetworkSrf(网格建立曲面)命令时,选择路径时曲线分两段如下图所示 。

    image.png

    切换到顶视图沿着平面背景图绘制螺旋桨外框,使用Circle(圆形)选择P(两点)定位画出圆形,点选圆形曲线使用ExtrudeCrv(拉伸)命令,选择实体(S)=否 ,拉伸出没有厚度的圆管状,再使用OffsetSrf(偏移曲面)向内我偏移(我给的尺寸是10mm)。如下图所示。

    image.png

    在顶视图中沿背景图使用Curve命令绘制曲线,ExtrudeCrv(拉伸)选择实体(S),拉伸结果如下图所示。

    image.pngimage.png

    在螺旋桨外框,使用DupEdge(复制边缘线),复制出两段半圆形线用join命令组成一条圆形,ExtrudeCrv(拉伸)命令,选择实体(S)=否,如下图所示

    image.png

    使用OffsetSrf(偏移曲面)向内偏移7mm。在一上下之间画一条截面如下图所示

    image.png

    使用Revolve(旋转)命令旋转曲线一周,形成斜面,如下图所示

    image.png

    给它FilletEdge(建立圆角边缘)命令,圆角 边缘为3mm.

    image.png

    螺旋框底部绘制,在顶视图描绘出螺旋框底部轮廓图

    image.png

    螺旋框底部定位,使用Arc(圆弧)命令,选择起点(S),画弧线,如下图点选的两条黄色弧线,再把这条弧线用Revolve(旋转)命令旋转曲线一周变成弧面,类似锅盖。

    image.png

    切换在Rhino犀牛顶视图上,选择要切割的物体,其他隐藏,使用trim(剪切)命令,切成如下图所示

    image.png

    螺旋桨底部造型可分两层绘制,方法跟上图一样。

    image.png

    它侧面是一个倾斜面,在Rhino犀牛里我们可以用loft(放样)的命令来绘制,再Mirror(镜像)另一侧,如下图 所示

    image.png

    切换至顶视图,hide隐藏其他物件,先使用curve曲线和Circle(圆形)命令绘制螺旋桨托轮廓,再ExtrudeCrv拉伸7mm,然后FilletEdge(建立圆角边缘)命令,圆角 边缘为1.5mm,最后用bend(弯曲)命令,让物体稍有点弯就可以了。圆形则拉伸10mm,使用FilletEdge(建立圆角边缘)命令,圆角 边缘为2mm,放置位置如下图所示。

    image.png

    使用show(显示)命令,把物件放在适合的位置

    image.png

    这几个转轴可在顶视图使用Circle(圆形)命令绘制圆形,再ExtrudeCrv拉伸和FilletEdge(建立圆角边缘)命令,如下图所示

    image.png

    好,现在我们来绘制螺旋桨的叶片,切换至顶视图,还是一样用hide隐藏命令,把其他物件隐藏起来,用curve曲线命令描出螺旋桨叶片轮廓,join 组成一条封闭的曲线。

    image.png

    切换到透视图,一样用拉伸命令拉伸,再作条辅助线,使用 bend弯曲命令,把叶片弯曲一点,叶片完成

    image.png

    把叶片放在适当的位置后,在顶视上显示叶片隐藏其他物件,用ArrayPolar环形阵列命令,把叶片阵列三个

    image.png

    下面我们把一些细节方面处理一下,在Rhino犀牛里一样绘制 Circle(圆形)再ExtrudeCrv拉伸和FilletEdge(建立圆角边缘)命令,中间凹下云部分先绘制一圆形在上面,再用Split切割,注意:先选要切割的物体再点选圆形就能切到了,然后用OffsetSrf偏移曲面,把这曲面Explode炸散后删除表面,边角可以圆滑一些,用 FilletSrf圆角建立曲面即可,其他细节部分需圆角的也可以处理一下,如下图所示。

    image.png

    现在我们回到顶视图来处理一些细节的东西,把散热窗口绘制出来,使用Rectangle绘制一个矩形(尺寸自定),用Array 阵列命令,将矩形排开,再用Project投影至物体上,如下图所示

    image.png

    切换至透视图,先选择这个斜面物体,用Split切割命令选取投影到物体上的矩形,回车,再把切割出的矩形体删除,然后OffsetSrf向外偏移曲面0.2mm,再这个面Mirror(镜像)至另一面,如下图所示

    image.png

    好,我们现在看一下细节,把那些开关按钮制作出来,同样是在顶视图上,绘制圆形,把它投影到物件上,椭圆可用Rectangle矩形,选择圆角来绘制,然后再用Split切割命令,把物件割离出来放入所属物件的图层,用OffsetSrf向里偏移曲面0.3mm ,再Explode打散,把表面曲面删除就可以了,其他的细节参照此法即可,如图所示。

    image.png

    最后把螺旋桨这部分用Mirror(镜像)至另外三个地方,飞行器模型建模完成。

    image.png

    好,我们今天Rhino犀牛建模教程就到这里,如有不明白的地方可以在本节课下面的留言窗口留言,我会给大家一一解答关于Rhino犀牛技术问题,下节课再见。

  • grasshopper系列文章-文件导入器

    grasshopper系列文章-文件导入器

    image.png

    今天我们来认识下Grasshopper的一些导入器,这些导入器顾名思义就是导入各种类别的文件了

    Atom Data:这个输出PDB文件的参数,这种文件类型大家可以到这个网站去下载到,www.rcsb.org,该文件类型我本人也不了解的,有兴趣的同学自己去了解一下的。

    Import 3DM:导入犀牛的文件

    Import Coordinates :通过文本导入点的坐标,通常做建筑地形需要用到点的高程和绝对坐标。

    Import Image:导入图片文件

    Import PDB:导入PDB文件,这种文件类型大家可以到这个网站去下载到,www.rcsb.org,该文件类型大概意思是一些和蛋白质相关的点云文件,有兴趣的同学自己去了解一下的。

    Import SHP:导入GIS文件

    Object Details:输出物件的细节参数,比如文件的名字,图层名称等有用信息,如下图Layer输出了从犀牛获取的模型的图层名称

    image.png

    Read File:读取外部的文件

    [elementor-template id=”7418″]

  • grasshopper系列文章-图像采样颜色获取工具

    grasshopper系列文章-图像采样颜色获取工具

    我们今天来继续Grasshopper的学习,大家看封面图的标记,从1-8的标号分别是以下几个运算器

    image.png

    ①:Calendar,日历小工具,没错就会回回输出日历日期的插件

    ②:Gradient,渐变色,可以根据参数输出渐变的颜色区间,这个具体的作用我在后面的课程再详细讲解

    ③:Clock,时钟,就是输出当前时间,双击表盘还能更新时间

    ④:Colour Wheel,颜色轮盘,转动轮盘可以获取颜色

    ⑤:Colour Swatch,颜色取样器,点击色块获取颜色

    ⑥:Colour Picker,颜色取样器,这个是上一个的直接版本,就是不用点击开关取色,但是占用面积太大,不建议使用

    ⑦:Graph Mapper:这个是我们Grasshopper课程的重点运算器之一,也留在后面的几节课讲,有兴趣的可以先看下我写的这篇文章

    ⑧:Image Sampler:图像采样器,这个也重点运算器之一,作用就是根据输入的图像得到一些与图像颜色相关的数据,从而利用这些数据来生成模型,后面课程用单独例子来讲解这个运算器。

    [elementor-template id=”7418″]

  • grasshopper系列文章-布尔值开关和数值调节工具

    grasshopper系列文章-布尔值开关和数值调节工具

    今天我们接着来学习Grasshopper运算器的基础知识,今天课程的主要内容是关于布尔值开关和数字滑杆的其他样式的,这些运算器使用起来也非常简单。

    image.png

    Boolean Toggle:布尔值开关

    鼠标双击按钮可以切换Ture和False的状态

    image.png

    布尔值只有true和false,就是1和0,开和关,如果布尔值是1就打开某个东西,如果布尔值是0就关闭某个东西,常用在机械控制上,由c语言构成逻辑层,或者说逻辑流。

    在Grasshopper上设计建筑使用布尔值常常用于设定曲线的开启和封闭,判断点是否在曲面上等等情况

    可以用布尔值判断下图所示点的位置是否在曲线上

    image.png

    使用布尔值可以控制下图曲线的开合情况,如果设定为Ture就是闭合,设定为FALSE就是开启

    image.png

    以上的情况是非常常用的,以后我们还遇到不同的情况要使用布尔值运算器。

    Button:按键开关

    这个是布尔值开关的“即时板”,意思就是默认情况下按钮处于False状态,一旦按住按钮就切换为Ture状态,松开鼠标就变为False状态

    下图是关于控制开合曲线的基础算法,同学们可以“照抄”下图的算法,自己亲自尝试看看。

    image.png

    Control Knob:刻度旋钮

    可以理解为能够更为精细调整的数值的Slider Number吧,它在默认情况下能调整的数字范围是0-10之间。

    image.png

    Digit Scroller:数字滚动调节杆

    Slider Number的滚动版

    image.png

    MD Slider:一个不好翻译的Number Slider,它输出的不是一个数字,而是一个三维的点坐标,平时把它用作创建一个可以随意调节位置的点来使用,下图中Panel显示的输出值{0.506098, 0.542683, 0},代表了点的XYZ三个坐标值,Z值等于0,说明这个点是一个平面上的点

    双击面板可以设定XY的取值范围,如下图所示。

    image.png

    Value List:精简版的Number Slider,但是不能滑动了,下拉菜单可以选择数字,双击后可以添加数据,不过添加方法略显麻烦的,一般就是使用默认数值,其默认数值为one tow three four

    image.png

    [elementor-template id=”7418″]