一种快速构建户型结构的建模方法、电子设备、存储介质技术

技术编号:28561730 阅读:16 留言:0更新日期:2021-05-25 17:57
本发明专利技术提供一种快速构建户型结构的建模方法,包括以下步骤:绘制内墙线,绘制外墙线,编辑元素,获取用户数据,运算数据处理,区域处理。使用单条线段的方式绘制墙体内侧和外侧的形状,根据内墙和外墙绘制结果创建墙体厚度结构,通过内墙线定义房间区域,可以完全按照量尺数据精确生成房屋布局,在绘制线段时可以加入多功能标签,使得该段能够被计算处理为操作控件。若已绘制元素被点击,则使点击处的元素处于可编辑状态,根据用户选择的编辑模式编辑对应的元素。本发明专利技术涉及电子设备和存储介质,用于执行上述方法。本发明专利技术在通过内墙线和外墙线做好墙体建模的基础上,通过对各个细节部分的调节,实现快速构建符合户型实际结构的建模图。

【技术实现步骤摘要】
一种快速构建户型结构的建模方法、电子设备、存储介质
本专利技术涉及计算机图形图像
,尤其涉及一种快速构建户型结构的建模方法、电子设备、存储介质。
技术介绍
市面上的设计软件在绘制2D户型图时,如图1所示,使用条形控件表示墙体,使得定位、朝向可以简单的使用鼠标实现。在建模过程中,完全按照尺寸进行绘制,速度比较慢,无法实现快速构建符合户型实际结构的建模图。每一段墙体被创建出来时,无论是内侧还是外侧都是固定直线形状,不能对细节部分进行调节,如墙体内侧存在凹或凸等不规则形状。
技术实现思路
为了克服现有技术的不足,本专利技术的目的在于提供一种快速构建户型结构的建模方法,在通过内墙线和外墙线做好墙体建模的基础上,通过对各个细节部分的调节,实现快速构建符合户型实际结构的建模图。本专利技术提供一种快速构建户型结构的建模方法,包括以下步骤:绘制内墙线,响应于用户绘制内墙的请求,启动绘制内墙线状态,记录点击位置坐标,在所述点击位置坐标上创建墙体内侧的起点,以当前鼠标移动时的实时位置坐标为终点,记录再次点击位置坐标,在所述再次点击位置坐标上创建墙体内侧的终点,或通过输入的线长创建墙体内侧的终点,通过所述墙体内侧的起点和所述墙体内侧的终点绘制连续的线段,判断所述墙体内侧的终点的坐标位置是否与所述墙体内侧的起点的坐标位置重合,是则认为此墙体线段已形成首尾相接的封闭区域,创建出二维的房间区域,否则继续保持绘制线段状态,等待捕获用户下一次点击鼠标的位置;绘制外墙线,响应于用户绘制外墙的请求,启动绘制外墙线状态,记录点击位置坐标,在所述点击位置坐标上创建墙体外侧的起点,以当前鼠标移动时的实时位置坐标为终点,记录再次点击位置坐标,在所述再次点击位置坐标上创建墙体外侧的终点,通过所述墙体外侧的起点和所述墙体外侧的终点绘制连续的线段,判断所述墙体外侧的终点的坐标位置是否与所述墙体外侧的起点的坐标位置重合,是则认为此墙体线段已形成首尾相接的封闭区域,创建出二维的外墙区域,否则继续保持绘制外墙线状态,等待捕获用户下一次点击鼠标的位置;或响应于自动绘制外墙的请求,根据输入的外墙与内墙的距离绘制连续的线段,创建二维的外墙区域;编辑元素,若已绘制的内墙线、外墙线、内墙区域或外墙区域被点击,则获取点击处的元素,使所述元素处于可编辑状态,并提供若干编辑模式,根据用户选择的编辑模式编辑对应的元素;获取用户数据,获取所述内墙线和所述外墙线;运算数据处理,保留所述内墙线和所述外墙线的标识和ID,对线段进行分拆,对数据的无效部分、重叠、不允许的操作进行剔除,抽取标识为外墙的线段集合,对所述标识为外墙的线段集合经过最大闭环处理,得到外墙环,对标识为内墙的线段集合经过最小闭环处理,得到内墙环,对标识为区域的线段集合经过最小闭环处理,得到区域环;区域处理,通过环与环之间的内涵关系确定环与环在空间中的嵌套关系,按环与环之间的区域生成对应的墙体、地板和地板内区域。进一步地,还包括绘制楼层,响应于用户新建楼层请求,将第一楼层复制在当前最高楼层的层上,形成新的楼层。进一步地,当用户绘制第二条墙体线段时,将鼠标移动位置与第一条线段终点形成距离;每一条所述外墙线都是位于所述内墙线的同一侧。进一步地,所述元素包括线、节点、区域;所述编辑模式包括复制、修改位置、移动、转换为曲线、拆分、隐藏、删除、设置墙高、绘制承重墙、楼层局部挖空;当编辑模式为复制时,将被选中的元素复制在偏移距离处;当编辑模式为修改位置时,将被选中的元素在选择的方向上按照输入的数值进行偏移;当编辑模式为移动时,被选中的元素跟随鼠标的移动方向进行移动;当编辑模式为转换为曲线时,将被选中的元素转换为曲线,根据调整方向调整曲线;当编辑模式为拆分时,将被选中的元素进行拆分,根据调整方向调整拆分点位置,被选中的拆分部分根据鼠标移动方向进行移动;当编辑模式为隐藏时,将被选中的元素进行隐藏;当编辑模式为删除时,将被选中的元素进行删除;当编辑模式为设置墙高时,将被选中的元素按照输入的高度进行修改;当绘制外墙控件被激活时,从内墙线上被选中的节点出发,按照鼠标移动方向绘制连接外墙线的承重墙线,两个所述承重墙线和对应连接的外墙线、内墙线形成封闭的承重墙区域,当编辑模式为绘制承重墙时,将被选中的承重墙区域设置为承重墙;当编辑模式为楼层局部挖空时,挖空当前楼层被选中的内墙区域。进一步地,所述内墙线和所述外墙线均为带标识和索引的直线数据和/或带标识和索引的曲线数据,其中,对曲线轨迹的描述使用函数类型和函数参数;所述运算数据处理步骤还包括当自动绘制外墙控件被激活时,对内墙线进行最大闭环查找,经过环扩张处理,计算出线段环,将所述线段环标识为外墙,并加入至所述运算数据;所述运算数据为带标识和索引的直线数据。进一步地,所述最小闭环处理包括:获取最外层线段,在与线段自身方向垂直的两个方向各发射一条射线,若其中一条射线没有与任何线段碰撞,则其必然落在线段结构的最外层,该射线方向为该线段的外方向,获取处于线段集最外层的线段;计算外方向,沿着最外层线段两边的顶点,查找其他相连的线段,若遇到一个顶点同时与至少三根线段相接,则选择与当前线段外方向夹角最大的一根线段作为一个新的起点,并计算其外方向;获得最小闭环,循环所述获取最外层线段步骤和所述计算外方向步骤,获得在线段集合中获得最小闭环,对已找到的数据进行标识。进一步地,所述最大闭环处理包括:获取最外层线段,在与线段自身方向垂直的两个方向各发射一条射线,若其中一条射线没有与任何线段碰撞,则其必然落在线段结构的最外层,该射线方向为该线段的外方向,获取处于线段集最外层的线段;计算外方向,沿着最外层线段两边的顶点,查找其他相连的线段,若遇到一个顶点同时与至少三根线段相接,则选择与当前线段外方向夹角最小的一根线段作为一个新的起点,并计算其外方向;获得最大闭环,循环所述获取最外层线段步骤和所述计算外方向步骤,获得在线段集合中获得最大闭环,对已找到的数据进行标识。进一步地,所述环扩张处理包括:计算交点,对于环中的每两条相邻线段,转换为两条无限延伸的直线,每条直线垂直与其中一条线段且距离为扩张距离,计算这两条直线的交点作为当前两条线段经过扩张后的新交点;生成新环,按顺序连接新交点得出新环,若所述新环自相交,则丢弃包含原始线段夹角为钝角的一侧。进一步地,所述区域处理步骤包括:三角面化处理,将区域进行三角面化,经过位置和反转处理成上下两个面;生成四边形,将组成区域的每一条线段复制位置,复制体和本体连接成四边形,组成一个侧面;生成三维模型,将所有表面组合成三维模型;所述生成四边形步骤中,若多条线段都在同一直线上,且其中包含被标识为门窗,则当这一列线段体生成四边形时,用门窗线段体生成四边形,两个四边形运算得到带洞表面,将所述带洞表面作为侧面输出。进一步地,所述区域处理步骤还包括生成所述三维模型的预览效果。一种电子设备,包括本文档来自技高网...

