利用Dynamo自动创建Revit楼板

本来打算利用假期时间更新两篇关于Civil3d和Dynamo的建模记录,结果回来录素材时发现带回来的电脑Civil3d打开文件总是错误。也不想折腾重装软件,所有暂时先割一下,回公司了再补上。

然后针对这一篇说明一下,这部分是前段时间看的炼金术—Dynamo基础实战教程里面的,觉得这一节对实际建模工作还是有很大的帮助,所以在这里记录一下。有需要的朋友也推荐去买来看看,对学习dynamo基础很有帮助。下面也将直接使用这本书提供的范例文件进行创建讲解。

利用Dynamo自动创建Revit楼板_第1张图片

打开范例文件可以看见有一个已经建立好的简单的结构框架模型。整个楼板自动创建的思路如下:

  1. 将框架结构组合成一个大实体;

  2. 利用楼层所在的各个标高平面与大实体进行“相切”;

  3. 获得组成“相切”曲面的curve线,并将闭合的的curve线转换成一个个封闭的polycurve线;

  4. 利用polycurve线创建标高。

利用Dynamo自动创建Revit楼板_第2张图片

上图上部分节点就是将整个框架组合成一个大实体,下部分节点是获取文件中的标高并在标高处建立个平面,然后利用平面和大实体求交集。

利用Dynamo自动创建Revit楼板_第3张图片

求得了交集的曲面,就获取其构成曲面的curve线,节点“Groupcurve”就是将各个封闭的curve线进行分组,这是个python节点,可以从扩展包里下载,这里是直接使用书中提供的节点。后续就是将分好组的各个封闭的curve组合成polycurve线,并利用组合成polycurve线段数量的多少进行排序。

利用Dynamo自动创建Revit楼板_第4张图片

这里由小到大排序的目的说一下,如上图,在获取的封闭polycurve线中,只有红色箭线标注的封闭线是需要生成楼板的,最外一圈则是不需要生成楼板,是多余的,所以需要将其排除掉。而往往最外一圈polycurve线构成的线段数量最多,周长最长。这里后续是利用构成的线段数最多这一信息来将其排除。

利用Dynamo自动创建Revit楼板_第5张图片

count节点是计算标高数量的,多少个标高就需要排除多少个外围框。添加个负值是让从列表的末尾开始删除项。连接到dropitems,这样就得到了需要生成楼板的各个polycurve线。

利用Dynamo自动创建Revit楼板_第6张图片

其实到这一步就可以直接生成楼板了,因为已经有了供生成楼板的各个封闭polycurve线,那这里就利用楼板生成节点,先直接生成楼板来看下结果。

利用Dynamo自动创建Revit楼板_第7张图片

回到Revit中,可以看到每个楼板都已经在各自的位置生成了。此时点击标高2FL上的一个楼板,在属性栏可以看见标高显示的是1FL,只是自标高的高度偏移了一个数值。其实之前在桥梁部分也提到过,按curve线不管是生成框架梁还是这里的生成楼板,生成的构件位置就是curve线所在的位置,提供的标高输入,只是在构件属性里显示此构件属于哪个标高。因为在桥梁里面没有这么明确的层间标高说法,所以只要有了curve线直接生成构件进行了。但是在房屋建筑里面,构建的标高属性就比较明确,并会对后续做各层工程量统计等操作有影响,所有这里就需要给相应的楼板提供正确的标高信息,不能直接就这样生成构件。

利用Dynamo自动创建Revit楼板_第8张图片

要赋予准确的标高信息,就要找到各个polycurve线所在的标高值,获取polycurve线所在的平面,再获取其标高Z值。利用得到的各个polycurve线的Z值对其进行由小到大排序。

利用Dynamo自动创建Revit楼板_第9张图片

上部分三个节点是对标高进行按照高度进行排序,排好序的标高,根据同一标高上polycurve线数量进行重复。这样就得到了按照标高信息排好序的polycurve线以及一一对应的标高,这样将其提供给生成楼板节点就完成了。

利用Dynamo自动创建Revit楼板_第10张图片

这时再点击同一块楼板,在属性栏里就可以看到,此时的楼板标高信息就变更为了它应属于的那一层标高。

你可能感兴趣的:(利用Dynamo自动创建Revit楼板)