博客

  • grasshopper水立方表皮建模算法

    grasshopper水立方表皮建模算法

    接着昨天发布的软包模型制作的教程,继续深化软包(水泡)的算法。,昨天那个软包的几个点我自己差点都看晕了,生成的那几个点很难看清楚之间什么关系,这次我改进了下这个软包的算法,再加上文字的标记,总算能看得清楚了。

    下图中不管是向量还是中轴线都必须用点来指定的,一定要搞清楚点的关系。相比至于昨天的算法,这次我把那些数据的拍平都在分组,这样的好处是他们的路径关系更加统一,这样利于数据之间的匹配。


    ​这个算法电池图:

    关键字:grasshopper 水立方表皮犀牛 voronoi

  • Grasshopper水泡表皮制作算法

    Grasshopper水泡表皮制作算法

    grasshopper软包(类似水立方表皮的效果)教程

    效果见下图这个


    方法:


    1. 创建闭合的平面曲线
    2. 寻找曲线图形的中心点
    3. 制作垂直于曲面的中轴线
    4. 绘制软包的截面曲线
    5. 截面曲线沿着中轴线旋转成型

    截面曲线


    截面曲线是用grasshopper的贝塞尔曲线运算器(BzSpan)生成的,这个运算器A和B两个端口输入曲线的两个端点,At和Bt两个端口输入相对应两个点的法线方向(点的指向方向),这里法线方向我用两点向量(Vector 2Pt)生成,注意At的方向要与中轴线垂直,而Bt的方向则要与平面曲线垂直。

    算法:


  • grasshopper寻找已知点投射到曲面的映射点(最近点)

    grasshopper寻找已知点投射到曲面的映射点(最近点)

    寻找映射点我上次写过这篇文章《grasshopper找到一个曲面上任意一个点并作这个点的法线方向》大家可以去看看这种寻找映射点的方法。

    所谓映射点其实就是点在曲面的投影点,看下图:

    投影点和原来的点的连线刚好与该曲面垂直,也就相当曲面这个点位的法线了。

    算法相当简单,我就不多说了。有几个运算器的位置稍微提一下。

    [intense_table bordered=”1″ columns=”运算器,位置,作用” data=”①Brep CP,Surface Analysis,找出投影点,P输出点。D输出两点之间的距离,②Vector 2Pt,Vector Vector,两点形成向量,③Vector Display,Vector Vector,在视图中显示向量的方向标示” /]

  • 如何在grasshopper中用布尔值删除对象

    如何在grasshopper中用布尔值删除对象

    如何在grasshopper中用布尔值删除对象?

    一般用Cull Pattern运算器删除对象,它的P端口输入布尔值列表,如上图输入三个布尔值,列表顺序是False True True。当输入值等于False时就删除数据,值等于True时就保留数据。

    布尔值也可以用数值来替代,非0的值当做布尔值输入时会自动转化为True, 等于0的值会转化为False。如下图

    image.png

  • grasshopper-MetaBall使用方法

    grasshopper-MetaBall使用方法

    [intense_hr type=”solid” size=”large” title=”MetaBall作用” title_tag=”h3″ title_background_color=”#ffffff” title_position=”left” icon_type=”android” icon_position=”left” icon_size=”1″ icon_color=”#1a8be2″ /]

    制作地形等高线、两个或两个以上的圆形平滑衔接而成的图案,类似下面这个图

    [intense_hr type=”solid” size=”large” title=”MetaBall使用方法” title_tag=”h3″ title_background_color=”#ffffff” title_position=”left” icon_type=”android” icon_position=”left” icon_size=”1″ icon_color=”#1a8be2″ /]

    运算器的位置在Mesh_Triangulation页面里

    P端口输入生成圆形曲线的圆心点。

    X端口输入”吸引“曲线的边缘的控制点。

    A端口输入最终生成的曲线的平滑度,取值在0 到1.0之间,值越小曲线月平滑

    [intense_image imageurl=”” /]

  • revit参数化楼梯族和窗族完成,分享一些小小族制作经验

    revit参数化楼梯族和窗族完成,分享一些小小族制作经验

    昨天上班终于可以清闲一阵了,基本没有什么教学任务,没有其他事物干扰时工作学习还是挺有效率的,仅仅是花了一个下午的时间琢磨,就对Revit的建模原理有完全不同的认识了。

    根据以往应用参数化(比如Grasshopper)的经验,而且把这个经验完全套用到Revit上也完全适用–数据的传导。我们使用参数化建模,要让模型千变万化,与众不同,这样必须做到数据的传导符合逻辑,数据之间必须存在某种联系或者传递(传递:即B的参数是由A的参数变化过来的)。

    那在Revit中同样也需要这样的数据逻辑。我昨天制作几个Revit的简单构建族,我发现Revit参数很重要一个特点就是新制作的模块很大程度上要依附于老的模块。这怎么理解呢,打个简单的比方:飘窗的窗框底边就要对齐飘窗台,对齐后可锁定两个之间的位置关系。而这种依附关系就是上面所说的数据传递了。

    制作Revit族从本质上就是理清建筑构件之间的位置关系,跟以往的建模工具相比所不同只是确定位置的表达方式不同而已。下面我把Revit和其他软件做一个简单的对比。

    [intense_table bordered=”1″ columns=”软件,对齐方法,数据调整” data=”grasshopper,找点或线的位置生成平面,slider调整或数学运算器关联,Revit,对齐工具锁定或点捕捉,添加尺寸参数,3dmax/Rhino,捕捉点的位置,视图上调整点线面位置,没有参数调整” /]

    几个做好的族文件:[button link=”http://pan.baidu.com/s/1qWCsL8S” newwindow=”yes”] 族文件免费下载[/button]

    后记:本来今天早上就写了这篇文章,但是没有写完我就出去看了场电影(美国队长2),回来后发现电脑没关,写文章的编辑器也是开着的。好吧,今天就写到这里,过几天Revit再进一步的话再说说制作Revit族制作感想。

     

     

  • grasshopper让数据重复出现的方法

    grasshopper让数据重复出现的方法

    前段时间写的这篇文章分享了grasshopper绘制波动曲线的方法(详情点击这里《3dsmax模型贴图丢失应该怎么找回》),可能有些同学不怎么理解曲线函数的使用方法,今天呢再来一个更为简单的方法实现这种波动曲线,而且更加自由的控制的形态。

    今天说说的这个运算器叫“Repeat”。

    [intense_hr type=”solid” size=”large” title=”Repeat” title_tag=”h3″ title_background_color=”#ffffff” title_position=”left” icon_type=”android” icon_position=”left” icon_size=”1″ icon_color=”#1a8be2″ /]

    Repeat的作用是让数据重复出现,它的L端口指定重复数据的数量,比如输入是数据是1 -1这样的数据,那如果数量为3的话,那输出的数据组合便是1 -1 1。

    生成曲线实例

    [intense_image imageurl=”https://pic.yupoo.com/ycds_v/DG80wCjz/nTMjg.jpg” /]

     

  • grasshopper寻找曲面的任何一个点第二种方法

    grasshopper寻找曲面的任何一个点第二种方法

    昨天使用一个简单的方法可以找到曲面上的一个点《grasshopper找到一个曲面上任意一个点并作这个点的法线方向》,不过这个方法有个弊端就是不大容易控制点的位置。特别是寻找接近边缘的点,控制不好,找到的点就偏离原有曲面了。这次我换了另一种思路来来实现这个功能。

    [intense_hr type=”solid” size=”large” title=”原理” title_tag=”h3″ title_background_color=”#ffffff” title_position=”left” icon_type=”arrow-right” icon_position=”left” icon_size=”1″ icon_color=”#1a8be2″ /]

    找出曲面的边界(上图①编号运算器器),把边界定位到原点坐标上(上图③,至于②的作用是找定位点),再找到这条边界的任意一个点(④号运算器),⑤号运算器的作用是算出改点所对应曲面位置的“结构线(ISO Curve)”,输出的结构线有两条,那我们这里只要与之前那边界垂直的一条再算出这段曲线的任意一个点即可。

    [intense_hr type=”solid” size=”large” title=”本期出现的运算器” title_tag=”h3″ title_background_color=”#ffffff” title_position=”left” icon_type=”arrow-right” icon_position=”left” icon_size=”1″ icon_color=”#1a8be2″ /]

    ①Brep edge:抽离曲面的边界。

    ②End Points:输出线段的端点,有一个起点,另一个是终结点

    ③Orient:对齐平面,关于orient这里有一篇以前的写的文章《grasshopper运算器-点坐标定向(orient)

    ④Point On urve:寻找曲线上的点。《grasshopper寻找曲线的中点

    ⑤ISO Curve:抽离结构线

  • grasshopper找到一个曲面上任意一个点并作这个点的法线方向

    grasshopper找到一个曲面上任意一个点并作这个点的法线方向

    grasshopper找到一个曲面上任意一个点并作这个点的法线方向,如上图所示。

    [box] 注意,Evaluate Surface 这个运算器的uv输入端口输入的这个点(或多个点),它的点坐标不能超过输入曲面的展开uv坐标,否则生成的点和法线都偏离这个曲面。如下图:这个点不在平面坐标系的第一象限里边[/box]

    [intense_image imageurl=”https://pic.yupoo.com/ycds_v/DFlucdDK/bXv2j.jpg” /]

    [intense_hr title=”运算器的作用” title_tag=”h3″ title_background_color=”#ffffff” title_position=”left” icon_type=”angle-left” icon_position=”left” icon_size=”1″ icon_color=”#1a8be2″ /]

    找到点到曲面的位置后,一般可以用于绘制垂直曲面的曲线或者紧贴着曲面的图形,当然也能在垂直于曲面作各种变化,因为它的输出端口中F输出的是平行曲面的平面,上图红色的网格面就是生成的平面。

     

     

     

  • 公司培训revit这两节课里遇到的几个问题

    公司培训revit这两节课里遇到的几个问题

    [vc_row][vc_column width=”1/1″][vc_column_text]最近公司请来Autodesk公司的工程师过来给我们公司员工培训Revit技术,由于上课时间短和工程师自身日程安排原因,感觉有很多东西都讲得很仓促,比如也些很简单很简单的基础部分知识都没有讲到,当然这个跟公司的领导“打诨插科”(-_-|||)也有关系了。

    今天也在办公室里捣鼓一下,肯定也遇到一些问题,先把这些问题都列举下来,好让下一节可一并问问授课老师。

    1. revit公式的使用
    2. 自己创建的柱子族不能对齐楼层线(已经解决)
    3. 参数分组方式
    4. 为什么创建的拉伸(柱子)要锁定四个边长
    5. 环形阵列的使用方法
    6. 没有办法做多段线一起偏移
    7. 原本在立面视图绘制的截面,画图不注意画到平面视图去了,能指直接旋转对象么?

    [/vc_column_text][/vc_column][/vc_row]