买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
摘要:本发明公开了一种基于Revit与Dynamo的预制叠合板拆分方法,利用Dynamo可视化编程,依据规范、图集及预制叠合板生产工艺,实现了自动创建楼板的深化拆分方案模型;再根据深化拆分方案,批量创建各个预制叠合板的X向钢筋、Y向钢筋、桁架筋、吊点加强筋模型;各个预制叠合板的X向钢筋、Y向钢筋、桁架筋、吊点加强筋数量、规格等信息保存至CSV文件中,方便预制叠合板的信息统计和处理。通过本发明可以提升10倍以上的建模效率,减少建模错误,工程师可以把更多的时间和精力放在预制叠合板深化设计上。
主权项:1.一种基于Revit与Dynamo的预制叠合板拆分方法,其特征在于:具体包括以下步骤:步骤(1)创建楼板模型,完善楼板相关信息;步骤(2)批量创建楼板深化拆分方案模型;步骤(3)批量创建各个预制叠合板深化模型;步骤(4)通过Dynamo播放器选择程序,设定该程序所需输入的相关参数值,直接驱动Revit软件,实现预制叠合板构件批量自动化深化拆分并建模;步骤(1)所述的创建楼板模型,完善楼板相关信息,具体步骤如下:(1.1)利用Revit软件提前创建企业级参数化共享族,包括钢筋、水电、埋件族;(1.2)以构造样板为样板新建样板文件,将参数化共享族导入至所述样板文件中,另存为深化拆分样板文件;(1.3)以深化拆分样板文件为样板新建深化拆分项目,创建楼板模型;(1.4)在楼板模型上做好标记并记录楼板下部纵筋的配筋信息,形成楼板初步深化拆分方案模型;步骤(1.4)所述的做好标记指参数标记值为PC的楼板需要被深化拆分;步骤(1.4)所述的记录楼板下部纵筋的配筋信息指在楼板参数注释内容记录为该楼板下部纵筋的配筋信息;配筋信息XC8@150YC8@150代表该楼板下部纵筋X方向钢筋为直径8mm的三级钢间距150mm排布,Y方向钢筋为直径8mm的三级钢间距150mm排布;步骤(2)所述的批量创建楼板深化拆分方案模型,具体步骤如下:(2.1)创建11项输入参数并设定参数值,包括有最短边长度要求、最大重量要求、叠合板族名称、被拆分的楼板的搜索关键字、标准后浇段宽度、支座宽度、叠合板伸入支座的值、判断楼板是否拆分的参数、判断楼板是否拆分的参数值、叠合板配筋参数名称和板默认配筋信息;(2.2)利用步骤(2.1)所述的叠合板族名称和被拆分的楼板的搜索关键字为两个输入参数的参数值,再利用AllElementsInActiveView节点和Element.Name节点获取当前视图所有图元的名称;利用String.Contains节点、List.AllIndicesOf节点和List.GetItemAtIndex节点获取名称包含CC_hnt_b字符的楼板族;利用步骤(2.1)所述的判断楼板是否拆分的参数和判断楼板是否拆分的参数值为两个输入参数的参数值,再利用Parameter.ParameterByName节点、Parameter.Value节点、List.AllIndicesOf节点和List.GetItemAtIndex节点获得参数标记值为PC的楼板图元,获得到了18块需要被拆分的楼板构件;(2.3)利用Element.Faces节点、Surface.PointAtParameter节点、Surface.PerimeterCurves节点、Surface.NormalAtPoint节点、Vector.ByCoordinates节点、Vector.IsAlmostEqualTo节点、PolyCurve.ByJoinedCurves节点、Curve.Offset节点、Surface.ByPatch节点、List.AllIndicesOf节点、List.GetItemAtIndex节点和List.Flatten节点12个Dynamo节点相互配合,获得步骤(2.2)所述的楼板构件的上表面;(2.4)利用Parameter.ParameterByName节点、Parameter.Value节点、List.Transpose节点、ListCreate节点和List.Join节点5个Dynamo节点分别获得步骤(2.2)所述的楼板构件的厚度、顶部高程、自标高的高度偏移、楼板下部纵筋的配筋信息四个参数信息;(2.5)假设步骤(2.2)所述的楼板构件都分别拆分成一块预制叠合板时,利用步骤(2.3)所述的上表面,再利用BoundingBox.ByGeometry节点、BoundingBox.MaxPoint节点、BoundingBox.MinPoint节点、Point.X节点、Point.Y节点、Math.Round节点和if节点7个Dynamo节点分别获得拆单块预制叠合板时的X和Y方向长度值、中点X坐标值、中点Y坐标值、长边方向;(2.6)利用步骤(2.5)所述的拆单块预制叠合板X和Y方向长度值,利用步骤(2.1)所述的最短边长度要求、最大重量要求两个输入参数的参数值,再利用Math.Floor节点、Math.Ceiling节点、List.AllIndicesOf节点、List.GetItemAtIndex节点、List.SetUnion节点、List.SetDifference节点、If节点、List.Count节点、List.Join节点9个Dynamo节点,获得被拆分成多块预制叠合板的包含现浇段的总长度值、拆分数量及index值,从而获得被拆分成单块预制叠合板的index值;(2.7)利用步骤(2.1)、步骤(2.5)、步骤(2.6)所获取到的已知条件,再利用Math.Ceiling节点、Math.Floor节点、List.OfRepeatedItem节点、ListCreate节点、List.Join节点、List.Transpose节点、List.Flatten节点、List.AllIndicesOf节点、List.GetItemAtIndex节点、If节点、List.Sort节点、List.SortByKey节点、Point.ByCoordinates节点、List.Count节点、Rectangle.ByCornerPoints节点、Surface.ByPatch节点、List.Cycle节点、Topology.Vertices节点、Vertex.PointGeometry节点、Point.X节点、Point.Y节点、Point.Z节点、List.MaximumItem节点、List.MinimumItem节点、List.SetDifference节点、Point.ByCoordinates节点、Polygon.ByPoints节点27个Dynamo节点,分别获得拆多块预制叠合板不带柱缺口的区域面和拆单块预制叠合板带柱缺口的区域面;(2.8)利用步骤(2.7)所述的两个区域面,利用Geometry.Intersect节点、List.GetItemAtIndex节点、List.Join节点、List.Flatten节点和List.SortByKey节点5个Dynamo节点,获得步骤(2.7)所述的两个区域面的相交的重合区域面,即预制叠合板拆分方案区域面;(2.9)利用步骤(2.8)所述的预制叠合板拆分方案区域面,再利用List.Flatten节点、Surface.PerimeterCurves节点、Curve.StartPoint节点、Math.Round节点、Point.X节点、Point.Y节点、Point.Z节点、Point.ByCoordinates节点、Polygon.ByPoints节点、PolyCurve.Curves节点10个Dynamo节点,获得预制叠合板拆分方案的边界多段线;将多段线的各个端点坐标值取整,得出取整后的多段线各个端点坐标点,再将取整后的坐标点连成多段线;(2.10)利用步骤(2.9)所述的取整后的多段线各个端点的坐标点,再利用BoundingBox.ByGeometry节点、BoundingBox.MaxPoint节点、BoundingBox.MinPoint节点、Point.X节点、Point.Y节点、Point.Z节点、StringfromObject节点、String.Split节点、List.FirstItem节点、String.Substring节点和List.LastItem节点11个Dynamo节点,获得各个预制叠合板不带缺口时矩形端点的坐标点;再根据这矩形端点的坐标点,获得各个预制叠合板的中心点坐标点;(2.11)利用步骤(2.9)所述的取整后的多段线各个端点的坐标点、步骤(2.10)所述的矩形端点的坐标点,再利用Point.ByCoordinates节点、Rectangle.ByCornerPoints节点、Polygon.Points节点、Math.Round节点、Point.X节点、Point.Y节点、Point.Z节点、StringfromObject节点、String.Split节点、List.FirstItem节点、List.SetUnion节点、List.SetIntersection节点、List.SetDifference节点、List.Flatten节点、List.Clean节点、String.ToNumber节点、BoundingBox.ByGeometry节点、BoundingBox.MaxPoint节点、BoundingBox.MinPoint节点、List.GetItemAtIndex节点20个Dynamo节点,获得缺口的矩形端点的坐标点、缺口的中心点坐标点;(2.12)利用步骤(2.9)、步骤(2.10)、步骤(2.11)所获取到的已知条件,再利用List.Flatten节点、List.Transpose节点、List.AllIndicesOf节点、List.GetItemAtIndex节点、Geometry.DistanceTo节点、List.MinimumItem节点、Dictionary.ValueAtKey节点、Dictionary.ByKeysValues节点、If节点、List.IsEmpty节点、List.Count节点、List.SetDifference节点、List.Cycle节点、ListCreate节点、List.Transpose节点、List.SortByKey节点、List.Slice节点、List.Scan节点、List.Join节点、StringfromObject节点、“+”节点、String.Split节点、List.FirstItem节点和Math.Ceiling节点24个Dynamo节点,获得各个预制叠合板的长宽尺寸、缺口尺寸、缺口位置;(2.13)利用步骤(2.1)所述的叠合板配筋参数名称和板默认配筋信息两个输入参数的参数值,利用步骤(2.10)、步骤(2.12)所获取到的已知条件,再利用List.GetItemAtIndex节点、StringfromObject节点、String.Split节点、List.FirstItem节点、List.Count节点、List.Cycle节点、Math.Ceiling节点、Math.Floor节点、ListCreate节点、List.Transpose节点、List.Flatten节点和List.SortByKey节点12个Dynamo节点,获得各个预制叠合板的自标高的高度偏移值、特征值;(2.14)利用步骤(2.10)所述的中心点坐标点的Z轴的坐标值,再利用Category.ByName节点、AllElementsofCategory节点、Level.ProjectElevation节点、Math.Round节点、List.DropItems节点、Math.Average节点、List.Flatten节点、List.AllIndicesOf节点、List.SetIntersection节点、List.GetItemAtIndex节点、List.Count节点、List.Scan节点、“+”节点、List.Slice节点14个Dynamo节点,根据项目中楼层创建的标高值,获得每个预制叠合板所处的楼层;(2.15)利用步骤(2.9)所述的取整后的坐标点连成多段线,利用步骤(2.1)所述的叠合板族名称这个输入参数的参数值,利用步骤(2.14)所述的预制叠合板所处的楼层,再利用Floor.ByOutlineTypeAndLevel节点,批量创建各个预制叠合板模型;接着利用步骤(2.13)所述的各个预制叠合板的自标高的高度偏移值、特征值,再利用List.Join节点、ListCreate节点、List.Flatten节点、Parameter.ParameterByName节点和Parameter.SetValue节点5个Dynamo节点,批量修改参数自标高的高度偏移和注释的参数值;(2.16)设定好步骤(2.1)所述的11项输入参数的参数值,点击Dynamo软件左下角的运行按钮,即完成批量创建楼板深化拆分方案模型;在Revit软件界面,点击各个预制叠合板,在属性栏中参数注释的内容里,查看步骤(2.13)所述的各个预制叠合板的特征值;步骤(2.13)所述的各个预制叠合板的特征值包含有各个预制叠合板的中心点坐标值、旋转角度、叠合板板厚、叠合层板厚、X方向长度、Y方向长度、是否有缺口、缺口的位置、缺口的X方向长度、缺口的Y方向长度、配筋信息、上下左右四边出筋长度;步骤(2.15)修改的参数注释的参数值填写的内容即步骤(2.13)所述的各个预制叠合板的特征值。
全文数据:
权利要求:
百度查询: 安徽建工建筑工业有限公司 安徽建工三建集团有限公司 基于Revit与Dynamo的预制叠合板拆分方法
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。