在机电管线排布基本稳定之后就要进行管线的支吊架的添加了,这是一项工作量巨大且较为单调的工作。那么来看看Dynamo在给管线添加支吊架方面都能有哪些应用吧。
支吊架一般都会有最基本的两个参数:宽度和高度,如果项目上还有计量要求还会有重量参数,当然重量参数也是通过两个基本参数换算而来。
机电安装现场
(1)调整支吊架高度
在布置好一个支吊架后,就需要调整支吊架高度参数,使得支吊架与桥架匹配,手动调整则需要反复的输入数值进行测试。而参数的调整正是Dynamo的拿手好戏。
通过读取桥架的底部高程和支吊架的偏移量计算,再放一个系数做调整:
手动调整:
程序调整:
(2)替换支吊架类型
在项目上遇到这样一个需求:一开始模型中桥架支吊架使用的是吊杆M12的通丝+横担为5#角钢的支吊架,后因使用要求需改为吊杆和横担均为5#角钢的防晃支吊架。
手动去调整,工作量巨大,基本是要前面所做的工作推倒重来了。而程序调整却可以利用已经布置的吊丝支吊架所积累的数据,写入到要替换的
类型数据,完成一键替换。
这里吊丝支吊架和角钢支吊架宽高参数分别为:”L”,”H”和”宽度”,”高度”。将其中桥架共用的支吊架筛选出来(L>900)进行替换。
演示效果:
(3)等间距批量布置支吊架
选择桥架,获取到其LocationLine,将其按间距1800等分,得到等分点,再将这些点作为族实例布置点:
通过计算桥架LocationLine和X向量的角度作为支吊架旋转的角度:
设置支吊架高度,宽度,偏移
演示效果:
(4)点选布置支吊架
在桥架分支处,上下翻弯处,水平转弯处。这些特殊位置布置支吊架时,则希望通过鼠标点在哪里,支吊架就布置在哪里。可通过下面的代码实现:
# 点选布置支吊架
# By I am the one
import clr
clr.AddReference('RevitAPI')
from Autodesk.Revit.DB import *
clr.AddReference('RevitAPIUI')
from Autodesk.Revit.UI.Selection import *
clr.AddReference('RevitNodes')
import Revit
import Autodesk
clr.ImportExtensions(Revit.GeometryConversion)
clr.ImportExtensions(Revit.Elements)
clr.AddReference('RevitServices')
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager
doc = DocumentManager.Instance.CurrentDBDocument
uidoc=DocumentManager.Instance.CurrentUIApplication.ActiveUIDocument
fmy_type = UnwrapElement(IN[1])
fmy_type.Activate()
#选择图元上的点
pt_refs = uidoc.Selection.PickObjects(ObjectType.PointOnElement)
new_eles = []
pick_eles = []
TransactionManager.Instance.EnsureInTransaction(doc)
for t in pt_refs:
rvt_e = doc.GetElement(t)
dyn_e = rvt_e.ToDSType(True)
level = UnwrapElement(dyn_e.GetParameterValueByName("参照标高"))
#将选择的图元上的点向桥架LocationLine上投影
pt = rvt_e.Location.Curve.Project(t.GlobalPoint).XYZPoint
new_ele = doc.Create.NewFamilyInstance(pt,fmy_type,level,Autodesk.Revit.DB.Structure.StructuralType.NonStructural)
new_eles.append(new_ele.ToDSType(True))
pick_eles.append(dyn_e)
TransactionManager.Instance.TransactionTaskDone()
OUT = [new_eles,pick_eles]
完整程序:
演示效果:
好了,这次的分享就到这里。那么,关于支吊架你还有哪些新奇的玩法呢?
欢迎阅读,分享,交流,批评指正。
如转载请注明出处,否则追究法律责任(说说而已,全靠自觉)。
评论0