大数跨境
0
0

分享 | 应用dynamo创建曲面桁架

分享 | 应用dynamo创建曲面桁架 BIM 酷族
2019-07-09
1
导读:仔细研究既有案例也是学习。我们愿意分享心得。

   近期,小编学习dynamo入迷,昨天晚上就想分享这么一个案例项目。当然这些也都是网上可以找到的相关教程,只是我们根据自己的理解又抄了一遍罢了。

   

   好了,现在分享一下这个dynamo案例工程:

  

   任务:通过拾取一条曲线创建曲面桁架。

  

   基本方法1、体量+网格+自适应杆件

                     2、dynamo运行程序+自适应杆件

        第一种方法,包括自适应构件族的创建,本篇就不再详细介绍了。本案例是采用第二种方法,这里有三个关键点:

       1.dynamo拾取解析revit中的曲线;

       2.dynamo划分曲线中的点;

       3.dynamo放置基于点的自适应族。

     

  操作步骤:

      

     step1:在Revit中画一条模型线,创建select Model Element节点拾取该线,识别线,并将该线上下偏移(Curve.offset)一定量值(number)。这样就形成上、中、下三条线。其中中线就是起始创建的模型线,作为拟建桁架的中心线,向下偏移的线即为下弦杆中心线。

    step2:再继续分线。上弦杆则通过中心线向两侧偏移,形成两根上弦杆的中心线。Vector.ByCoordinates节点创建向量,Geometry(几何图形)通过向量平移(Translate),形成新的Geometry;反向向量平移则需要通过Vector.Reverse进行向量翻转,再通过Geometry.Translate节点,形成新的几何图形。平移前的几何图形输入均为Step1通过Curve.offset形成的Curve。这里这里是上选个,则该Curve为通过number(200.00)向上偏移形成的线。

    以上步骤就完成了基准线的创建,分别为桁架、下弦杆、上弦杆(正向)、上弦杆(反向)四条曲线。

    

     step3:根据线长度分点,确定分点原则。Curve.Length读取线的长度值,等距(Number赋值)均分,向上去整数值(Math.Ceiling)。确定以上所有线的等分数。number可以根据设计取值。

    

    step4:获取杆件上分格点的列表。输入即为偏移(-200)的下弦杆中心线。确定这根线的EndPoint、StarPoint以及根据分点数量确定线分格点的列表,拍平(降维)后,通过List.Join形成新的点列表。暂且放在一边。

step5:同理找出下弦杆上的5个点(包括endpoint、startpoint)


      通过List.chop重新组合以上五个点的列表,让endpoint、startpoint位于列表两端,并通过AdaptiveComponent.ByPoint节点使自适应杆件载入,并创建成下弦杆模型实体。

     创建5个点的目的就是和自适应构件匹配,自适应构件设置5个适应点就是为更好的适应曲线变化。

    相同的方法,创建其他两根上弦杆的实体模型。

     通过以上节点即完成了通常弦杆的创建。


step6:下一步的工作就是创建弦杆间“环形”弦杆,将三根通长弦杆形成整体。这时step4创建的下弦杆的点就要用上了,同样的方法创建两根上弦杆的point list。方法是一致的,无非就是curve的输入不同。

   由于每根杆件的点的数量均是相同的,任意选择两个上述程序形成的list并链接,则形成新的链接通常弦杆的点列表,同样通过AdaptiveComponent.ByPoint节点,载入自适应杆件。

    运行一下,则形成如下结果。

step6:这一步创建下弦杆到上弦杆间的斜向弦杆。这时候的点则需要交叉组合,即重新对点组合排序,形成奇偶组合,通过AdaptiveComponent.ByPoint节点,载入自适应杆件。形成斜拉杆。这里注意code Block的表达式。

       同样道理,创建其他斜弦杆。

   

如此,该dynamo运行程序完成。点击运行,形成曲面桁架模型实体。


附加任务:

复习一下之前学习的内容,统计出改模型的构件ID及杆件长度


思考:有没有更简便的方法呢?


1、代码的简化,是否可以用Code Block代替繁杂的表达,让dynamo看的更加清爽。

2、是否可以直接用dynamo直接生成弦杆,而不用在重新建族,通过节点载入创建。应该是可以的。


      文末送上福利:关注转发积攒10个,保留2小时,获得本案例模型及dynamo文件。


        今天就分享到这里,最后感谢“BIM二狗子”在其公众号“Revit教程”中的案例分享;感谢好朋友温皮、console的指导与帮助;感谢“一群学dynamo的小白”微信群群主杨涛先生.......

识别二维码,关注我们


中正信数字科技,用心服务

BIM咨询|BIM实施|构件族库


【声明】内容源于网络
0
0
BIM 酷族
分享Revit族及项目创建技巧,及BIM应用案例。
内容 277
粉丝 0
BIM 酷族 分享Revit族及项目创建技巧,及BIM应用案例。
总阅读8
粉丝0
内容277