打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
创建天花——Dynamo for Revit2022

你好,这里是BIM的乐趣


        今天我们来聊一个期待已久的功能——生成天花,经过了这么多年的迭代,Revit终于开放了生成天花的API,而且功能还不错,是经过优化的,不过目前我手里还没拿到SDK,就不截图了。

        而且新增的天花API不是在Document class下,而是在Ceiling下的,同时楼板也添加了相同的API,那和Document class下的NewFloor有什么区别呢?这个新的API支持直接创建带洞口的楼板了。

        如下图这种情况,可以直接生成楼板,并把中间的洞口挖去了,方便很多:

        话不多说,直接上代码:

# Copyright(c) 2019, 九哥BIMerimport clrclr.AddReference('ProtoGeometry')from Autodesk.DesignScript.Geometry import *
clr.AddReference("RevitAPI")import Autodeskfrom Autodesk.Revit.DB import *
clr.AddReference("RevitServices")import RevitServices from RevitServices.Persistence import DocumentManagerfrom RevitServices.Transactions import TransactionManager
clr.AddReference("RevitNodes")import Revitclr.ImportExtensions(Revit.Elements)clr.ImportExtensions(Revit.GeometryConversion)
doc = DocumentManager.Instance.CurrentDBDocument
ArrayCurves = IN[0]floorType = UnwrapElement(IN[1])levels = UnwrapElement(IN[2])
floors = []
TransactionManager.Instance.EnsureInTransaction(doc)for curves in ArrayCurves: curveloops = [] for crv in curves: r = [] for c in crv: r.append(c.ToRevitType()) curveloop = CurveLoop.Create(r) curveloops.append(curveloop) flr = Floor.Create(doc, curveloops, floorType.Id, levels.Id) floors.append(flr)TransactionManager.Instance.TransactionTaskDone()
OUT = floors

        核心API如下:

flr = Floor.Create(doc, curveloops, floorType.Id, levels.Id)

        和之前我那篇创建楼板的唯一区别就是API换了,其他都差不多,就不细讲了。<详见前文:创建楼板——Dynamo Python系列教程(四)>

        生成天花的核心代码,也就可以类比出来了:

TransactionManager.Instance.EnsureInTransaction(doc)for curves in ArrayCurves:  curveloops = []  for crv in curves:    r = []    for c in crv:      r.append(c.ToRevitType())    curveloop = CurveLoop.Create(r)    curveloops.append(curveloop)  cei = Ceiling.Create(doc, curveloops, ceilingType.Id, levels.Id)  ceiling.append(cei)TransactionManager.Instance.TransactionTaskDone()

        最后附上完整的dynamo截图:

        因为没看到API的具体内容,目前只知道生成的天花高度,是自标高的高度偏移2600,是直接调用的默认偏移值。

看到这,有木有一丢丢的激动呢?

好了,今天的分享就到这里,小伙伴们快去自己尝试吧~



本公众号还有其他Dynamo案例教程:

一、Dynamo文章目录整理——BIM的乐趣By九哥

二、Dynamo幕墙表皮创建随机UV网格
三、隔离与重设临时隐藏/隔离——Dynamo Python系列教程
四、如何将Civil 3D模型转换为Revit模型

五、隔离与重设临时隐藏/隔离——Dynamo Python系列教程

六、pyRevit之清理未使用的房间和面积

七、如何让撤销栏显示Dynamo的具体操作内容

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Dynamo初探——简介及安装
Dynamo应用秘籍:13:全能的Python Script标准模板
最短路径——通过Dynamo批量创建行进路线
Revit如何在三维中显示轴网?
❤️ 爬虫分析CSDN大佬之间关系,堪比娱乐圈 ❤️
[经验分享]DYNAMO基本概念与小技巧——单位转换
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服