一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种矩形结构分区下料精细化排布方法与流程

2022-02-22 23:00:02 来源:中国专利 TAG:


1.本发明涉及一种建筑施工技术领域,特别是一种基于bim技术,通过自动化排布方法,实现矩形结构结构的分区域下料。


背景技术:

2.建筑信息模型(building information modeling)是以建筑工程项目的各项相关信息数据作为模型的基础,进行建筑模型的建立,通过数字信息仿真模拟建筑物所具有的真实信息。它具有可视化,协调性,模拟性,优化性,可出图性五大特性特点。
3.基础模型的创建是bim技术的核心功能之一,基于bim技术的三维模型创建,可显著提高模型创建效率,有效节省成本、人力及时间。随着bim技术研究和应用的不断深入,bim技术主流软件与可视化编程工具的结合提供了全新的发展方向,优化了bim工作流程,实现了模型的批量、快速创建。
4.现阶段的矩形结构下料方法手工工作量大、工作流程繁琐,返工次数多,下料方案不合理,材料浪费严重。


技术实现要素:

5.本发明的目的是提供一种矩形结构分区下料精细化排布方法,要解决现有下料规则不准确,下料效率低,材料浪费严重的技术问题。
6.为实现上述目的,本发明采用如下技术方案:
7.一种矩形结构分区下料精细化排布方法,包括以下步骤:
8.步骤一:基于公制常规模型创建目标族,并设置相应的参数;
9.步骤二:创建矩形结构模型,依据功能特性将其划分为导墙区域、砌块区域、垫砖区域、斜砖区域共四个区域。
10.步骤三:明确矩形结构的边界约束条件,矩形结构的长度限制横向砖块、砌块的数量以及第一块砖和最后一块砖的长度;矩形结构的高度限制导墙区域、砌块区域和垫砖区域的砖块、砌块排布层数以及斜砖区域的砖块倾斜角度。
11.步骤四:分析矩形结构的参数信息,确定矩形结构的可参数化元素、非参数化元素与自适应元素。尺寸可变的元素称为可参数化元素;将实际可变元素取允许范围内的某一数值,此类元素为非参数化元素;在满足边界约束条件、整数限制要求的前提下,由其他元素驱动变化的元素为自适应元素。
12.步骤五:在满足规范要求的情况下,设计递推排布算法,输入基于步骤四的相关元素信息,分别得到奇数行和偶数行的砖块、砌块排布数量及非标砖尺寸;
13.步骤六:基于步骤五中的递推排布算法,借助计算机语言进行编程,调用可视化编程平台应用接口中的相关函数,确定各区域的下料排布点位;
14.步骤七:将目标族载入可视化编程平台,运行程序,完成矩形结构的下料工作。
15.所述步骤一中的模型由bim主流软件revit所创建。
16.所述步骤六中的可视化编程平台是内嵌在bim技术主流软件revit平台的dynamo。
17.所述步骤中的矩形结构为无构造柱、门窗洞的直行墙,下料规范依据国家建筑标准《砌体结构工程施工质量验收规范》gb 50203-2011、《砌体填充墙结构构造》12sg614、《砌体填充墙建筑构造》12sj105。
18.与现有技术相比,本发明具有以下特点和有益效果:
19.(1)本发明提供了一种高效、准确的模型创建方法,将bim主流软件revit与可视化编程平台相结合,优化了bim工作流程,缩短了建模时间。
20.(2)本发明设计了一种矩形结构的分区下料优化算法,基于bim主流软件revit,借助可视化编程平台,使用计算机语言编写程序,实现矩形结构的高效快速下料,生成三维模型,提取下料清单。
21.(3)本发明可以减少施工过程中的返工和材料浪费,有利于施工现场精细化管理,推动建筑业绿色可持续发展。
22.(4)可在三维模型中添加属性管理信息,有效提高工程信息管理效率。
附图说明
23.下面结合附图对本发明做进一步详细的说明。
24.图1是矩形结构分区下料总流程图;
25.图2是递推排布算法;
26.图3是竖直方向控制线流程图;
27.图4是矩形结构导墙区域下料流程图;
28.图5是矩形结构砌体区域下料流程图;
29.图6是矩形结构垫砖区域下料流程图;
30.图7是矩形结构斜砖区域下料流程图。
具体实施方式
31.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施实例,对本发明进行详细说明。此处所描述的具体实施例仅用于解释本发明技术方案,并不限于本发明。
32.上述发明内容可以通过计算机编程语言实现,并且依托可视化编程工具,使用计算机语言进行编程,调用可视化编程工具应用接口中的相关函数。
33.实施以无门窗洞口、构造柱的直行墙为例进行说明,操作步骤如下(参见图1):
34.步骤一:基于公制常规模型创建目标族,并设置相应的参数;
35.1.基于公制常规模型,使用revit中的复制、移动等命令创建可参数化驱动的砖族和砌体族,并设置相应的类型参数和实例参数。
36.2.对砖族和砌体族的命名方式、信息表达形式,颜色,材质进行统一管理。
37.步骤二:创建矩形结构模型,依据功能特性将其划分为导墙区域、砌块区域、垫砖区域、斜砖区域共四个区域;
38.1.依据设计图纸,在revit平台中创建墙体三维模型;
39.2.将墙体模型划分为导墙区域、砌块区域、垫砖区域、斜砖区域共四个区域。
40.步骤三:明确矩形结构的边界约束条件;
41.1.墙高限制砖块、砌块层数变化、数量变化、斜砖角度变化;
42.2.墙长限制横向砖块、砌块数量以及第一块砖和最后一块砖的长度。
43.步骤四:分析矩形结构的参数信息,确定矩形结构的可参数化元素、非参数化元素与自适应元素。
44.1.目标墙体的尺寸,导墙区域的高度,砖块、砌块尺寸,纵向灰缝的宽度可以设置变化,此类元素称为可参数化元素。
45.2.考虑到砌筑工程规范要求以及施工常用做法,我们将实际可变元素取允许范围内的某一数值,横向灰缝宽度设置为10mm,导墙区域砖块层数设置为3层,此类元素为非参数化元素。
46.3.砌块区域高度、斜砖区域高度,垫砖区域高度以及斜砖角度,在满足边界约束条件、整数限制要求的前提下,由其他元素驱动变化的元素为自适应元素。
47.步骤五:在满足规范要求的情况下,设计递推排布算法,输入基于步骤四中的相关元素信息,分别得到奇数行和偶数行的砖块、砌块排布数量及非标砖尺寸;(图2)
48.1.输入墙长/柱间距q,砖长a,砌块长b,纵向灰缝宽度w.
49.2.确定奇数行砖块排布规则:
50.(1)计算长度方向砖块布设数量t=(q-w)/(a w),整砖布设数量s取t的整数部分,非整砖部分t取t的小数部分。
51.(2)若t》=1/3,长度方向第一块砖以整砖进行布设,实际整砖排布数量为s,最后一块非整砖长度l=t*(a w)-w;
52.(3)若t《1/3,则第一块砖长为1/3a进行布设,实际整砖排布数量为s-1,最后一块非整砖长度l=(t 2/3)*(a w)-w.
53.3.确定偶数行排布规则:
54.(1)若奇数行整砖数量为s,则偶数行砖块布设数量o=(q-2w-a/2)/(a w),整砖布设数量u取o的整数部分,非整砖部分o取o的小数部分。
55.1)若o》=1/3,则第一块砖长为1/2a进行布设,实际整砖排布数量为u-1,最后一块非整砖长度q=o*(a w)-w;
56.2)若o》=1/6且o《1/3,则第一块砖与最后一块砖长度相等,长度q=(o/2 1/4)
57.*(a w)-w,整砖数量为u-1.
58.3)若o《1/6,整砖数量为u,第一块砖以长度q=o*(a w)-w进行布设,最后一块砖为整砖。
59.(2)若奇数行整砖数量为s-1,则第一块砖长为2/3a进行布设,整砖数量为s-1,最后一块砖长q=(t 1/3)*(a w)-w。
60.步骤六:将步骤五中的递推排布算法,借助计算机语言进行编程,调用可视化编程平台应用接口中的相关函数,分区域确定下料排布点位;
61.1.选中三维土建模型的待布设目标墙体,计算目标墙体表面面积最大的墙面,作为矩形结构分区下料的参照面,调用element.getlocation函数,求出目标墙体的水平中心线向量;
62.2.调用line.bystartpointendpoint和line.direction函数,表示矩形结构分区
下料参照面各边的方向向量,筛选与目标墙体水平中心线向量平行的边;
63.3.调用line.bystartpointdirectionlength函数,得到目标墙体竖直方向控制线;调用if条件语句,判断目标墙体竖向控制线方向是否准确,若不准确,更正其方向直至竖直。(图3)
64.4.输入砖块尺寸、砌体尺寸、灰缝尺寸、墙体高度、导墙砖层数信息,编写designscript中的正则表达式a..b..a,表示从起点a开始,到终点b结束,间距为a的一组等差数值列表list1。控制点位数值列表list1即为导墙区域和砌体区域的横向控制线定位点。
65.5.调用line.bystartpointdirectionlength函数,分别以导墙区域和砌块区域横向控制线的定位点为起点,墙体水平方向中心线向量作为方向向量,长度为10000,得到初始横向控制线;调用curve.extendstart函数,反向延伸初始横向控制线,延伸距离为10000;调用geometry.intersect函数,求出延伸后初始横向控制线投影在导墙区域部分的线段,作为导墙、砌块区域横向控制线;
66.6.导墙区域奇数行第一块砖长为标准砖长的一半,使用for循环语句和if条件语句,调用ji1()函数,求出奇数行标准砖排布点位,调用list.lastitem函数求出奇数行最后一块砖的排布点位,调用list.additemtoend函数,求出导墙区域奇数行砖块排布点位;导墙区域偶数行第一块砖为标准砖,使用for循环语句和if条件语句,调用ou1()函数,求出偶数行标准砖排布点位,调用list.lastitem函数,求出奇数行最后一块砖的排布点位,调用list.additemtoend函数,求出导墙区域偶数行砖块排布点位;(图4)
67.7.同理求得砌块区域砖块排布点位;(图5)
68.8.调用list.lastitem函数,求出导墙区域和砌体区域总高度;输入砖块尺寸、砌体尺寸、灰缝尺寸、墙体高度信息,墙体高度减去导墙区域和砌体区域高度得到垫砖区域和斜砖区域总高度;依据斜砖在规范允许范围内的竖向投影长度,调用if条件语句,求出垫砖区域和斜砖区域横向控制线的定位点,墙体高度减去导墙区域高度、砌体区域高度和垫砖区域高度,得到斜砖区域高度;
69.9.输入砖块尺寸、灰缝尺寸和步骤8中垫砖区域横向控制线信息;垫砖区域奇数行第一块砖长为标准砖长的一半,使用for循环语句和if条件语句,调用ji1()函数,求出奇数行标准砖排布点位,调用list.lastitem函数求出奇数行最后一块砖排布点位,调用list.additemtoend函数,求出垫砖区域奇数行砖块排布点位;
70.10.垫砖区域偶数行第一块砖为标准砖,使用for循环语句和if条件语句,调用ou1()函数,求出偶数行标准砖排布点位,调用list.lastitem函数,求出奇数行最后一块砖排布点位,调用list.additemtoend函数,求出垫砖区域偶数行砖块排布点位。(图6)
71.11.使用for循环语句和if条件语句,求出垫砖区域每块砖长度;
72.12.调用list.bystartpointdirectionlength函数,求出斜砖区域初始横向控制线;调用line.extendstart函数,反向延伸斜砖区域横向控制线,延伸距离为10000;调用geometry.intersect函数,求出延伸后初始横向控制线投影在斜砖区域的线段,作为斜砖区域的横向控制线;输入斜砖尺寸、灰缝尺寸和步骤8中的斜砖区域高度信息;生成允许范围内的斜砖倾斜角度数字列表;调用list.minimumitem函数,返回步骤4中数字列表内的最小值即斜砖倾斜角度。
73.13.输入斜砖尺寸、灰缝尺寸、斜砖区域高度、斜砖倾斜角度;编写designscript中的正则表达式a..b..a,表示从起点a开始,到终点b结束,间距为a的一组等差数值列表list2,控制点位数值列表list2即斜砖在横向控制线上的排布点;调用
74.curve.pointatsegmentlength函数,使用for循环语句,剔除多余排布点位,求出斜砖的最终排布点位。(图7)
75.步骤七:载入目标族,运行程序,完成矩形结构的下料工作。
76.1.打开已经创建完成的墙体三维模型,将砖族和砌体族文件导入该模型中。
77.2.运行程序,完成目标墙体下料工作。
78.上述所有步骤中的计算和判定基于内嵌在revit平台的可视化编程工具与revit的有效协同,使用designscript语言,编写相应程序实现。
79.以上所述仅表达了本发明的优选实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形、改进及替代,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献