CN111932667B - 一种基于两种房型输入生成3d模型的综合处理方法 - Google Patents

一种基于两种房型输入生成3d模型的综合处理方法 Download PDF

Info

Publication number
CN111932667B
CN111932667B CN202010739004.7A CN202010739004A CN111932667B CN 111932667 B CN111932667 B CN 111932667B CN 202010739004 A CN202010739004 A CN 202010739004A CN 111932667 B CN111932667 B CN 111932667B
Authority
CN
China
Prior art keywords
data
house type
line
room
dimensional
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
Application number
CN202010739004.7A
Other languages
English (en)
Other versions
CN111932667A (zh
Inventor
肖丹
吴文华
李任
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Yunlang Information Technology Co ltd
Original Assignee
Shanghai Yunlang Information Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Yunlang Information Technology Co ltd filed Critical Shanghai Yunlang Information Technology Co ltd
Priority to CN202010739004.7A priority Critical patent/CN111932667B/zh
Publication of CN111932667A publication Critical patent/CN111932667A/zh
Application granted granted Critical
Publication of CN111932667B publication Critical patent/CN111932667B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/13Architectural design, e.g. computer-aided architectural design [CAAD] related to design of buildings, bridges, landscapes, production plants or roads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/04Indexing scheme for image data processing or generation, in general involving 3D image data

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Architecture (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • Structural Engineering (AREA)
  • Computational Mathematics (AREA)
  • Civil Engineering (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明公开了一种基于两种房型输入生成3D模型的综合处理方法,涉及房型三维建模技术领域。本发明包括:S1、用户直接选择CAD图纸导入还是手拍房型照片导入;S2、平台分别由步骤S21、CAD设计图导入技术方案和步骤S22、手绘房型图或房型图照片导入技术方案生成三维模型;S3、获取到的三维墙面模型基础上,进行房间内外部编辑和设计,保存并输出房间三维建筑模型。本发明技术使用范围广,无需手工画制房型,节省了三维设计师在初始建模阶段;具有操作简便、时间短、不会造成数据错误、房型比例失真的问题,同时无需顾及所有的房型,无需建立庞大的数据库作为支撑,高效便捷。

Description

一种基于两种房型输入生成3D模型的综合处理方法
技术领域
本发明属于房型三维建模技术领域,特别是涉及一种基于两种房型输入生成3D模型的综合处理方法。
背景技术
在使用Unity3D或基于Unity3D开发的应用中,有一类是进行房屋装修设计。这类功能的第一步,就是要正确输入房型图,将目前存在的房型图,输入Unity3D系统;目前房型图常见的几种形式包括常见房型图照片、常见手绘房型图、常见CAD房型绘制图。目前的应用会提供一些功能用来解决这个问题:第一种是手绘,就是让设计师直接画。第二种是系统收集各种房型图库,让用户选择自己的房型。在实际上使用中发现,这两种方法都存在一些问题:第一种,比较难操作,很费时间,而且容易数据错误,房型比例失真等等;第二种,无法顾及所有的房型,要知道将全国所有的房型收集,将是多大的工作,更不要谈还要实时更新。所以需要提出一些更好的方法来解决或者说补充解决这个问题,鉴于当前技术和已经大量存在的CAD图纸,本技术提出了两种房型图输入方案,即CAD图纸导入方式,人工智能识别房型照片的方式。一般情况下,需要从房型图或者CAD设计图片,获得二维数据线性图,然后在Unity3D下生成三维模型。因此针对以上问题,提供一种基于两种房型输入生成3D模型的综合处理方法具有重要意义。
发明内容
本发明提供了一种基于两种房型输入生成3D模型的综合处理方法,用于在房屋三维建模过程中,提出了两种方法的房型数据输入和处理及建模过程,该两种方法,是为了节省三维设计师在初始建模阶段,能快速将大量已经存在的,可用的房型数据,输入到系统中。从而避免大量重复且容易出错的手工重画房型的工作。
为解决上述技术问题,本发明是通过以下技术方案实现的:
本发明的一种基于两种房型输入生成3D模型的综合处理方法,支持IOS/AndroidAPP,包括如下步骤:
S1、用户直接选择CAD图纸导入还是手拍房型照片导入:
对于CAD图纸导入,是由用户选择“导入CAD”,然后上传一个扩展名为.dxf的文件,然后平台系统调用专门的dxf解析器,生成建模所需要的线图数据;
对于手拍房型照片导入,是直接将包括手绘房型图或常见房型图照片的手拍房型照片选择“房型识别”功能,然后上传一个.jpg或.png图片,系统调用图形识别技术,转化成线图;
若用户上传了其它格式的文件,则提示用户文件格式不对;
S2、平台对判断识别出来的导入图纸为CAD房型图还是手绘房型图或房型图照片,分别由步骤S21、CAD设计图导入技术方案和步骤S22、手绘房型图或房型图照片导入技术方案生成三维模型;
其中:所述步骤S21、CAD设计图导入技术方案包括以下步骤:
S211、CAD图纸引入,识别线图:导入CAD图纸后识别获取双线形式的以墙体、门窗为对象的线图;
S212、线图预处理:合并双线图变成单线图并转化成系统可用的粗黑线图;
S213、识别并导入画房,生成三维模型:使用Python调用OpenCV相关算法,生成单线闭合线组,一个线组代表一个房间,前端Unity3D直接使用线组的数据生成二维线条数据平面房间;生成二维线条数据平面房间并计算一些墙体数据后,使用Unity3D里面的Mesh根据二维线条数据平面房间生成三维墙面模型;
其中:所述步骤S22、手绘房型图或房型图照片导入技术方案包括以下步骤:
S221、手绘房型图或房型图照片引入,Python图纸识别,获取线图:设计师通过拍照的方式,将现成的房型图,或者手绘的房型图,拍成照片保存到手机并引入平台前端内;当用户选择开始识别后,程序会调用一个Python+OpenCV写的智能图形识别接口,通过这个接口,将上述图片转成线组的数据,该线组数据存在很多墙壁断开的情况;
S222、获取线图预处理,主要是对图片进行修补:利用java语言画图功能,通过“补偿性尝试”算法,将断开的墙壁自动延伸;完成延伸后,将该数据以图片或JSON数据的方式输出,对修补过的图片再次进行Python+OpenCV识别,使房型缺失的线组数据基本填充完成;
S223、数据闭合,导入画房环境:通过数据闭合方法,保证房型线组数据的清洁,提取其中有效的数据,生成闭合房间,排除无效的数据,排除无效的线,排除无效的点信息;完成后,前端Unity3D直接使用线组的数据生成二维线条数据平面房间;生成二维线条数据平面房间并计算一些墙体数据后,使用Unity3D里面的Mesh根据二维线条数据平面房间生成三维墙面模型;
S3、获取到的三维墙面模型基础上,进行房间内外部编辑和设计,保存并输出房间三维建筑模型。
进一步地,所述步骤S211具体为:系统支持DXF和DWG标准CAD图纸文件格式;前端获取文件夹权限,让用户从自己的文件夹里面选择自己的dxf文件或者dwg文件;然后使用netdxf插件,根据文件路径获取到直接读取到文件的属性结构DxfDocument,其中,Lines为cad图纸中单线的数据,本技术只取线的起点和终点,保存成一条json,用来递交给下一步做处理。
进一步地,所述步骤S212具体为:将数据转像素,将CAD标准单位毫米,转成厘米对应像素;定义并判断,哪些线为一个墙壁的两个面,将一个墙体两个面之间的位置进行填充。
进一步地,所述步骤S213中墙体数据为:
(1)、3D墙的地面由六个点组成,需要先算出这六个点,其中两点为起始点和终点;
(2)、计算Mesh的顶点;
(3)、计算Mesh的三角形数据。
进一步地,所述步骤S223中数据闭合方法包括如下步骤:
(1)、把原始数据重新排列,提取里面所有的线段,同时完成去重功能;
(2)、计算所有线段的交点,如果发现交点,就要从交点扩展出线段;
(3)、对所有线段进行扫描,扫描出闭合线组,同时完成去重;
(4)、根据设计师后期对房型的使用情况,对闭合线组进行优化;
(5)、对所有线段进行扫描,扫描出非闭合线,同时完成去重;
(6)、将闭合数据和非闭合数据进行重新组合,构成后期可以使用的JSON格式数据。
进一步地,所述步骤S3中房间内外部编辑和设计的内容包括各种装饰用的模型、素材、灯光元素;保存并输出的所述房间三维建筑模型包括以下空间里面相关的所有数据:
(1)、墙壁、天花板、地板数据;
(2)、模型空间数据,材质数据;
(3)、灯光数据;
(4)、天空盒数据;
(5)、摄像机空间数据;
(6)、视频数据。
本发明相对于现有技术包括有以下有益效果:
1、本发明的技术使用范围广,可应用于家装设计、展览馆设计、三维家具设计、房屋设计、机械设计、文创定制、设计教育课程等领域。
2、本发明无需手工画制房型,基于两种方法的房型输入和处理及建模过程,节省了三维设计师在初始建模阶段,能够快速地将大量已经存在的,可用的房型数据,快速、精准、高效地输入至系统中,避免大量重复且容易出错的手工重画房型的工作的问题。
3、本发明相对于现有的手绘以及系统收集各种房型图库,让用户选择自己的房型的方式,具有操作简便、时间短、不会造成数据错误、房型比例失真的问题,同时无需顾及所有的房型,无需建立庞大的数据库作为支撑,高效便捷。
当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的一种基于两种房型输入生成3D模型的综合处理方法的流程步骤图;
图2为应用本发明的常见房型图照片和常见手绘房型图;
图3为应用本发明的常见CAD房型绘制图;
图4为基于本方法生成的3D模型图;
图5为基于步骤S212转换成的双线房型图;
图6为基于步骤S212转换成的粗黑线房型图;
图7为基于步骤S221获取相册的图片展示于平台界面的图;
图8为基于步骤S221获取的墙壁断开的房型线图;
图9为基于步骤S222形成的修补后的房型线图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
请参阅图1-9所示,本发明的一种基于两种房型输入生成3D模型的综合处理方法,基于Unity3D(2017以上版本)的开发技术,脚本使用C#语言,支持IOS/Android APP,在行业上,可以适用于家装设计,展览馆设计,三维家具设计,房屋设计,机械设计,文创定制,设计教育课程等领域。部分技术实现需要服务端支持,服务端环境为Linux,Java,Python,MySQL,PHP。本发明技术内容,主要讲解了在房屋三维建模过程中,提出了两种方法的房型数据输入和处理及建模过程。之所以提出这两种方法,是为了节省三维设计师在初始建模阶段,能快速将大量已经存在的,可用的房型数据,输入到系统中。从而避免大量重复且容易出错的手工重画房型的工作
本发明包括如下步骤:
S1、用户直接选择CAD图纸导入还是手拍房型照片导入:
对于CAD图纸导入,是由用户选择“导入CAD”,然后上传一个扩展名为.dxf的文件,然后平台系统调用专门的dxf解析器,生成建模所需要的线图数据;
对于手拍房型照片导入,是直接将包括手绘房型图或常见房型图照片的手拍房型照片选择“房型识别”功能,然后上传一个.jpg或.png图片,系统调用图形识别技术,转化成线图;
若用户上传了其它格式的文件,则提示用户文件格式不对;
S2、平台对判断识别出来的导入图纸为CAD房型图还是手绘房型图或房型图照片,分别由步骤S21、CAD设计图导入技术方案和步骤S22、手绘房型图或房型图照片导入技术方案生成三维模型;
其中:步骤S21、CAD设计图导入技术方案包括以下步骤:
S211、CAD图纸引入,识别线图:导入CAD图纸后识别获取双线形式的以墙体、门窗为对象的线图;
步骤S211具体为:系统支持DXF和DWG标准CAD图纸文件格式;前端获取文件夹权限,让用户从自己的文件夹里面选择自己的dxf文件或者dwg文件;然后使用netdxf插件,根据文件路径获取到直接读取到文件的属性结构DxfDocument,其中,Lines为cad图纸中单线的数据,本技术只取线的起点和终点,保存成一条json,用来递交给下一步做处理;
下面为实现主要程序代码(C#):
Figure BDA0002605995890000081
Figure BDA0002605995890000091
S212、线图预处理:合并双线图变成单线图并转化成系统可用的粗黑线图;
步骤S212具体为:将数据转像素,将CAD标准单位毫米,转成厘米对应像素;定义并判断,哪些线为一个墙壁的两个面,将一个墙体两个面之间的位置进行填充。
鉴于从上一步导出的线图,墙体,门窗都是双线,不利于下一步处理。
所以我们设计了线图预处理这个步骤,预处理的目的是合并双线图,变成单线图,然后通过OpenCV图形技术,将它转换成系统可用的线图。
1、CAD数据的格式和解析
从标准CAD文件导出的基本数据格式如下:
[{"p1":"9350.465,5554.087,0","p2":"8320.465,5554.087,0"},{"p1":"9350.465,5314.087,0","p2":"8560.465,5314.087,0"},{"p1":"8320.465,5554.087,0","p2":"8320.465,5159.087,0"},{"p1":"8560.465,5314.087,0","p2":"8560.465,1569.088,0"},{"p1":"8320.465,5159.087,0","p2":"8220.465,5159.087,0"},{"p1":"8220.465,5159.087,0","p2":"8220.465,4919.087,0"}]
转换成图形格式如图5所示,可以看到墙面,门窗都是双线的;
2、通过程序将他们转换成单线图,以便于识别:
双线填充的算法,重点要解决下面几个问题:
a、数据转像素,将CAD标准单位毫米,转成厘米对应像素;
b、定义并判断,哪些线为一个墙壁的两个面;
c、将一个墙体两个面之间的位置进行填充;
部分程序代码(JAVA);
Figure BDA0002605995890000101
Figure BDA0002605995890000111
Figure BDA0002605995890000121
Figure BDA0002605995890000131
最终,生成如图6的图片,这一步工作完成;
S213、识别并导入画房,生成三维模型:使用Python调用OpenCV相关算法,生成单线闭合线组,一个线组代表一个房间,前端Unity3D直接使用线组的数据生成二维线条数据平面房间;生成二维线条数据平面房间并计算一些墙体数据后,使用Unity3D里面的Mesh根据二维线条数据平面房间生成三维墙面模型;
以下为程序代码(C#)
Figure BDA0002605995890000132
Figure BDA0002605995890000141
其中,步骤S313中墙体数据为:
(1)、3D墙的地面由六个点组成,需要先算出这六个点,其中两点为起始点和终点;
(2)、计算Mesh的顶点;
(3)、计算Mesh的三角形数据;
Figure BDA0002605995890000142
Figure BDA0002605995890000151
其中:步骤S22、手绘房型图或房型图照片导入技术方案包括以下步骤:
S221、手绘房型图或房型图照片引入,Python图纸识别,获取线图:设计师通过拍照的方式,将现成的房型图,或者手绘的房型图,拍成照片保存到手机并引入平台前端内,如展示在APP页面里面,如图7所示;当用户选择开始识别后,程序会调用一个Python+OpenCV写的智能图形识别接口,通过这个接口,将上述图片转成线组的数据,该线组数据存在很多墙壁断开的情况,如图8所示;
S222、获取线图预处理,主要是对图片进行修补:利用java语言画图功能,通过“补偿性尝试”算法,将断开的墙壁自动延伸;完成延伸后,将该数据以图片或JSON数据的方式输出,对修补过的图片再次进行Python+OpenCV识别,使房型缺失的线组数据基本填充完成;
以下为主要程序代码:
Figure BDA0002605995890000161
Figure BDA0002605995890000171
以下为完成修补后的图片和数据,如图9所示;
对应的JSON格式数据输出:
[[[17,493],[17,498]],[[313,7],[480,7],[481,151],[299,152],[481,151],[481,295],[340,296],[481,295],[481,440],[436,441],[498,441],[481,440],[481,295],[481,151],[480,7]],[[305,7],[305,118]],[[252,1],[252,6],[107,7],[252,6],[298,7],[252,6]],[[99,1],[99,205],[1,206],[16,206],[17,483],[17,442],[64,441],[17,442],[17,297],[251,296],[252,441],[307,441],[252,441],[251,296],[172,296],[171,206],[99,205]],[[16,206],[171,206],[172,296],[17,297]],[[305,7],[313,7]],[[99,152],[299,152]],[[99,152],[299,152]],[[251,296],[340,296]],[[251,296],[340,296]],[[307,441],[436,441]],[[307,441],[436,441]],[[498,440],[518,440]],[[305,-13],[305,7]],[[305,118],[305,152]],[[99,7],[107,7]],[[252,7],[253,7]],[[99,7],[107,7]],[[252,7],[253,7]],[[298,6],[305,6]],[[298,6],[305,6]],[[16,483],[16,493]],[[17,483],[17,493]],[[64,442],[252,442]],[[64,442],[252,442]],[[251,441],[251,461]],[[307,441],[436,441]],[[307,441],[436,441]],[[251,441],[251,461]],[[171,205],[481,205]],[[172,297],[173,297]]]
对上面修补过的图片再次进行Python+OpenCV识别后,房型缺失的数据就基本填充完成了,这时候的数据将进入下一步工作。
S223、数据闭合,导入画房环境:数据闭合,是人工智能房型识别里面的重要一环,主要应对的问题是手工绘图和照片识别得来的数据,虽然已经经过上面两步的加工,但还是会存在太多的冗余和数据杂乱,如果用这个数据直接在Unity3D画房生成三维模型,会非常混乱设计师无法接受。同时,在后续设计师的操作中,无法保证设计师每次画图的规范性。
所以在这一步,包括后面每一次墙体变动的时候,系统特别设计并引入了一个数据闭合算法,用来保证房型数据的清洁,其功能包括:提取其中有效的数据,生成闭合房间,排除无效的数据,排除无效的线,排除无效的点信息。
通过数据闭合方法,保证房型线组数据的清洁,提取其中有效的数据,生成闭合房间,排除无效的数据,排除无效的线,排除无效的点信息;完成后,前端Unity3D直接使用线组的数据生成二维线条数据平面房间;生成二维线条数据平面房间并计算一些墙体数据后,使用Unity3D里面的Mesh根据二维线条数据平面房间生成三维墙面模型;
其中,步骤S223中数据闭合方法包括如下步骤:
(1)、把原始数据重新排列,提取里面所有的线段,同时完成去重功能;
(2)、计算所有线段的交点,如果发现交点,就要从交点扩展出线段;
(3)、对所有线段进行扫描,扫描出闭合线组,同时完成去重;
(4)、根据设计师后期对房型的使用情况,对闭合线组进行优化;
(5)、对所有线段进行扫描,扫描出非闭合线,同时完成去重;
(6)、将闭合数据和非闭合数据进行重新组合,构成后期可以使用的JSON格式数据。
以下为闭合算法用到得一些重要程序(PHP):
Figure BDA0002605995890000191
Figure BDA0002605995890000201
将上面得到的数据导入系统三维设计模块,可根据数据直接生成房间。以下为C#实现程序代码:
Figure BDA0002605995890000202
Figure BDA0002605995890000211
S3、获取到的三维墙面模型基础上,进行房间内外部编辑和设计,保存并输出房间三维建筑模型。
其中,步骤S3中房间内外部编辑和设计的内容包括各种装饰用的模型、素材、灯光元素;保存并输出的所述房间三维建筑模型包括以下空间里面相关的所有数据:
(1)、墙壁、天花板、地板数据;
(2)、模型空间数据,材质数据;
(3)、灯光数据;
(4)、天空盒数据;
(5)、摄像机空间数据;
(6)、视频数据。
本发明相对于现有技术具有如下有益效果:
1、本发明的技术使用范围广,可应用于家装设计、展览馆设计、三维家具设计、房屋设计、机械设计、文创定制、设计教育课程等领域。
2、本发明无需手工画制房型,基于两种方法的房型输入和处理及建模过程,节省了三维设计师在初始建模阶段,能够快速地将大量已经存在的,可用的房型数据,快速、精准、高效地输入至系统中,避免大量重复且容易出错的手工重画房型的工作的问题。
3、本发明相对于现有的手绘以及系统收集各种房型图库,让用户选择自己的房型的方式,具有操作简便、时间短、不会造成数据错误、房型比例失真的问题,同时无需顾及所有的房型,无需建立庞大的数据库作为支撑,高效便捷。
以上公开的本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。

Claims (6)

1.一种基于两种房型输入生成3D模型的综合处理方法,支持IOS/Android APP,其特征在于,包括如下步骤:
S1、用户直接选择CAD图纸导入还是手拍房型照片导入:
对于CAD图纸导入,是由用户选择“导入CAD”,然后上传一个扩展名为.dxf的文件,然后平台系统调用专门的dxf解析器,生成建模所需要的线图数据;
对于手拍房型照片导入,是直接将包括手绘房型图或常见房型图照片的手拍房型照片选择“房型识别”功能,然后上传一个.jpg或.png图片,系统调用图形识别技术,转化成线图;
若用户上传了其它格式的文件,则提示用户文件格式不对;
S2、平台对判断识别出来的导入图纸为CAD房型图还是手绘房型图或房型图照片,分别由步骤S21、CAD设计图导入技术方案和步骤S22、手绘房型图或房型图照片导入技术方案生成三维模型;
其中:所述步骤S21、CAD设计图导入技术方案包括以下步骤:
S211、CAD图纸引入,识别线图:导入CAD图纸后识别获取双线形式的以墙体、门窗为对象的线图;
S212、线图预处理:合并双线图变成单线图并转化成系统可用的粗黑线图;
S213、识别并导入画房,生成三维模型:使用Python调用OpenCV相关算法,生成单线闭合线组,一个线组代表一个房间,前端Unity3D直接使用线组的数据生成二维线条数据平面房间;生成二维线条数据平面房间并计算一些墙体数据后,使用Unity3D里面的Mesh根据二维线条数据平面房间生成三维墙面模型;
其中:所述步骤S22、手绘房型图或房型图照片导入技术方案包括以下步骤:
S221、手绘房型图或房型图照片引入,Python图纸识别,获取线图:设计师通过拍照的方式,将现成的房型图,或者手绘的房型图,拍成照片保存到手机并引入平台前端内;当用户选择开始识别后,程序会调用一个Python+OpenCV写的智能图形识别接口,通过这个接口,将上述图片转成线组的数据,该线组数据存在很多墙壁断开的情况;
S222、获取线图预处理,主要是对图片进行修补:利用java语言画图功能,通过“补偿性尝试”算法,将断开的墙壁自动延伸;完成延伸后,将该数据以图片或JSON数据的方式输出,对修补过的图片再次进行Python+OpenCV识别,使房型缺失的线组数据基本填充完成;
S223、数据闭合,导入画房环境:通过数据闭合方法,保证房型线组数据的清洁,提取其中有效的数据,生成闭合房间,排除无效的数据,排除无效的线,排除无效的点信息;完成后,前端Unity3D直接使用线组的数据生成二维线条数据平面房间;生成二维线条数据平面房间并计算一些墙体数据后,使用Unity3D里面的Mesh根据二维线条数据平面房间生成三维墙面模型;
S3、获取到的三维墙面模型基础上,进行房间内外部编辑和设计,保存并输出房间三维建筑模型。
2.根据权利要求1所述的一种基于两种房型输入生成3D模型的综合处理方法,其特征在于,所述步骤S211具体为:系统支持DXF和DWG标准CAD图纸文件格式;前端获取文件夹权限,让用户从自己的文件夹里面选择自己的dxf文件或者dwg文件;然后使用netdxf插件,根据文件路径获取到直接读取到文件的属性结构DxfDocument,其中,Lines为cad图纸中单线的数据,本技术只取线的起点和终点,保存成一条json,用来递交给下一步做处理。
3.根据权利要求1所述的一种基于两种房型输入生成3D模型的综合处理方法,其特征在于,所述步骤S212具体为:将数据转像素,将CAD标准单位毫米,转成厘米对应像素;定义并判断,哪些线为一个墙壁的两个面,将一个墙体两个面之间的位置进行填充。
4.根据权利要求1所述的一种基于两种房型输入生成3D模型的综合处理方法,其特征在于,所述步骤S213中墙体数据为:
(1)、3D墙的地面由六个点组成,需要先算出这六个点,其中两点为起始点和终点;
(2)、计算Mesh的顶点;
(3)、计算Mesh的三角形数据。
5.根据权利要求1所述的一种基于两种房型输入生成3D模型的综合处理方法,其特征在于,所述步骤S223中数据闭合方法包括如下步骤:
(1)、把原始数据重新排列,提取里面所有的线段,同时完成去重功能;
(2)、计算所有线段的交点,如果发现交点,就要从交点扩展出线段;
(3)、对所有线段进行扫描,扫描出闭合线组,同时完成去重;
(4)、根据设计师后期对房型的使用情况,对闭合线组进行优化;
(5)、对所有线段进行扫描,扫描出非闭合线,同时完成去重;
(6)、将闭合数据和非闭合数据进行重新组合,构成后期可以使用的JSON格式数据。
6.根据权利要求1所述的一种基于两种房型输入生成3D模型的综合处理方法,其特征在于,所述步骤S3中房间内外部编辑和设计的内容包括各种装饰用的模型、素材、灯光元素;保存并输出的所述房间三维建筑模型包括以下空间里面相关的所有数据:
(1)、墙壁、天花板、地板数据;
(2)、模型空间数据,材质数据;
(3)、灯光数据;
(4)、天空盒数据;
(5)、摄像机空间数据;
(6)、视频数据。
CN202010739004.7A 2020-07-28 2020-07-28 一种基于两种房型输入生成3d模型的综合处理方法 Active CN111932667B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010739004.7A CN111932667B (zh) 2020-07-28 2020-07-28 一种基于两种房型输入生成3d模型的综合处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010739004.7A CN111932667B (zh) 2020-07-28 2020-07-28 一种基于两种房型输入生成3d模型的综合处理方法

Publications (2)

Publication Number Publication Date
CN111932667A CN111932667A (zh) 2020-11-13
CN111932667B true CN111932667B (zh) 2022-03-18

Family

ID=73314727

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010739004.7A Active CN111932667B (zh) 2020-07-28 2020-07-28 一种基于两种房型输入生成3d模型的综合处理方法

Country Status (1)

Country Link
CN (1) CN111932667B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112528353B (zh) * 2020-12-18 2024-06-07 深圳须弥云图空间科技有限公司 一种基于cad图纸进行三维场景重建的方法及装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103440360A (zh) * 2013-07-19 2013-12-11 北京尔宜居科技有限责任公司 一种将户型数据拆分制作再组合的方法
WO2016050083A1 (zh) * 2014-09-29 2016-04-07 苏州四方万象信息科技有限公司 将建筑物二维图像转换为三维结构的方法
CN107492049A (zh) * 2016-06-11 2017-12-19 桑艳军 一种3d体验式家装网络平台系统
CN108986233A (zh) * 2018-06-11 2018-12-11 佛山欧神诺陶瓷有限公司 一种快速绘制室内预览图的方法及其系统
CN109816772A (zh) * 2018-12-28 2019-05-28 南京维伍网络科技有限公司 一种由cad户型文件快速生成虚拟现实场景的处理方法
CN110782505A (zh) * 2019-11-04 2020-02-11 广东三维家信息科技有限公司 房间墙体绘制方法及装置
CN111207672A (zh) * 2019-12-31 2020-05-29 上海简家信息技术有限公司 一种ar量房方法
CN111210028A (zh) * 2019-12-05 2020-05-29 万翼科技有限公司 房间模型核查方法、装置、计算机设备和存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103440360A (zh) * 2013-07-19 2013-12-11 北京尔宜居科技有限责任公司 一种将户型数据拆分制作再组合的方法
WO2016050083A1 (zh) * 2014-09-29 2016-04-07 苏州四方万象信息科技有限公司 将建筑物二维图像转换为三维结构的方法
CN107492049A (zh) * 2016-06-11 2017-12-19 桑艳军 一种3d体验式家装网络平台系统
CN108986233A (zh) * 2018-06-11 2018-12-11 佛山欧神诺陶瓷有限公司 一种快速绘制室内预览图的方法及其系统
CN109816772A (zh) * 2018-12-28 2019-05-28 南京维伍网络科技有限公司 一种由cad户型文件快速生成虚拟现实场景的处理方法
CN110782505A (zh) * 2019-11-04 2020-02-11 广东三维家信息科技有限公司 房间墙体绘制方法及装置
CN111210028A (zh) * 2019-12-05 2020-05-29 万翼科技有限公司 房间模型核查方法、装置、计算机设备和存储介质
CN111207672A (zh) * 2019-12-31 2020-05-29 上海简家信息技术有限公司 一种ar量房方法

Also Published As

Publication number Publication date
CN111932667A (zh) 2020-11-13

Similar Documents

Publication Publication Date Title
US11328523B2 (en) Image composites using a generative neural network
CN101529468B (zh) 用于从二维图像中恢复三维粒子系统的系统和方法
CN111008422A (zh) 一种建筑物实景地图制作方法及系统
CN110929310A (zh) 一种云端图纸智能生成及编辑方法
CN112596713A (zh) 基于虚幻引擎的处理方法、装置、电子设备及存储介质
CN113485160A (zh) 一种基于图形匹配识别的仿真建模方法及装置
CN111199577A (zh) 一种房屋虚拟装修方法
CN111932667B (zh) 一种基于两种房型输入生成3d模型的综合处理方法
US20230230326A1 (en) System and method for creating and furnishing digital models of indoor spaces
CN115033968A (zh) 一种bim项目多用户协作管理方法、系统、终端及存储介质
CN112614234A (zh) 对混合现实三维场景进行编辑的方法及混合现实设备
CN116485944A (zh) 图像处理方法及装置、计算机可读存储介质和电子设备
CN107527277A (zh) 一种基于移动端的智能窗帘装饰设计系统
CN114693611A (zh) 渲染质量评估方法、装置、计算机设备及介质
KR101958199B1 (ko) 중소형 플랜트의 유지보수 엔지니어링 역량 강화를 위한 모델기반의 형상관리시스템
CN116663113A (zh) 一种基于aigc技术的空间设计生成式方法
CN116796500A (zh) 面向数字孪生场景的自动化建模方法及系统
CN117934750A (zh) 城市孪生模型建筑外表材质识别赋予方法、装置及设备
CN110781851A (zh) 一种基于图片的装修户型图识别方法
EP4097607B1 (en) Applying non-destructive edits to nested instances for efficient rendering
CN117292067B (zh) 基于扫描实物获得的虚拟3d模型方法及系统
CN117708962B (zh) 一种基于Rhinoceros二三维一体化设计的方法及系统
CN117272491B (zh) 一种基于ai绘图模型的快速建模方法、设备及介质
CN116863050A (zh) Cad数模vr可视化方法、计算机设备及存储介质
CN116756988A (zh) 仿真模型生成方法

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