【技术保护点】
1.一种快速构建户型结构的建模方法,其特征在于,包括以下步骤:/n绘制内墙线,响应于用户绘制内墙的请求,启动绘制内墙线状态,记录点击位置坐标,在所述点击位置坐标上创建墙体内侧的起点,以当前鼠标移动时的实时位置坐标为终点,记录再次点击位置坐标,在所述再次点击位置坐标上创建墙体内侧的终点,或通过输入的线长创建墙体内侧的终点,通过所述墙体内侧的起点和所述墙体内侧的终点绘制连续的线段,判断所述墙体内侧的终点的坐标位置是否与所述墙体内侧的起点的坐标位置重合,是则认为此墙体线段已形成首尾相接的封闭区域,创建出二维的房间区域,否则继续保持绘制线段状态,等待捕获用户下一次点击鼠标的位置;/n绘制外墙线,响应于用户绘制外墙的请求,启动绘制外墙线状态,记录点击位置坐标,在所述点击位置坐标上创建墙体外侧的起点,以当前鼠标移动时的实时位置坐标为终点,记录再次点击位置坐标,在所述再次点击位置坐标上创建墙体外侧的终点,通过所述墙体外侧的起点和所述墙体外侧的终点绘制连续的线段,判断所述墙体外侧的终点的坐标位置是否与所述墙体外侧的起点的坐标位置重合,是则认为此墙体线段已形成首尾相接的封闭区域,创建出二维的外墙区域,否则继续保持绘制外墙线状态,等待捕获用户下一次点击鼠标的位置;或响应于自动绘制外墙的请求,根据输入的外墙与内墙的距离绘制连续的线段,创建二维的外墙区域;/n编辑元素,若已绘制的内墙线、外墙线、内墙区域或外墙区域被点击,则获取点击处的元素,使所述元素处于可编辑状态,并提供若干编辑模式,根据用户选择的编辑模式编辑对应的元素;/n获取用户数据,获取所述内墙线和所述外墙线;/n运算数据处理,保留所述内墙线和所述外墙线的标识和ID,对线段进行分拆,对数据的无效部分、重叠、不允许的操作进行剔除,抽取标识为外墙的线段集合,对所述标识为外墙的线段集合经过最大闭环处理,得到外墙环,对标识为内墙的线段集合经过最小闭环处理,得到内墙环,对标识为区域的线段集合经过最小闭环处理,得到区域环;/n区域处理,通过环与环之间的内涵关系确定环与环在空间中的嵌套关系,按环与环之间的区域生成对应的墙体、地板和地板内区域。/n...

