博客

  • 关于Revit老虎窗的制作的一点心得

    关于Revit老虎窗的制作的一点心得

    指出官方的错误:然后从老虎窗线段的一端到其中点绘制坡度箭头


    关于这点我不得不吐槽一下,官方的说法是一端到(就是下图的端点的字样)其中点绘制坡度箭头,事实上这样的做法是不大正确的,我根据这样做法生成的屋顶简直不能看,前面的老虎窗把屋顶都“拱裂了”。就是这个问题在今天上班时候解决不了,直到晚上下班回家也一直放不下心来。

    回到到家之后马上就开启Revit再来解决这个问题,当我重新绘制这个坡度箭头的时候就在想,这个坡度箭头总不会是仅仅是标示坡度的方向吧,如果不是的会应该是还有其他的含义,凭借我有点Grasshopper的经验估计它应该还有标示大小的用处,至于这个是表示屋顶的坡度还是屋顶的角度,那还是没有办法确定的。

    那我这个坡度箭头的末端不定位到线的中点,而是到这条线的另一端上,那这次生成的屋顶的坡度就小了,可见这个箭头长度我们可以认为是老虎窗屋顶的斜坡长度。当然这个我还没验证过,只是暂时的一个结论。

    大家看下图,蓝色的箭头就是老虎窗的坡度斜角。


    下面这个是Autodesk公司使用手册的的做法,大家参考小,注意下面高亮标注的就是我上面吐槽的内容

    使用坡度箭头创建老虎窗

    1 绘制迹线屋顶,包括坡度定义线。

    2 在草图模式中,单击“修改 | 创建迹线屋顶”选项卡 “修改”面板 (拆分图元)。

    在迹线中的两点处拆分其中一条线,创建一条中间线段(老虎窗线段),然后单击“修改”。 

    3 如果老虎窗线段是坡度定义 (),请选择该线,然后清除“属性”选项板上的“定义屋顶坡度”。

    单击“修改 | 创建迹线屋顶”选项卡 “修改”面板 (坡度箭头),然后从老虎窗线段的一端到其中点绘制坡度箭头。 

    坡度箭头的正确放置

    再次单击“坡度箭头”,并从老虎窗线段的另一端到其中点绘制第二个坡度箭头。 

    正确绘制的坡度箭头

    单击 (完成编辑模式),然后打开三维视图以查看效果。 

    带有老虎窗的四坡屋顶

     

     

  • Revit学习小记-视图与标高的关联

    Revit学习小记-视图与标高的关联

    Revit学习小记


    视图与标高的关联:

    • 新建的建筑模板的平面视图可能会跟后面新增的标高不相匹配,会导致新建的构建的标高起点位置的偏移的问题。比如在标高1的物体,标高起点可能跑到标高2去了。

    • 解决办法:先把模板预设定的平面删除–》点击视图菜单的平面视图–》楼层平面菜单–》弹出新建楼层面板

    • 新建楼层面板选择相应的标高,默认情况下“不要复制现有视图”是勾选上的,这里还是把它去除,这样就可以选择被隐藏的标高了。

    • 进入新建的平面楼层视图绘制的物体的标高就与上个步骤选择的标高一致了。如果新建的时候标高选择错误的话,也可以在“属性”面板中修改:属性–》范围–》视图范围–》编辑–》弹出视图范围编辑对话框

  • 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:抽离结构线