CN112819915B - 一种墙体建模系统 - Google Patents
一种墙体建模系统 Download PDFInfo
- Publication number
- CN112819915B CN112819915B CN202011563799.7A CN202011563799A CN112819915B CN 112819915 B CN112819915 B CN 112819915B CN 202011563799 A CN202011563799 A CN 202011563799A CN 112819915 B CN112819915 B CN 112819915B
- Authority
- CN
- China
- Prior art keywords
- wall
- line
- line segment
- module
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000012545 processing Methods 0.000 claims abstract description 38
- 238000000034 method Methods 0.000 claims abstract description 22
- 238000006049 ring expansion reaction Methods 0.000 claims description 6
- 238000004381 surface treatment Methods 0.000 claims description 6
- 230000003213 activating effect Effects 0.000 claims description 5
- 238000012986 modification Methods 0.000 claims description 5
- 230000004048 modification Effects 0.000 claims description 5
- 238000005034 decoration Methods 0.000 claims description 4
- 208000037516 chromosome inversion disease Diseases 0.000 claims description 3
- 241001465382 Physalis alkekengi Species 0.000 claims description 2
- 238000010586 diagram Methods 0.000 abstract description 10
- 230000001788 irregular Effects 0.000 abstract description 7
- 230000000007 visual effect Effects 0.000 abstract description 4
- 238000005259 measurement Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 2
- 230000005477 standard model Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/203—Drawing of straight lines or curves
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/80—Creating or modifying a manually drawn or painted image using a manual input device, e.g. mouse, light pen, direction keys on keyboard
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/04—Architectural design, interior design
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明提供一种墙体建模系统,包括绘制模块、门窗模块、户型导航模块、模型库,绘制模块包括内墙线绘制子模块、外墙线绘制子模块、获取用户数据子模块、运算数据处理子模块和区域处理子模块。本发明通过内墙线定义房间区域,可以完全按照量尺数据精确生成房屋布局,在绘制线段时可以加入多功能标签,使得该段能够被计算处理为操作控件,具有更高的精确度和更好的便捷性。能够给出直观的位置精度以及控制墙体两侧的边界,实现精确造型。允许用户使用单条线段的方式绘制墙体内侧的不规则形状,更自由更灵活,可以绘制出不规则墙面结构,更符合实际应用情况。通过对各个细节部分的调节,实现快速构建符合户型实际结构的建模图。
Description
技术领域
本发明涉及计算机图形图像技术领域,尤其涉及一种墙体建模系统。
背景技术
市面上的设计软件在绘制2D户型图时,如图1所示,使用条形控件表示墙体,使得定位、朝向可以简单的使用鼠标实现。因为控件本身依赖于墙中线,因此不能直观的描绘内墙线以及外墙厚度。这样的表示方式要求尺寸精准,内部结构一定,这样的操作方式无法给出直观的位置精度,难以控制墙体两侧的边界。每一段墙体被创建出来时,无论是内侧还是外侧都是固定直线形状,不能绘制其他形状,也不能对细节部分进行调节,当遇到墙体内侧存在凹或凸等不规则形状时,无法绘制和调整,限制了用户生成不同形状的墙体。在建模过程中,完全按照尺寸进行绘制,速度比较慢,无法实现快速构建符合户型实际结构的建模图。
发明内容
为了克服现有技术的不足,本发明的目的在于提供一种墙体建模系统,用户能够直接绘制内墙线,指定外墙厚度,自动生成外墙,支持线段上的标注,使得自动生成门洞、窗洞变成可能,在通过内墙线和外墙线做好墙体建模的基础上,通过对各个细节部分的调节,实现快速构建符合户型实际结构的建模图。
本发明提供一种墙体建模系统,包括绘制模块、门窗模块、户型导航模块、模型库,所述绘制模块包括内墙线绘制子模块、外墙线绘制子模块、获取用户数据子模块、运算数据处理子模块和区域处理子模块;其中,
所述内墙线绘制子模块,用于激活线条绘制工具,并通过线条绘制内墙线;
所述外墙线绘制子模块,用于激活线条绘制工具,并通过线条绘制外墙线;
所述获取用户数据子模块,用于获取所述内墙线和所述外墙线;
所述运算数据处理子模块,用于保留所述内墙线和所述外墙线的标识和ID,对线段进行分拆,对数据的无效部分、重叠、不允许的操作进行剔除,抽取标识为外墙的线段集合,对所述标识为外墙的线段集合经过最大闭环处理,得到外墙环,对标识为内墙的线段集合经过最小闭环处理,得到内墙环,对标识为区域的线段集合经过最小闭环处理,得到区域环;
所述区域处理子模块,用于通过环与环之间的内涵关系确定环与环在空间中的嵌套关系,按环与环之间的区域生成对应的墙体、地板和地板内区域;
所述门窗模块,用于提供门窗件;
所述户型导航模块,用于响应于用户新建楼层请求,将第一楼层复制在当前最高楼层的层上,形成新的楼层;
所述模型库,用于提供家具、灯具、装饰,以及添加用户自定义的模型。
进一步地,所述内墙线绘制子模块,用于响应于用户绘制内墙的请求,启动绘制内墙线状态,记录点击位置坐标,在所述点击位置坐标上创建墙体内侧的起点,以当前鼠标移动时的实时位置坐标为终点,记录再次点击位置坐标,在所述再次点击位置坐标上创建墙体内侧的终点,或通过输入的线长创建墙体内侧的终点,通过所述墙体内侧的起点和所述墙体内侧的终点绘制连续的线段,判断所述墙体内侧的终点的坐标位置是否与所述墙体内侧的起点的坐标位置重合,是则认为此墙体线段已形成首尾相接的封闭区域,创建出二维的房间区域,否则继续保持绘制线段状态,等待捕获用户下一次点击鼠标的位置。
进一步地,所述外墙线绘制子模块,用于响应于用户绘制外墙的请求,启动绘制外墙线状态,记录点击位置坐标,在所述点击位置坐标上创建墙体外侧的起点,以当前鼠标移动时的实时位置坐标为终点,记录再次点击位置坐标,在所述再次点击位置坐标上创建墙体外侧的终点,通过所述墙体外侧的起点和所述墙体外侧的终点绘制连续的线段,判断所述墙体外侧的终点的坐标位置是否与所述墙体外侧的起点的坐标位置重合,是则认为此墙体线段已形成首尾相接的封闭区域,创建出二维的外墙区域,否则继续保持绘制外墙线状态,等待捕获用户下一次点击鼠标的位置;或响应于自动绘制外墙的请求,根据输入的外墙与内墙的距离绘制连续的线段,创建二维的外墙区域。
进一步地,所述绘制模块还包括编辑元素子模块,所述编辑元素子模块,用于若已绘制的内墙线、外墙线、内墙区域或外墙区域被点击,则获取点击处的元素,使所述元素处于可编辑状态,并提供若干编辑模式,根据用户选择的编辑模式编辑对应的元素。
进一步地,所述内墙线绘制子模块,用于当用户绘制第二条内墙线段时,将鼠标移动位置与第一条内墙线段终点形成距离。
进一步地,所述外墙线绘制子模块,用于当用户绘制第二条外墙线段时,将鼠标移动位置与第一条外墙线段终点形成距离;每一条所述外墙线都是位于所述内墙线的同一侧。
进一步地,所述外墙线绘制子模块,用于当绘制外墙控件被激活时,从内墙线上被选中的节点出发,按照鼠标移动方向绘制连接外墙线的承重墙线,两个所述承重墙线和对应连接的外墙线、内墙线形成封闭的承重墙区域。
进一步地,所述编辑元素子模块的元素包括线、节点、区域,所述编辑模式包括复制、修改位置、移动、转换为曲线、拆分、隐藏、删除、设置墙高、绘制承重墙、楼层局部挖空;当编辑模式为复制时,将被选中的元素复制在偏移距离处;当编辑模式为修改位置时,将被选中的元素在选择的方向上按照输入的数值进行偏移;当编辑模式为移动时,被选中的元素跟随鼠标的移动方向进行移动;当编辑模式为转换为曲线时,将被选中的元素转换为曲线,根据调整方向调整曲线;当编辑模式为拆分时,将被选中的元素进行拆分,根据调整方向调整拆分点位置,被选中的拆分部分根据鼠标移动方向进行移动;当编辑模式为隐藏时,将被选中的元素进行隐藏;当编辑模式为删除时,将被选中的元素进行删除;当编辑模式为设置墙高时,将被选中的元素按照输入的高度进行修改;当编辑模式为绘制承重墙时,将被选中的承重墙区域设置为承重墙;当编辑模式为楼层局部挖空时,挖空当前楼层被选中的内墙区域。
进一步地,所述内墙线和所述外墙线均为带标识和索引的直线数据和/或带标识和索引的曲线数据,其中,对曲线轨迹的描述使用函数类型和函数参数。
进一步地,所述运算数据处理子模块还包括当自动绘制外墙控件被激活时,对内墙线进行最大闭环查找,经过环扩张处理,计算出线段环,将所述线段环标识为外墙,并加入至所述运算数据;所述运算数据为带标识和索引的直线数据。
进一步地,所述最小闭环处理包括:
获取最外层线段单元,用于在与线段自身方向垂直的两个方向各发射一条射线,若其中一条射线没有与任何线段碰撞,则其必然落在线段结构的最外层,该射线方向为该线段的外方向,获取处于线段集最外层的线段;
计算外方向单元,用于沿着最外层线段两边的顶点,查找其他相连的线段,若遇到一个顶点同时与至少三根线段相接,则选择与当前线段外方向夹角最大的一根线段作为一个新的起点,并计算其外方向;
获得最小闭环单元,用于循环调用所述获取最外层线段单元和所述计算外方向单元,获得在线段集合中获得最小闭环,对已找到的数据进行标识。
进一步地,所述最大闭环处理包括:
获取最外层线段单元,用于在与线段自身方向垂直的两个方向各发射一条射线,若其中一条射线没有与任何线段碰撞,则其必然落在线段结构的最外层,该射线方向为该线段的外方向,获取处于线段集最外层的线段;
计算外方向单元,用于沿着最外层线段两边的顶点,查找其他相连的线段,若遇到一个顶点同时与至少三根线段相接,则选择与当前线段外方向夹角最小的一根线段作为一个新的起点,并计算其外方向;
获得最大闭环单元,用于循环调用所述获取最外层线段单元和所述计算外方向单元,获得在线段集合中获得最大闭环,对已找到的数据进行标识。
进一步地,所述环扩张处理包括:
计算交点单元,用于对于环中的每两条相邻线段,转换为两条无限延伸的直线,每条直线垂直与其中一条线段且距离为扩张距离,计算这两条直线的交点作为当前两条线段经过扩张后的新交点;
生成新环单元,用于按顺序连接新交点得出新环,若所述新环自相交,则丢弃包含原始线段夹角为钝角的一侧。
进一步地,所述区域处理子模块包括:
三角面化处理单元,用于将区域进行三角面化,经过位置和反转处理成上下两个面;
生成四边形单元,用于将组成区域的每一条线段复制位置,复制体和本体连接成四边形,组成一个侧面;若多条线段都在同一直线上,且其中包含被标识为门窗,则当这一列线段体生成四边形时,用门窗线段体生成四边形,两个四边形运算得到带洞表面,将所述带洞表面作为侧面输出;
生成三维模型单元,用于将所有表面组合成三维模型。
相比现有技术,本发明的有益效果在于:
本发明通过内墙线定义房间区域,不同于使用控件来代替墙体的做法,可以完全按照量尺数据精确生成房屋布局,在绘制线段时可以加入多功能标签,使得该段能够被计算处理为操作控件,比起传统的控件拖拽或墙体预留位置布局有更高的精确度和更好的便捷性,数据结构简单合理,对添加类型支持和更多计算处理非常友好。能够给出直观的位置精度以及控制墙体两侧的边界,实现精确造型。允许用户使用不带实际厚度的单条线段的方式绘制墙体内侧的不规则形状,此绘制方式更自由更灵活,可以绘制出不规则墙面结构,更符合实际应用情况。在通过内墙线和外墙线做好墙体建模的基础上,通过对各个细节部分的调节,实现快速构建符合户型实际结构的建模图。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,并可依照说明书的内容予以实施,以下以本发明的较佳实施例并配合附图详细说明如后。本发明的具体实施方式由以下实施例及其附图详细给出。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明背景技术中使用条形控件表示墙体的示意图;
图2为本发明的一种墙体建模系统框图;
图3为本发明的绘制内墙线段流程图;
图4为本发明的绘制外墙线段流程图;
图5为本发明的最小闭环处理流程图;
图6为本发明的最大闭环处理流程图。
具体实施方式
下面,结合附图以及具体实施方式,对本发明做进一步描述,需要说明的是,在不相冲突的前提下,以下描述的各实施例之间或各技术特征之间可以任意组合形成新的实施例。
在现实生活中,用户(室内设计师为主)会进入业主的实体房间进行测量。测量的对象一般只是墙体在室内一侧的长度或宽度尺寸,以毫米为单位,而室外墙体由于无法接触,因此其尺寸是难以测量的。对于一般家装室内设计为目标的项目来说,外墙尺寸并没有太大采集意义。
当设计师开始测量墙体的室内侧尺寸时,一般会从房间的进门处开始,沿着单侧墙体测量第一段墙体的长度,当遇到拐角时继续测量第二段墙体长度,当遇到下一个拐角时测量第三段墙体的长度,以此类推,直到回到跟第一次测量墙体相接的位置,完成围绕房间一周的测量工作,并记录下每一段墙体的长度和所处方位。本发明为了迎合设计师的测量习惯,设计了模拟此测量方式的墙体建模系统,实现类似的绘制墙体方式。具体实现方式如下:
一种墙体建模系统,如图2所示,包括绘制模块、门窗模块、户型导航模块、模型库,绘制模块包括内墙线绘制子模块、外墙线绘制子模块、获取用户数据子模块、运算数据处理子模块和区域处理子模块;其中,
如图3所示,内墙线绘制子模块,用于激活线条绘制工具,并通过线条绘制内墙线。具体的,当用户(设计师)使用鼠标点击“画内墙”工具按钮时,响应于用户绘制内墙的请求,触发系统事件,启动绘制内墙线状态,用户移动鼠标到二维绘制界面中,点击鼠标左键松开,记录点击位置坐标(x,y),在点击位置坐标上创建墙体内侧的起点。用户拖动鼠标,绘制一条不带厚度的线段,该线段以上述点击位置为起点,以当前鼠标移动时的实时位置坐标为终点,本实施例中,以每秒30次的速度,使线段终点实时跟随鼠标移动。当用户将鼠标移动到跟起点距离达到预先测量值或想要的距离时,停止移动鼠标,并点击左键松开,触发系统事件,结束这条线段的绘制状态,并记录再次点击位置坐标(x,y),在再次点击位置坐标上创建墙体内侧的终点,或通过输入的线长创建墙体内侧的终点,通过墙体内侧的起点和墙体内侧的终点绘制连续的线段。此时触发事件,判断墙体内侧的终点的坐标位置是否与墙体内侧的起点的坐标位置重合,是则认为此墙体线段已形成首尾相接的封闭区域,创建出二维的房间区域,否则继续保持绘制线段状态,等待捕获用户下一次点击鼠标的位置。
当用户绘制第二条内墙线段时,无需再次点击一次起点,只需要继续移动鼠标位置与第一条内墙线段终点形成距离,并达到预先测量值或想要的距离,就可以再次点击鼠标左键松开,触发系统事件,结束第二条内墙线段的绘制状态。以此类推,即可连续绘制墙体内侧线段,直到最后一条线段的终点落在绘制第一条内墙线段的起点时,触发系统事件,判断是否首尾相接,如果是则触发系统事件,创建一个封闭的二维房间区域。
用户完成内侧墙线段区域绘制操作后,开始绘制外侧墙线段。操作方式与绘制内侧墙体线段基本一致。如图4所示,外墙线绘制子模块,用于激活线条绘制工具,并通过线条绘制外墙线。具体的,当用户使用鼠标点击“画外墙”按钮时,响应于用户绘制外墙的请求,触发系统事件,启动绘制外墙线状态,记录点击位置坐标,在点击位置坐标上创建墙体外侧的起点,以当前鼠标移动时的实时位置坐标为终点,记录再次点击位置坐标,在再次点击位置坐标上创建墙体外侧的终点,通过墙体外侧的起点和墙体外侧的终点绘制连续的线段,每一条外墙线段都是位于内墙线段的同一侧,判断墙体外侧的终点的坐标位置是否与墙体外侧的起点的坐标位置重合,是则认为此墙体线段已形成首尾相接的封闭区域,创建出二维的外墙区域,否则继续保持绘制外墙线状态,等待捕获用户下一次点击鼠标的位置;或响应于自动绘制外墙的请求,根据输入的外墙与内墙的距离绘制连续的线段,创建二维的外墙区域;
当用户绘制第二条外墙线段时,无需再次点击一次起点,只需要继续移动鼠标位置与第一条外墙线段终点形成距离,并达到预先测量值或想要的距离,就可以再次点击鼠标左键松开,触发系统事件,结束第二条外墙线段的绘制状态。以此类推,即可连续绘制墙体外侧线段,直到最后一条线段的终点落在绘制第一条外墙线段的起点时,触发系统事件,判断是否首尾相接,如果是则触发系统事件,创建一个封闭的外墙区域。
当绘制外墙控件被激活时,从内墙线上被选中的节点出发,按照鼠标移动方向绘制连接外墙线的承重墙线,两个承重墙线和对应连接的外墙线、内墙线形成封闭的承重墙区域。
绘制模块还包括编辑元素子模块,用于若已绘制的内墙线、外墙线、内墙区域或外墙区域被点击,则获取点击处的元素,元素包括线、节点、区域,使元素处于可编辑状态,并提供若干编辑模式,编辑模式包括复制、修改位置、移动、转换为曲线、拆分、隐藏、删除、设置墙高、绘制承重墙、楼层局部挖空,根据用户选择的编辑模式编辑对应的元素。当编辑模式为复制时,将被选中的线或节点复制在偏移距离处;当编辑模式为修改位置时,将被选中的线或节点在选择的方向上按照输入的数值进行偏移;当编辑模式为移动时,被选中的线或节点跟随鼠标的移动方向进行移动;当编辑模式为转换为曲线时,将被选中的线转换为曲线,根据调整方向调整曲线;当编辑模式为拆分时,将被选中的线进行拆分,根据调整方向调整拆分点位置,被选中的拆分部分根据鼠标移动方向进行移动;当编辑模式为隐藏时,将被选中的线或节点进行隐藏;当编辑模式为删除时,将被选中的线或节点进行删除;当编辑模式为设置墙高时,将被选中的区域按照输入的高度进行修改,当选择的是整个墙体时,可设置整体墙体的高度;当编辑模式为绘制承重墙时,将被选中的承重墙区域设置为承重墙,此处承重墙为标准模型,已经内嵌至系统中。当编辑模式为楼层局部挖空时,挖空当前楼层被选中的内墙区域。不用完全按照尺寸一步一步进行绘制,实现快速构建符合户型实际结构的建模图。
获取用户数据子模块,用于获取内墙线和外墙线;内墙线和外墙线均为带标识和索引的直线数据和/或带标识和索引的曲线数据,其中,对曲线轨迹的描述使用函数类型和函数参数。
运算数据处理子模块,用于在保留用户数据的标识和ID的情况下,对线段进行分拆,对数据的无效部分、重叠、不允许的操作进行剔除,抽取标识为外墙的线段集合,对标识为外墙的线段集合经过最大闭环处理,得到外墙环,对标识为内墙的线段集合经过最小闭环处理,得到内墙环,对标识为区域的线段集合经过最小闭环处理,得到区域环。运算数据为单一的带标识和索引的直线数据。对于曲线轨迹的直线化,本发明使用迭代按角度对边线的方法进行切分,得到在同样的段数下,较平滑的线段轨迹。
如图5所示,最小闭环处理包括:
获取最外层线段单元,用于在与线段自身方向垂直的两个方向各发射一条射线,若其中一条射线没有与任何线段碰撞,则其必然落在线段结构的最外层,该射线方向为该线段的外方向,获取处于线段集最外层的线段;
计算外方向单元,用于沿着最外层线段两边的顶点,查找其他相连的线段,若遇到一个顶点同时与至少三根线段相接,则选择与当前线段外方向夹角最大的一根线段作为一个新的起点,此条件使得多边形在图形上下文中为最小闭环,并计算其外方向;
获得最小闭环单元,用于循环调用获取最外层线段单元和计算外方向单元,获得在线段集合中获得最小闭环,为驱动搜索寻找新的闭环,对已找到的数据进行标识。
如图6所示,最大闭环处理包括:
获取最外层线段单元,用于在与线段自身方向垂直的两个方向各发射一条射线,若其中一条射线没有与任何线段碰撞,则其必然落在线段结构的最外层,该射线方向为该线段的外方向,获取处于线段集最外层的线段;
计算外方向单元,用于沿着最外层线段两边的顶点,查找其他相连的线段,若遇到一个顶点同时与至少三根线段相接,则选择与当前线段外方向夹角最小的一根线段作为一个新的起点,此条件使得多边形在图形上下文中为最大闭环,并计算其外方向;
获得最大闭环单元,用于循环调用获取最外层线段单元和计算外方向单元,获得在线段集合中获得最大闭环,为驱动搜索寻找新的闭环,对已找到的数据进行标识。
在一实施例中,运算数据处理子模块还包括当自动绘制外墙控件被激活时,对内墙线进行最大闭环查找,经过环扩张处理,计算出线段环,将线段环标识为外墙,并加入至运算数据。本实施例中,环扩张处理包括:
计算交点单元,用于对于环中的每两条相邻线段,转换为两条无限延伸的直线,每条直线垂直与其中一条线段且距离为扩张距离,计算这两条直线的交点作为当前两条线段经过扩张后的新交点;
生成新环单元,用于按顺序连接新交点得出新环,若新环自相交,则丢弃包含原始线段夹角为钝角的一侧。
区域处理子模块,用于通过环与环之间的内涵关系确定环与环在空间中的嵌套关系,按环与环之间的区域生成对应的墙体、地板和地板内区域。区域处理子模块包括:
三角面化处理单元,用于将区域进行三角面化,经过位置和反转处理成上下两个面;
生成四边形单元,用于将组成区域的每一条线段复制位置,复制体和本体连接成四边形,组成一个侧面;若多条线段都在同一直线上,且其中包含被标识为门窗,则当这一列线段体生成四边形时,用门窗线段体生成四边形,根据预设的门窗高度范围,两个四边形运算得到带洞表面,将带洞表面作为侧面输出。
生成三维模型单元,用于将所有表面组合成三维模型。
门窗模块,用于提供门窗件;
户型导航模块,用于响应于用户新建楼层请求,将第一楼层复制在当前最高楼层的层上,形成新的楼层。对公寓、别墅的建模有很好的作用。因为别墅、公寓类建筑的二层以上的户型基本上是在第一层的基础上作为一定的调整。由于第一层的外墙和内墙都是通过线条绘制,同时可以对元素进行编辑,为第二层的调整提供了方便。
模型库,用于提供家具、灯具、装饰等,以及添加用户自定义的模型。即预先设置有一些模型,包括标准模型和自定义设置的模型,以便在建模时直接拖入使用,节省建模时间。
其他的控件可以根据建模的界面合理补入。
本发明通过内墙线定义房间区域,不同于使用控件来代替墙体的做法,可以完全按照量尺数据精确生成房屋布局,在绘制线段时可以加入多功能标签,使得该段能够被计算处理为操作控件,比起传统的控件拖拽或墙体预留位置布局有更高的精确度和更好的便捷性,数据结构简单合理,对添加类型支持和更多计算处理非常友好。能够给出直观的位置精度以及控制墙体两侧的边界,实现精确造型。允许用户使用不带实际厚度的单条线段的方式绘制墙体内侧的不规则形状,此绘制方式更自由更灵活,可以绘制出不规则墙面结构,更符合实际应用情况。在通过内墙线和外墙线做好墙体建模的基础上,通过对各个细节部分的调节,实现快速构建符合户型实际结构的建模图。
以上,仅为本发明的较佳实施例而已,并非对本发明作任何形式上的限制;凡本行业的普通技术人员均可按说明书附图所示和以上而顺畅地实施本发明;但是,凡熟悉本专业的技术人员在不脱离本发明技术方案范围内,利用以上所揭示的技术内容而做出的些许更动、修饰与演变的等同变化,均为本发明的等效实施例;同时,凡依据本发明的实质技术对以上实施例所作的任何等同变化的更动、修饰与演变等,均仍属于本发明的技术方案的保护范围之内。
Claims (11)
1.一种墙体建模系统,其特征在于:包括绘制模块、门窗模块、户型导航模块、模型库,所述绘制模块包括内墙线绘制子模块、外墙线绘制子模块、获取用户数据子模块、运算数据处理子模块和区域处理子模块;其中,
所述内墙线绘制子模块,用于激活线条绘制工具,并通过线条绘制内墙线;
所述外墙线绘制子模块,用于激活线条绘制工具,并通过线条绘制外墙线;
所述获取用户数据子模块,用于获取所述内墙线和所述外墙线;
所述运算数据处理子模块,用于保留所述内墙线和所述外墙线的标识和ID,对线段进行分拆,对数据的无效部分、重叠、不允许的操作进行剔除,抽取标识为外墙的线段集合,对所述标识为外墙的线段集合经过最大闭环处理,得到外墙环,对标识为内墙的线段集合经过最小闭环处理,得到内墙环,对标识为区域的线段集合经过最小闭环处理,得到区域环;
所述区域处理子模块,用于通过环与环之间的内涵关系确定环与环在空间中的嵌套关系,按环与环之间的区域生成对应的墙体、地板和地板内区域;
所述门窗模块,用于提供门窗件;
所述户型导航模块,用于响应于用户新建楼层请求,将第一楼层复制在当前最高楼层的层上,形成新的楼层;
所述模型库,用于提供家具、灯具、装饰,以及添加用户自定义的模型;
所述最小闭环处理包括:
获取最外层线段单元,用于在与线段自身方向垂直的两个方向各发射一条射线,若其中一条射线没有与任何线段碰撞,则其必然落在线段结构的最外层,该射线方向为该线段的外方向,获取处于线段集最外层的线段;
计算外方向单元,用于沿着最外层线段两边的顶点,查找其他相连的线段,若遇到一个顶点同时与至少三根线段相接,则选择与当前线段外方向夹角最大的一根线段作为一个新的起点,并计算其外方向;
获得最小闭环单元,用于循环调用所述获取最外层线段单元和所述计算外方向单元,获得在线段集合中获得最小闭环,对已找到的数据进行标识;
所述最大闭环处理包括:
获取最外层线段单元,用于在与线段自身方向垂直的两个方向各发射一条射线,若其中一条射线没有与任何线段碰撞,则其必然落在线段结构的最外层,该射线方向为该线段的外方向,获取处于线段集最外层的线段;
计算外方向单元,用于沿着最外层线段两边的顶点,查找其他相连的线段,若遇到一个顶点同时与至少三根线段相接,则选择与当前线段外方向夹角最小的一根线段作为一个新的起点,并计算其外方向;
获得最大闭环单元,用于循环调用所述获取最外层线段单元和所述计算外方向单元,获得在线段集合中获得最大闭环,对已找到的数据进行标识;
所述区域处理子模块包括:
三角面化处理单元,用于将区域进行三角面化,经过位置和反转处理成上下两个面;
生成四边形单元,用于将组成区域的每一条线段复制位置,复制体和本体连接成四边形,组成一个侧面;若多条线段都在同一直线上,且其中包含被标识为门窗,则当这一列线段体生成四边形时,用门窗线段体生成四边形,两个四边形运算得到带洞表面,将所述带洞表面作为侧面输出;
生成三维模型单元,用于将所有表面组合成三维模型。
2.如权利要求1所述的一种墙体建模系统,其特征在于:所述内墙线绘制子模块,用于响应于用户绘制内墙的请求,启动绘制内墙线状态,记录点击位置坐标,在所述点击位置坐标上创建墙体内侧的起点,以当前鼠标移动时的实时位置坐标为终点,记录再次点击位置坐标,在所述再次点击位置坐标上创建墙体内侧的终点,或通过输入的线长创建墙体内侧的终点,通过所述墙体内侧的起点和所述墙体内侧的终点绘制连续的线段,判断所述墙体内侧的终点的坐标位置是否与所述墙体内侧的起点的坐标位置重合,是则认为此墙体线段已形成首尾相接的封闭区域,创建出二维的房间区域,否则继续保持绘制线段状态,等待捕获用户下一次点击鼠标的位置。
3.如权利要求2所述的一种墙体建模系统,其特征在于:所述外墙线绘制子模块,用于响应于用户绘制外墙的请求,启动绘制外墙线状态,记录点击位置坐标,在所述点击位置坐标上创建墙体外侧的起点,以当前鼠标移动时的实时位置坐标为终点,记录再次点击位置坐标,在所述再次点击位置坐标上创建墙体外侧的终点,通过所述墙体外侧的起点和所述墙体外侧的终点绘制连续的线段,判断所述墙体外侧的终点的坐标位置是否与所述墙体外侧的起点的坐标位置重合,是则认为此墙体线段已形成首尾相接的封闭区域,创建出二维的外墙区域,否则继续保持绘制外墙线状态,等待捕获用户下一次点击鼠标的位置;或响应于自动绘制外墙的请求,根据输入的外墙与内墙的距离绘制连续的线段,创建二维的外墙区域。
4.如权利要求3所述的一种墙体建模系统,其特征在于:所述绘制模块还包括编辑元素子模块,所述编辑元素子模块,用于若已绘制的内墙线、外墙线、内墙区域或外墙区域被点击,则获取点击处的元素,使所述元素处于可编辑状态,并提供若干编辑模式,根据用户选择的编辑模式编辑对应的元素。
5.如权利要求3所述的一种墙体建模系统,其特征在于:所述内墙线绘制子模块,用于当用户绘制第二条内墙线段时,将鼠标移动位置与第一条内墙线段终点形成距离。
6.如权利要求3所述的一种墙体建模系统,其特征在于:所述外墙线绘制子模块,用于当用户绘制第二条外墙线段时,将鼠标移动位置与第一条外墙线段终点形成距离;每一条所述外墙线都是位于所述内墙线的同一侧。
7.如权利要求4所述的一种墙体建模系统,其特征在于:所述外墙线绘制子模块,用于当绘制外墙控件被激活时,从内墙线上被选中的节点出发,按照鼠标移动方向绘制连接外墙线的承重墙线,两个所述承重墙线和对应连接的外墙线、内墙线形成封闭的承重墙区域。
8.如权利要求7所述的一种墙体建模系统,其特征在于:所述编辑元素子模块的元素包括线、节点、区域,所述编辑模式包括复制、修改位置、移动、转换为曲线、拆分、隐藏、删除、设置墙高、绘制承重墙、楼层局部挖空;当编辑模式为复制时,将被选中的元素复制在偏移距离处;当编辑模式为修改位置时,将被选中的元素在选择的方向上按照输入的数值进行偏移;当编辑模式为移动时,被选中的元素跟随鼠标的移动方向进行移动;当编辑模式为转换为曲线时,将被选中的元素转换为曲线,根据调整方向调整曲线;当编辑模式为拆分时,将被选中的元素进行拆分,根据调整方向调整拆分点位置,被选中的拆分部分根据鼠标移动方向进行移动;当编辑模式为隐藏时,将被选中的元素进行隐藏;当编辑模式为删除时,将被选中的元素进行删除;当编辑模式为设置墙高时,将被选中的元素按照输入的高度进行修改;当编辑模式为绘制承重墙时,将被选中的承重墙区域设置为承重墙;当编辑模式为楼层局部挖空时,挖空当前楼层被选中的内墙区域。
9.如权利要求1所述的一种墙体建模系统,其特征在于:
所述内墙线和所述外墙线均为带标识和索引的直线数据和/或带标识和索引的曲线数据,其中,对曲线轨迹的描述使用函数类型和函数参数。
10.如权利要求1所述的一种墙体建模系统,其特征在于:所述运算数据处理子模块还包括当自动绘制外墙控件被激活时,对内墙线进行最大闭环处理,经过环扩张处理,计算出线段环,将所述线段环标识为外墙,并加入至所述运算数据;所述运算数据为带标识和索引的直线数据。
11.如权利要求10所述的一种墙体建模系统,其特征在于:所述环扩张处理包括:
计算交点单元,用于对于环中的每两条相邻线段,转换为两条无限延伸的直线,每条直线垂直与其中一条线段且距离为扩张距离,计算这两条直线的交点作为当前两条线段经过扩张后的新交点;
生成新环单元,用于按顺序连接新交点得出新环,若所述新环自相交,则丢弃包含原始线段夹角为钝角的一侧。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011563799.7A CN112819915B (zh) | 2020-12-25 | 2020-12-25 | 一种墙体建模系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011563799.7A CN112819915B (zh) | 2020-12-25 | 2020-12-25 | 一种墙体建模系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112819915A CN112819915A (zh) | 2021-05-18 |
CN112819915B true CN112819915B (zh) | 2023-05-09 |
Family
ID=75853918
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011563799.7A Active CN112819915B (zh) | 2020-12-25 | 2020-12-25 | 一种墙体建模系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112819915B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114444183A (zh) * | 2022-01-25 | 2022-05-06 | 大元建业集团股份有限公司 | 一种基于函数关系的复杂墙体建模方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007115238A (ja) * | 2005-09-20 | 2007-05-10 | Fukui Computer Kk | 2次元cadデータ処理装置、2次元cadデータ処理方法、2次元cadデータ処理プログラム、及び閉領域識別方法 |
CN107527372A (zh) * | 2017-07-12 | 2017-12-29 | 深圳市彬讯科技有限公司 | 一种内墙绘制精准的户型输出系统及其绘制使用方法 |
CN108446830A (zh) * | 2018-02-13 | 2018-08-24 | 厦门知本家科技有限公司 | 一种基于移动设备端的户型日照分析方法 |
CN110782505A (zh) * | 2019-11-04 | 2020-02-11 | 广东三维家信息科技有限公司 | 房间墙体绘制方法及装置 |
CN111159800A (zh) * | 2019-12-13 | 2020-05-15 | 佛山欧神诺云商科技有限公司 | 一种基于cad文件自动生成3d模型的方法及装置 |
-
2020
- 2020-12-25 CN CN202011563799.7A patent/CN112819915B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007115238A (ja) * | 2005-09-20 | 2007-05-10 | Fukui Computer Kk | 2次元cadデータ処理装置、2次元cadデータ処理方法、2次元cadデータ処理プログラム、及び閉領域識別方法 |
CN107527372A (zh) * | 2017-07-12 | 2017-12-29 | 深圳市彬讯科技有限公司 | 一种内墙绘制精准的户型输出系统及其绘制使用方法 |
CN108446830A (zh) * | 2018-02-13 | 2018-08-24 | 厦门知本家科技有限公司 | 一种基于移动设备端的户型日照分析方法 |
CN110782505A (zh) * | 2019-11-04 | 2020-02-11 | 广东三维家信息科技有限公司 | 房间墙体绘制方法及装置 |
CN111159800A (zh) * | 2019-12-13 | 2020-05-15 | 佛山欧神诺云商科技有限公司 | 一种基于cad文件自动生成3d模型的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112819915A (zh) | 2021-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2020200546B2 (en) | Structure modelling | |
WO2019242174A1 (zh) | 基于激光雷达的建筑结构自动测量及3d模型生成方法 | |
CN109408907B (zh) | 一种制造三维建筑实物模型的方法和装置 | |
CN114357598A (zh) | 用于生成建筑物映射信息的自动工具 | |
US9646425B2 (en) | Inspection program editing environment with editing environment automatically globally responsive to editing operations in any of its portions | |
CN109974703B (zh) | 一种室内导航网络的构建方法、系统及装置 | |
US9952586B2 (en) | Inspection program editing environment with simulation status and control continually responsive to selection operations | |
US9933256B2 (en) | Inspection program editing environment including real-time feedback related to throughput | |
CN112819915B (zh) | 一种墙体建模系统 | |
WO2022257332A1 (zh) | 机器人建图方法、装置、机器人及计算机可读存储介质 | |
WO2020244121A1 (zh) | 一种地图信息处理方法、装置及移动设备 | |
CN110210063A (zh) | 一种基于cad快速生成建筑立面图的方法 | |
AU2022200471A1 (en) | Automated mapping information generation from analysis of building photos | |
WO2022192417A1 (en) | Methods and apparatus for artificial intelligence conversion of change orders into an actionable interface | |
CN112837395B (zh) | 一种快速构建户型结构的建模方法、电子设备、存储介质 | |
CN112861205B (zh) | 一种墙体建模方法、电子设备、存储介质 | |
CN109165399A (zh) | 一种基于SketchUp API的自动化三维建筑建模方法与系统 | |
CN117150613A (zh) | 基于Autodesk CAD和Revit二次开发的室内装修方案建模方法 | |
CN114494719A (zh) | 一种建筑专业卧室空间进深空间的识别方法 | |
US20220156428A1 (en) | Generating Technical Drawings From Building Information Models | |
CN114626167B (zh) | 一种暖通专业采暖平面图中地暖的自动敷设方法 | |
Hawas et al. | Integrating value map with Building Information Modeling approach for documenting historic buildings in Egypt | |
Lee et al. | Automated Destination Renewal Process for Location-Based Robot Errands | |
KR102554032B1 (ko) | 신경망을 이용한 실내 공간 측정 방법 및 장치 | |
WO2024004453A1 (ja) | 移動体制御情報生成方法、移動体制御情報生成装置、および移動体、並びに移動体制御システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |