建设工程模板面生成系统及方法、排模系统及方法_4

文档序号:9489532阅读:来源:国知局
图元信息,从分离出来的图元信息中分析构件的相关信息,并生成构件实体。所述步骤S2具体包括:
[0186]—步骤S21、柱墙构件识别提取步骤,通过柱墙构件识别提取单元在CAD图纸载入排模系统后,通过识别CAD图元的图层信息,将“柱”和“剪力墙”所在图层的图元所构成的平面形状智能识别为排模系统中的“柱”和“剪力墙”构件;结合识别CAD图纸上的“层高”数据信息,从而进一步生成构件的三维实体模型。
[0187]所述步骤S21柱墙构件识别提取步骤包括步骤S211墙构件识别提取步骤、步骤S212柱构件识别提取步骤;
[0188]所述步骤S211墙构件识别提取步骤包括:
[0189](步骤S2111)墙边线选取步骤,按相同图层、相同颜色的快速方式选取墙边线,墙边线包括直线和圆弧;或用普通的选择方式、即通过鼠标在屏幕点选来选择墙边线;
[0190](步骤S2112)墙边线图层更改步骤,将选取的墙边线的图层更改到预先设置的墙边线图层中;
[0191](步骤S2113)墙标注选取步骤,按相同图层、相同颜色的快速方式选取墙标注;或用普通的选择方式、即通过鼠标在屏幕点选来选择墙标注;更改其图层到预先设置的墙标注图层中;
[0192](步骤S2114)墙边线分组步骤,对墙边线图层中的墙边线按平行线分组,相互平行的线段分到同一组中,相同圆心的圆弧认为是平行线;
[0193](步骤S2115)墙构件计算步骤,对同一组中的平行线,计算其相互间的距离,如果距离与预先设置的墙宽度相同则认为是一道墙,计算此平行线的中心线,以平行线的中心线作为墙中心线,平行线间的距离作为墙宽;
[0194](步骤S2116)墙标注获取步骤,在墙中心线两边、距离为两个墙宽的范围内搜索墙标注,将找到的最近的标注作为此墙的标注;
[0195](步骤S2117)墙构件生成步骤,按找到的墙中心线生成墙构件;
[0196]步骤S212柱构件识别提取步骤包括:
[0197](步骤S2121)柱边线选取步骤,按相同图层、相同颜色的快速方式选取柱边线,包括直线和圆弧;或者用普通的选择方式、即用鼠标在屏幕点选来选择柱边线;
[0198](步骤S2122)柱边线图层更改步骤,将选取的柱边线的图层更改到预先设置的柱边线图层中;
[0199](步骤S2123)柱标注选取步骤,按相同图层、相同颜色的快速方式选取柱标注,或者用普通的选择方式、即用鼠标在屏幕点选来选择柱标注;更改其图层到预先设置的柱标注图层中;
[0200](步骤S2124)柱边线分组步骤,对柱边线图层中的柱边线分组,相互之间有交点的,或者距离在设定距离内的分为同一组;两线段的距离为线段的两个端点到另一线段的距离,相互计算后,取其中的较小值;
[0201](步骤S2125)最大外包多边形搜索步骤,在同一组线段中,从顶点的X坐标值最小的线段搜索其最大的外包多边形;从一个起始线段出发,从线段集中寻找与之相连的多边形;当起始边在多边形内或边上时,找到的是包含起始边的多边形,此多边形作为板边界;当起始边在多边形外,包括选段集的左、右、上、下处的线段,则找到的是线段集的外包多边形,此多边形作为柱的轮廓;最大外包多边形搜索子单元搜索最大的外包多边形的方法包括:(1)线段集中所有线段与起始线段求交,找出与起始线段有交点的所有线段;(2)在这些线段中,寻找交点离起始线段的起点最近的线段,但交点不能为起点;(3)在交点处打断所有的线段,包括起始线段;起始线段被打断后,起点到交点之间的线段作为新的起始线段;(4)按起始线段终点到起点方向作为零度,计算打断后的线段与起始线段的夹角;(5)将夹角最小且不为0的线段作为下一个起始线段,当前起始线段作为要寻找的多边形的一条边;(6)如果下一个起始线段的终点和已找到的多边形的边的某个顶点相同,则该边为多边形的起始边,找到的下一起始线段为多边形的终止边,起始边、终止边以及其之间的线段一起构成最终寻找到的多边形;(7)如果下一个起始线段与已找到的多边形线段不能形成多边形,则从第(1)步开始重复此过程,直到找到多边形为止;如果线段集中没有线段了,则认为没有多边形,也停止寻找;
[0202](步骤S2126)柱构件生成步骤,找到一个外包多边形,将其作为柱的轮廓线,生成一个柱构件;同时从组中删除外轮廓线,以及外轮廓内部的线段;
[0203](步骤S2127)循环生成控制步骤,利用最大外包多边形搜索子单元、柱构件生成子单元重复搜索及生成动作,搜索出所有的外包多边形并生成所有柱构件;
[0204](步骤S2128)全部柱构件生成步骤,通过循环进行步骤S2125、步骤S2126、步骤S2127搜索完全部线段组,生成全部柱构件;
[0205](步骤S2129)标注步骤,从柱标注中搜索柱构件对应的标注;标注的文字距离最近的柱轮廓边线不超过文字高度的1.5倍,如果有多个符合要求的柱标注,则按最近的为准;距离的计算方式为:以文字的外包矩形的四个顶点中离柱轮廓线段最近的距离作为文字到轮廓线段的距离;
[0206]—步骤S22、梁构件识别提取步骤,通过梁构件识别提取单元将CAD图纸加载进来后,通过识别CAD图元的图层信息,将“梁”所在图层的图元,所构成的平面形状,再结合CAD图纸所标注的梁的尺寸数据,智能识别为排模系统中的“梁”构件;结合识别CAD图纸上的“层高”数据信息,从而进一步生成构件的三维实体模型;
[0207]所述步骤S22梁构件识别提取步骤包括:
[0208](步骤S221)梁边线选取步骤,按相同图层、相同颜色的快速方式选取梁边线,包括直线和圆弧;或者用普通的选择方式、即通过鼠标在屏幕点选来选择梁边线;
[0209](步骤S222)梁边线图层更改步骤,将选取的梁边线的图层更改到预先设置的梁边线图层中;
[0210](步骤S223)梁标注选取步骤,按相同图层、相同颜色的快速方式选取梁标注;或者用普通的选择方式、即通过鼠标在屏幕点选来选择梁标注;更改其图层到预先设置的梁标注图层中;
[0211](步骤S224)标注文字识别步骤,从所有的梁标注中识别出设定尺寸的标注文字,前一个为梁宽度,后一个为梁高度,并记录到一个梁宽度数组中;
[0212](步骤S225)梁边线分组步骤,对墙边线图层中的梁边线按平行线分组,相互平行的线段分到同一组中,相同圆心的圆弧认为是平行线;
[0213](步骤S226)梁构件计算步骤,对同一组中的平行线,计算其相互间的距离,如果距离与梁宽度数组中的某一个宽度相同则认为是一道梁,计算此平行线的中心线,作为梁中心线,梁宽为梁宽数组中对应的宽度;
[0214](步骤S227)梁标注获取步骤,在梁中心线两边,距离为两个梁宽的范围内搜索梁标注,将找到的最近的标注作为此梁的标注;
[0215](步骤S228)梁构件生成步骤,根据梁中心线生成梁构件;
[0216]——步骤S23、纵梁与横梁分散标注识别步骤,通过纵梁与横梁分散标注识别单元识别纵梁与横梁的分散标注;将X向梁与Y向梁的分散标注(如用两张图来表示标注)集中起来识别;
[0217]步骤S23纵梁与横梁分散标注识别步骤包括:
[0218]步骤S231、保存梁标注步骤,设置纵向梁标注工作区/横向梁标注工作区,并设置原点,提取纵向梁标注/横向梁标注;将提取的纵向梁/横向梁的标注信息进行保存;
[0219]步骤S232、调用梁标注步骤,设置横向梁标注工作区/梁向梁标注工作区,并设置原点,将之前保存的纵向梁/横向梁的标注信息呈现到横向梁标注/纵向梁标注上;
[0220]——步骤S24、板构件识别提取步骤,通过板构件识别提取单元将CAD图纸加载进来后,通过识别CAD图元的图层信息,将“柱”、“墙”、“梁”所在图层的图元,所构成的面状区域,智能识别为排模系统中的“板”构件;结合识别CAD图纸上的“层高”数据信息,从而进一步生成构件的三维实体模型;
[0221]步骤S24、板构件识别提取步骤包括:
[0222](步骤S241)板边界线段生成步骤,提取墙、梁的中心线、柱的轮廓线作为板的边界线段;
[0223](步骤S242)边界线段打断步骤,在所有的边界线段的交点处打断边界线段;
[0224](步骤S243)边界线段移动步骤,对每段不是垂直的边界线段,取其中点,如果是墙、梁线段,则向上移动一个墙、梁宽度,如果是柱轮廓线,则向上移动设定距离;
[0225](步骤S244)判断步骤,判断所述边界线段移动子单元选取的中点是否在已找到的板轮廓内,如果是则通过边界线段移动子单元继续向上移动,直至上述中点不在已找到的板轮廓内;
[0226](步骤S245)内轮廓搜索步骤,以所述边界线段移动子单元选取的中点向右作一射线,作为选中板的起始边界;从此边界开始,在所有的板边界线段中搜索内轮廓;内轮廓搜索子单元搜索内轮廓的方法包括:(1)线段集中所有线段与起始线段求交,找出与起始线段有交点的所有线段;(2)在这些线段中,寻找交点离起始线段的起点最近的线段,但交点不能为起点;(3)在交点处打断所有的线段,包括起始线段;起始线段被打断后,起点到交点之间的线段作为新的起始线段;(4)按起始线段终点到起点方向作为零度,计算打断后的线段与起始线段的夹角;(5)将夹角最小且不为0的线段作为下一个起始线段,当前起始线段作为要寻找的多边形的一条边;(6)如果下一个起始线段的终点和已找到的多边形的边的某个顶点相同,则该边为多边形的起始边,找到的下一起始线段为多边形的终止边,起始边、终止边以及其之间的线段一起构成最终寻找到的多边形;(7)如果下一个起始线段与已找到的多边形线段不能形成多边形,则从第(1)步开始重复此过程,直到找到多边形为止;如果线段集中没有线段了,则认为没有多边形,也停止寻找;
[0227](步骤S246)板构件生成步骤,通过内轮廓搜索子单元找到一个内轮廓,则作为板的边界线,生成一个板构件;
[0228](步骤S247)板构件生成步骤,通过边界线段移动子单元、判断子单元、内轮廓搜索子单元、板构件生成子单元搜索出所有的内轮廓并生成板构件;
[0229](步骤S248)板构件标注获取步骤,从板标注中搜索板构件对应的标注;标注的文字应在板轮廓内,以找到的第一个标注作为板构件的标注;
[0230]——步骤S25、构件编辑步骤,通过构件编辑单元对识别提取出的构件进行编辑;包括针对所有构件的公共编辑,包括旋转、复制、移动、镜像、删除,以及针对不同构件的编辑,包括针对梁构件合并、打断、伸缩;
[0231]【步骤S3】补充绘图编辑步骤,通过补充绘图编辑模块将已经识别提取好的三维实体模型发送到排模系统,在进行排模之前,补充绘制楼梯踏步和外墙线条,对CAD智能识别的构件进行全方位编辑修改,生成符合排模需要的三维实体模型。
[0232]【步骤S4】全自动智能排模步骤,通过全自动智能排模模块实现全自动智能排模。根据智能识别提取模块生成的三维建筑模型采用3D空心布尔算法生成空心模板面,再根据模板面之间的相互关系及设定参数生成角模板及平面模板,再根据技术规范生成安全的支撑体系及对拉体系。
[0233]所述步骤S4包括:
[0234]——步骤S41、模板面生成步骤,根据智能识别提取模块生成的三维建筑模型采用3D空心布尔算法生成空心模板面,再根据模板面之间的相互关系及设定参数生成角模板及平面模板(或根据识别到的三维建筑模型获取各个位置的模板,并整体生成该模板);模板面生成步骤具体包括:
[0235]步骤S411、模板面获取步骤,根据建筑规则从多面体中分离出需要布置建筑模板的面,要布置模板的面称作模板面;对多面体的每个面,按其法线与铅垂线的夹角来判断是否布置模板,当夹角超过预设角度时认为是模板面,将其从多面体中复制并分离出来;对不同类型的构件设置不同的角度,以准确获取不同构件的模板面;
[0236]步骤S412、模板面扣减步骤,对从构件多面体中分离出来的各个模板面进行扣减计算后,才能得到真正需要布置模板的面;扣减计算是用三维布尔算法中的差运算来实现的,对所有模板面按照扣减规则,依次与相邻的构件多面体进行扣减计算,扣除不需要布置模板的部分,最终得到需要布置建筑模板的面;
[0237]所述模板面扣减步骤中的多面体三维布尔差计算方法包括用第一多面体减去第二多面体的流程,模板面扣减步骤包括:
[0238](步骤S4121)二叉树构造步骤,构造第一多面体、第二多面体的空间分区二叉树;
[0239]所述二叉树构造步骤中,构造多面体的空间分区二叉树的过程中,空间分区二叉树的每个节点包含三个子节点,分别为法线正面部分的面、即正侧,法线负面部分的面、即负侧,以及共面的面、即共面部分;二叉树构造步骤的构造方法包括如下步骤:
[0240][步骤S41210]将所有面添加到第一个节点;
[0241][步骤S41211]将节点中的第一个面作为节点的标准平面,保存到当前树节点的共面部分中,并从多面体中去掉该面;
[0242][步骤S41212]对剩下的每个面作如下操作:判断该面与标准平面的关系;完全在法线正面则保存到正侧节点;完全在法线负面的部分保存到负侧节点;共面的面保存到共面部分;与标准平面交叉的面,则用标准平面分割该面为两部分,正面部分保存到正侧,负面部分保存到负侧;
[0243][步骤S41213]对正侧、负侧部分的节点,重复进行步骤S41211至步骤S41213的操作,直到没有正侧、负侧的面为止。
[0244](步骤S4122)第一分割步骤,对第一多面体中的每个面依次与第二多面体中的面求交,将第一多面体的面分割成第二多面体的面的正反两部分,每部分再与第二多面体的其它面求交,也同样分成两部分;这样依次与第二多面体中的所有面进行求交计算,将第一多面体的面分割成很多面;
[0245](步骤S4123)第一多面体处理步骤,对第一多面体分解出来的面,用第二多面体的空间分区二叉树判断是否在第二多面体的内部;若在第二多面体内部的面则去掉,在第二多面体外部的面则作为差的一部分保留;
[0246](步骤S4124)第二分割步骤,对第二多面体中的每个面依次与第一多面体中的面求交,将第二多面体的面分割成第一多面体的面的正反两部分,每部分再与第一多面体的其它面求交,也同样分成两部分;这样依次与第一多面体中的所有面进行求交计算,将第二多面体的面分割成很多面;
[0247](步骤S4125)第二多面体处理步骤,
当前第4页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1