【技术特征摘要】
1.一种快速构建户型结构的建模方法,其特征在于,包括以下步骤:
绘制内墙线,响应于用户绘制内墙的请求,启动绘制内墙线状态,记录点击位置坐标,在所述点击位置坐标上创建墙体内侧的起点,以当前鼠标移动时的实时位置坐标为终点,记录再次点击位置坐标,在所述再次点击位置坐标上创建墙体内侧的终点,或通过输入的线长创建墙体内侧的终点,通过所述墙体内侧的起点和所述墙体内侧的终点绘制连续的线段,判断所述墙体内侧的终点的坐标位置是否与所述墙体内侧的起点的坐标位置重合,是则认为此墙体线段已形成首尾相接的封闭区域,创建出二维的房间区域,否则继续保持绘制线段状态,等待捕获用户下一次点击鼠标的位置;
绘制外墙线,响应于用户绘制外墙的请求,启动绘制外墙线状态,记录点击位置坐标,在所述点击位置坐标上创建墙体外侧的起点,以当前鼠标移动时的实时位置坐标为终点,记录再次点击位置坐标,在所述再次点击位置坐标上创建墙体外侧的终点,通过所述墙体外侧的起点和所述墙体外侧的终点绘制连续的线段,判断所述墙体外侧的终点的坐标位置是否与所述墙体外侧的起点的坐标位置重合,是则认为此墙体线段已形成首尾相接的封闭区域,创建出二维的外墙区域,否则继续保持绘制外墙线状态,等待捕获用户下一次点击鼠标的位置;或响应于自动绘制外墙的请求,根据输入的外墙与内墙的距离绘制连续的线段,创建二维的外墙区域;
编辑元素,若已绘制的内墙线、外墙线、内墙区域或外墙区域被点击,则获取点击处的元素,使所述元素处于可编辑状态,并提供若干编辑模式,根据用户选择的编辑模式编辑对应的元素;
获取用户数据,获取所述内墙线和所述外墙线;
运算数据处理,保留所述内墙线和所述外墙线的标识和ID,对线段进行分拆,对数据的无效部分、重叠、不允许的操作进行剔除,抽取标识为外墙的线段集合,对所述标识为外墙的线段集合经过最大闭环处理,得到外墙环,对标识为内墙的线段集合经过最小闭环处理,得到内墙环,对标识为区域的线段集合经过最小闭环处理,得到区域环;
区域处理,通过环与环之间的内涵关系确定环与环在空间中的嵌套关系,按环与环之间的区域生成对应的墙体、地板和地板内区域。


2.如权利要求1所述的一种快速构建户型结构的建模方法,其特征在于:还包括绘制楼层,响应于用户新建楼层请求,将第一楼层复制在当前最高楼层的层上,形成新的楼层。


3.如权利要求1所述的一种快速构建户型结构的建模方法,其特征在于:
当用户绘制第二条墙体线段时,将鼠标移动位置与第一条线段终点形成距离;
每一条所述外墙线都是位于所述内墙线的同一侧。


4.如权利要求2所述的一种快速构建户型结构的建模方法,其特征在于:所述元素包括线、节点、区域;所述编辑模式包括复制、修改位置、移动、转换为曲线、拆分、隐藏、删除、设置墙高、绘制承重墙、楼层局部挖空;当编辑模式为复制时,将被选中的元素复制在偏移距离处;当编辑模式为修改位置时,将被选中的元素在选择的方向上按照输入的数值进行偏移;当编辑模式为移动时,被选中的元素跟随鼠标的移动方向进行移动;当编辑模式为转换为曲线时,将被选中的元素转换为曲线,根据调整方向调整曲线;当编辑模式为拆分时,将被选中的元素进行拆分,根据调整方向调整拆分点位置,被选中的拆分部分根据鼠标移动方向进行移动;当编辑模式为隐藏时,将被选中的元素进行隐藏;当编辑模式为删除时,将被选中的元素进行删除;当编辑模式为设置墙高时,将被选中的元素按照输入的高度进行修改;当绘制外墙控件被激活时,从内墙线上被选中的节点出发,按照鼠标移动方向绘制连接外墙线的承重墙线,两个所述承重墙线和对应连接的外墙线、内墙线形成封闭的承重墙区域,当编辑模式为绘...

【专利技术属性】
技术研发人员:薛冠衡
申请(专利权)人:佛山欧神诺云商科技有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1