创建天花——Dynamo for Revit2022

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

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

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

话不多说,直接上代码:


# Copyright(c) 2019-2024, 九哥BIMer
import clr
clr.AddReference('ProtoGeometry')
from Autodesk.DesignScript.Geometry import *

clr.AddReference("RevitAPI")
import Autodesk
from Autodesk.Revit.DB import *

clr.AddReference("RevitServices")
import RevitServices 
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager

clr.AddReference("RevitNodes")
import Revit
clr.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,是直接调用的默认偏移值。


 

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

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

  • 25
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

九哥BIMer

予人玫瑰,手有余香

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值