最近在项目上,施工现场管理人员在采购电缆之前有统计电缆工程量的需求,并且需要按照回路统计,以清楚的知道上级配电设备到下级配(用)电设备之间电缆的长度。

    通常电缆的模型大都是在revit中使用线管和线管配件建立,用线管配件弯头去替代电缆中转弯的部分。在使用明细表统计工程量的时候有很大的局限性,一是明细表功能只能按照类别统计所有直线段的长度,二是转弯部分弯头的角度不能进入明细表字段,只能统计个数而无法通过角度和曲率半径关系折算成长度。但Dynamo有较好的参数信息读取,写入,计算的功能以实现这一需求。

    总体思路是在revit中通过在revit配合TAB键选中整个回路中的电缆及其配件,再读取电缆的长度和计算折算后配件的长度,最后将数据写入表格统计。主要的难点是在读取到revit中选中的图元,Dynamo无现成的节点使用,需使用Python写一段脚本来实现此功能。

    查阅RevitAPI文档,在Autodesk.Revit.UI.Selection命名空间中Slection类下有GetElementIds()方法,可以获取到当前选择图元的id,在通过id来返回项目中所选中的图元

完整脚本:

import clr
clr.AddReference("RevitServices")import RevitServicesfrom RevitServices.Persistence import DocumentManagerdoc=DocumentManager.Instance.CurrentDBDocumentuidoc=DocumentManager.Instance.CurrentUIApplication.ActiveUIDocument
SelectedIds = uidoc.Selection.GetElementIds()eles = []for id in SelectedIds :  eles.append(doc.GetElement(id))OUT = eles

将线管和线管配件分组:

分别计算直线段长度和计算弯头折算后长度并求和,单位转换为米:

读取在注释字段添加好的回路名称:

读取电缆型号(线管类型名称):

数据写出:

演示视频:

完整程序截图:

0

评论0

请先
Spire.Pdf 无水印项目直接引用.zip
Spire.Pdf 无水印项目直接引用.zip
9分钟前 有人购买 去瞅瞅看

社交账号快速登录

微信扫一扫关注
扫码关注后会自动登录网站