掌桥专利:专业的专利平台
掌桥专利
首页

一种三维货架数字模型生成方法及系统

文献发布时间:2024-04-18 20:02:18


一种三维货架数字模型生成方法及系统

技术领域

本发明属于数字孪生中数字模型领域,具体说是一种三维货架数字模型生成方法及系统。

背景技术

随着数字孪生技术的发展,三维仿真以其逼真的效果得到了广泛应用。但现有的三维建模智能化方法,由于通用的数字模型基于传统CAD、Solidworks、3Dmax的方法构建,受限于点、面为主体的描述格式和展示方法等因素,导致模型体积大,对硬件显示设备性能要求高,如何通过自动化的方法构建三维货架数字模型是一个亟待解决的问题。

发明内容

本发明目的是提供一种三维货架数字模型生成方法及系统,以通过简单的参数输入和巧妙的模型构建方法,高效地完成三维货架数字模型的创建和生成,克服上述现有构建三维货架数字模型方法缺陷。

本发明为实现上述目的所采用的技术方案是:一种三维货架数字模型生成方法,包括以下步骤:

1)通过数据输入模块输入三维货架基本参数信息后,经过参数校验模块对输入的三维货架基本参数信息的可行性进行校验;

2)参数校验信息校验通过后,发送三维货架基本参数信息至货架生成模块,货架生成模块根据三维货架基本参数信息,建立货架基本单元;

3)货架生成模块通过行列排参数信息读取模块,获取货架组的行列排参数信息;按照行列排参数信息建立多个相同的货架基本单元,并按照行列排参数信息进行排列;

4)三维模型生成模块根据上位机发送的任务指令,在三维空间中选择释放位置点,并将建立的多个货架基本单元生成货架基本单元的图标,通过Unity射线射向该图标,分析该图标所指代的三维维物体,通过Instantiate函数完成货架组模型的实例化,并映射于三维空间的释放位置点中;

5)三维模型生成模块根据上位机发送的任务指令调整三维空间内多个货架基本单元的状态,最终生成三维货架数字模型,并发送至模型显示模块进行三维空间场景显示;

6)三维模型生成模块根据需求通过模型输出模块或模型删除模块输出三维货架数字模型至储存器进行存储等待调用,或删除三维货架数字模型。

所述三维货架基本参数信息,包括:货架长宽高比例及尺寸信息、货架竖立柱尺寸信息、长横梁尺寸信息、短横梁尺寸信息、货箱托盘尺寸信息、货架高度系数以及各零部件材质信息;

所述行列排参数信息,包括:货架基本单元的数量、位置、旋转角度以及对应编号货架基本单元的行号、列号、排号信息。

步骤1)中,所述经过参数校验信息对输入的三维货架基本参数信息的可行性进行校验,具体为:

货物托盘尺寸信息中的长度尺寸等于长横梁尺寸信息中的长度尺寸,货物托盘尺寸信息中的宽度尺寸等于短横梁尺寸信息中的长度尺寸,货物托盘的高度通过货架高度系数进行校验。

所述货架生成模块根据三维货架基本参数信息,建立货架基本单元,包括以下步骤:

1-1)建立包括9个基本货架描述单元的基本货架单元格,具体包括:四个货架竖立柱、两个长横梁、两个短横梁和一个货箱托板;

1-2)基本货架描述单元采用结构体方式进行描述,基本货架描述单元CellDes即:

CellDes{GameObject go,GameObject parentGo,Vector3 position(0,0,0,),Vector3(1,1,1),Vector3 rotation(0,0,0,),Material material};

其中,go代表当前物体所关联的基本物体,所述基本物体通过Unity以立方体方式描述,parentGo表示其所属的父物体,position表示当前物体三维空间内的位置,localScale代表当前物体对应基本物体在三维空间内x、y、z轴所产生的形变比例,rotation表示当前物体在三维空间内以中心点为轴产生的旋转角度,即基本物体经旋转后的状态,material代表货架所呈现的颜色材质;

1-3)对9个货架描述单元完成结构体方式进行描述,建立货架基本单元。

步骤5)中,所述调整三维空间内多个货架基本单元的状态,包括:

选中一个货架基本单元,三维模型生成模块识别该货架基本单元所属货架组,并将整个货架组标识为选中状态;

a.移动三维货架结构:该货架组按照平移步数在三维空间内进行移动,使该货架组停留在三维空间内所选释放位置点上;

b.旋转三维货架结构:该货架组按照旋转角度和旋转方向在三维空间内进行,实现货架组结构的旋转;

c.更新三维货架结构:当前货架组的行列排参数信息和三维货架基本参数信息显示在上位机界面上,通过修改参数,完成更新货架信息后,该货架组将按照修改后的行列排参数信息和三维货架基本参数信息进行显示。

所述更新三维货架结构,具体为:

2-1)更新一个基本货架单元信息时,即更新货架组中基本货架单元的长宽高比例信息时,输入为货架单元格的9个基本货架描述单元各自的N个属性,输出为更新后的9个基本货架描述单元的各自的N个属性,缺失对应基本描述单元时代表该描述单元不进行更新;

2-2)更新一个基本货架单元的行、列时,通过遍历当前所有对应编号货架基本单元的行号、列号信息,判断该坐标是否在旧货架中存在,如果存在,则将旧货架的基本单元格移动至新货架;反之,则以第(0,0)位处货架为基础,生成新货架,添加至新货架的对应位置,清空旧货架中单元格信息,输入为当前货架的行列信息,输出为当前货架更新后的行、列参数;

2-3)更新一个基本货架组信息时,即更新货架组中基本货架单元的排参数时,具体为:

S1.对比新旧货架组模型;

S2.如果新货架组模型排数量大于旧货架组模型排数量:

S3.按照多出的数量生成新的排货架;

S4.如果新货架组模型排数量小于旧货架组模型排数量:

S5.旧货架组模型赋值给新货架组模型

S6.删除旧货架组模型;

S7.返回新生成的货架组模型。

所述步骤6),包括以下步骤:

导出三维货架组模型:选中一个货架基本单元,三维模型生成模块识别该货架基本单元所属货架组,并将整个货架组标识为选中状态;以fbx文件格式导出该三维货架模型,其x轴、y轴和z轴信息符合Unity的环境定义;

删除三维货架组模型:选中一个货架基本单元,三维模型生成模块识别该货架基本单元所属货架组,并将整个货架组标识为选中状态;上位机发出删除指令,该货架组在三维空间内消失,其对应的参数及属性也不在场景内进行显示,三维空间内其他物体状态不发生变化。

一种三维货架数字模型生成方法的生成系统,包括:数据输入模块、参数校验模块、货架生成模块、三维模型生成模块、模型显示模块、模型删除模块以及模型输出模块;

数据输入模块,用于输入三维货架基本参数信息,并发送至参数校验模块;

参数校验模块,用于对三维货架基本参数信息进行可行性校验,将验证通过后的三维货架基本参数信息,发送至货架生成模块;

货架生成模块,用于根据三维货架基本参数信息,建立货架基本单元,以及通过行列排参数信息读取模块,获取货架组的行列排参数信息;按照行列排参数信息建立多个相同的货架基本单元,并按照行列排参数信息排列;

三维模型生成模块,用于根据上位机发送的任务指令,调用货架生成模块中多个货架基本单元,并映射于三维空间中;还根据任务指令调整三维空间内多个货架基本单元的状态,最终生成三维货架数字模型,并发送至模型显示模块进行三维空间场景显示,以及通过模型输出模块输出至储存器进行存储等待调用;

模型删除模块,用于删除生成的三维货架数字模型。

一种三维货架数字模型生成装置,包括存储器和处理器;所述存储器,用于存储计算机程序;所述处理器,用于当执行所述计算机程序时,实现所述的一种三维货架数字模型生成方法。

一种计算机可读存储介质,所述存储介质上存储有计算机程序,当所述计算机程序被处理器执行时,实现一种三维货架数字模型生成方法。

本发明具有以下有益效果及优点:

1.本发明能够在不使用这些专业软件的前提下,完成3D货架模型的创建,提升了效率,降低了成本;

2.本发明可以快速构建三维货架数字模型,在生成模型过程中,通过对参数的校验,使得生成的模型更为精准;

3.本发明可以随意调整三维数字模型的状态,且无需重新导入相关信息,更为快捷。

附图说明

图1本发明的生成三维货架数字模型方法流程图;

图2本发明的生成货架基本流程;

图3本发明的三维货架数字模型生成系统的结构框架图。

具体实施方式

下面结合附图及实施例对本发明做进一步的详细说明。

如图1~图2所示,为本发明的生成三维货架数字模型方法流程图,本发明一种三维货架数字模型生成方法,包括以下步骤:

1)通过数据输入模块输入三维货架基本参数信息后,经过参数校验模块对输入的三维货架基本参数信息的可行性进行校验;

其中,三维货架基本参数信息,包括:货架长宽高比例及尺寸信息、货架竖立柱尺寸信息、长横梁尺寸信息、短横梁尺寸信息、货箱托盘尺寸信息、货架高度系数以及各零部件材质信息;

步骤1)中,所述经过参数校验信息对输入的三维货架基本参数信息的可行性进行校验,具体为:

货物托盘尺寸信息中的长度尺寸等于长横梁尺寸信息中的长度尺寸,货物托盘尺寸信息中的宽度尺寸等于短横梁尺寸信息中的长度尺寸,货物托盘的高度通过货架高度系数进行校验。

2)参数校验信息校验通过后,发送三维货架基本参数信息至货架生成模块,货架生成模块根据三维货架基本参数信息,建立货架基本单元;

在基本货架单元生成前,其基本货架单元的长横梁、短横梁和高立柱模型支持模型的替换,材质的修改与更新。

建立货架基本单元,具体包括以下步骤:

1-1)建立包括9个基本货架描述单元的基本货架单元格,具体包括:四个货架竖立柱、两个长横梁、两个短横梁和一个货箱托板;

1-2-1)基本货架描述单元采用结构体方式进行描述,基本货架描述单元CellDes即:

CellDes{GameObject go,GameObject parentGo,Vector3 position(0,0,0,),Vector3(1,1,1),Vector3 rotation(0,0,0,),Material material};

其中,go代表当前物体所关联的基本物体,所述基本物体通过Unity以立方体方式描述,parentGo表示其所属的父物体,position表示当前物体三维空间内的位置,localScale代表当前物体对应基本物体在三维空间内x、y、z轴所产生的形变比例,rotation表示当前物体在三维空间内以中心点为轴产生的旋转角度,即基本物体经旋转后的状态,material代表货架所呈现的颜色材质;

1-2-2)基本货架模型:一个基本货架(Rack)包括由特定数量的行和特定数量的列的基本货架单元格(Cell)组成,即Rack由Dictionary数据结构描述,其中,不同的行列代表一个基本货架中对应行列坐标下的基本货架单元格;

1-2-3)基本货架组模型:一个基本货架组由若干排的基本货架模型(Rack)组成,即Shelf由Dictionary描述,其中,不同的排数据代表当前货架组内对应编号排的基本货架模型;

1-2-4)场景内所有货架组模型:场景内所有货架组模型由货架组模型管理器负责管理,即Dictionary描述场景内所有货架,其中int参数描述在该场景中标号为shelfId的货架组模型;该货架组模型管理器负责货架组模型的生成、变化、移动、显示等。

1-3)对9个货架描述单元完成结构体方式进行描述,建立货架基本单元。

3)三维货架场景内可以有多个货架组,一个货架组可以有一排或多排货架,一排货架可以有一个或多个行、列的基本货架单元格,行列数据不要求相等;具体根据行列排参数信息读取模块实现,步骤如下:

货架生成模块通过行列排参数信息读取模块,获取货架组的行列排参数信息;按照行列排参数信息建立多个相同的货架基本单元,并按照行列排参数信息进行排列;

其中,行列排参数信息,包括:货架基本单元的数量、位置、旋转角度以及对应编号货架基本单元的行号、列号、排号信息。

4)三维模型生成模块根据上位机发送的任务指令,在三维空间中选择释放位置点,并映射于三维空间的释放位置点中;具体如下:

显示一个货架组信息时,即从货架下拉列表中拖拽基本货架组图标,将三维货架模型显示在三维空间,具体包括以下流程:

通过Unity射线射向该货架组所对应图标,分析该图标所指代的三维物体,通过Instantiate函数(prefab,transform.position,Quaternion.identity)完成货架组模型的实例化;

特别地,使用RectTransformUtility.RectangleContainsScreenPoint(),完成当前货架组模型位置的判断,即当货架组模型未移出下拉框区域时,隐藏所拖拽的三维物体,即设置该物体状态为不可见;当货架组模型移出下拉框区域后,在三维空间内显示该三维货架组物体,即设置该物体状态为可见;

5)三维模型生成模块根据上位机发送的任务指令调整三维空间内多个货架基本单元的状态,最终生成三维货架数字模型,并发送至模型显示模块进行三维空间场景显示;

步骤5)中,调整三维空间内多个货架基本单元的状态,包括:

选中一个货架基本单元,三维模型生成模块识别该货架基本单元所属货架组,并将整个货架组标识为选中状态;

a.移动三维货架结构:该货架组按照平移步数在三维空间内进行移动,使该货架组停留在三维空间内所选释放位置点;

b.旋转三维货架结构:该货架组按照旋转角度和旋转方向在三维空间内进行,实现货架组结构的旋转;

c.更新三维货架结构:当前货架组的行列排参数信息和三维货架基本参数信息显示在上位机界面上,通过修改参数,完成更新货架信息后,该货架组将按照修改后的行列排参数信息和三维货架基本参数信息进行显示。

更新三维货架结构,具体为:

2-1)更新一个基本货架单元信息时,即更新货架组中基本货架单元的长宽高比例信息时,输入为货架单元格的9个基本货架描述单元各自的N个属性,输出为更新后的9个基本货架描述单元的各自的N个属性,缺失对应基本描述单元时代表该描述单元不进行更新;

2-2)更新一个基本货架单元的行、列时,通过遍历当前所有对应编号货架基本单元的行号、列号信息,判断该坐标是否在旧货架中存在,如果存在,则将旧货架的基本单元格移动至新货架;反之,则以第(0,0)位处货架为基础,生成新货架,添加至新货架的对应位置,清空旧货架中单元格信息,输入为当前货架的行列信息,输出为当前货架更新后的行、列参数;

2-3)更新一个基本货架组信息时,即更新货架组中基本货架单元的排参数时,具体为:

S1.对比新旧货架组模型;

S2.如果新货架组模型排数量大于旧货架组模型排数量:

S3.按照多出的数量生成新的排货架;

S4.如果新货架组模型排数量小于旧货架组模型排数量:

S5.旧货架组模型赋值给新货架组模型;

S6.删除旧货架组模型;

S7.返回新生成的货架组模型。

6)三维模型生成模块根据需求通过模型输出模块或模型删除模块输出三维货架数字模型至储存器进行存储等待调用,或删除三维货架数字模型。

步骤6),具体包括以下步骤:

导出三维货架组模型:选中一个货架基本单元,三维模型生成模块识别该货架基本单元所属货架组,并将整个货架组标识为选中状态;以fbx文件格式导出该三维货架模型,其x轴、y轴和z轴信息符合Unity的环境定义;

删除三维货架组模型:选中一个货架基本单元,三维模型生成模块识别该货架基本单元所属货架组,并将整个货架组标识为选中状态;上位机发出删除指令,该货架组在三维空间内消失,其对应的参数及属性也不在场景内进行显示,三维空间内其他物体状态不发生变化。

如图3所示,为本发明的三维货架数字模型生成系统的结构框架图,该系统,包括:数据输入模块、参数校验模块、货架生成模块、三维模型生成模块、模型显示模块、模型删除模块以及模型输出模块;

数据输入模块,用于输入三维货架基本参数信息,并发送至参数校验模块;

参数校验模块,用于对三维货架基本参数信息进行可行性校验,将验证通过后的三维货架基本参数信息,发送至货架生成模块;

货架生成模块,用于根据三维货架基本参数信息,建立货架基本单元,以及通过行列排参数信息读取模块,获取货架组的行列排参数信息;按照行列排参数信息建立多个相同的货架基本单元,并按照行列排参数信息排列;

三维模型生成模块,用于根据上位机发送的任务指令,调用货架生成模块中多个货架基本单元,并映射于三维空间中;还根据任务指令调整三维空间内多个货架基本单元的状态,最终生成三维货架数字模型,并发送至模型显示模块进行三维空间场景显示,以及通过模型输出模块输出至储存器进行存储等待调用;

模型删除模块,用于删除生成的三维货架数字模型。

一种三维货架数字模型生成装置,包括存储器和处理器;存储器,用于存储计算机程序;所述处理器,用于当执行所述计算机程序时,实现所述的一种三维货架数字模型生成方法。

一种计算机可读存储介质,所述存储介质上存储有计算机程序,当计算机程序被处理器执行时,实现一种三维货架数字模型生成方法。

本发明还支持摄像头移动,使得能够更广域的视角来查看货架组状态,选择不同的货架组进行后续操作。

实施例1:

S1.生成基本货架单元:基本货架单元包括四个货架竖立柱、两个长横梁、两个短横梁和一个货箱托板共9个基本物体及其各自的三维中心点坐标,根据配置文件中基本货架单元长宽高参数及9个基本物体的三维中心坐标,如果三维坐标没有设置,则默认底板高度为0.25,该参数是可修改的;

S2.生成基本货架组模型:根据配置文件中货架组的行列排参数,以货架基本单元为货架基本单元,生成行列排货架组模型;如果配置文件中没有货架组的行列排参数,默认货架组的行列排参数为3行3列1排;

S3.显示三维货架组结构:从候选货架选项中,通过拖拽的方式,构建一个初始的货架三维数字模型,拖拽货架图片至三维空间后,三维货架模型显示在三维空间内,其坐标与释放位置点在三维空间内坐标一致;

S4.选中一个货架基本单元,三维模型生成模块识别该货架基本单元所属货架组,并将整个货架组标识为选中状态;

a.移动三维货架结构:该货架组按照平移步数在三维空间内进行移动,使该货架组停留在三维空间内释放位置点;

b.旋转三维货架结构:该货架组按照旋转角度和旋转方向在三维空间内进行,实现货架组结构的旋转;

c.更新三维货架结构:当前货架组的行列排参数信息和三维货架基本参数信息显示在上位机界面上,通过修改参数,完成更新货架信息后,该货架组将按照修改后的行列排参数信息和三维货架基本参数信息进行显示。

S5.导出三维货架组模型:选中一个三维货架,系统识别该货架所属货架组,并将整个货架组标识为选中状态,以fbx文件格式导出该三维货架模型,其x轴、y轴和z轴信息符合Unity的环境定义;

S6.导入三维货架组模型:点击导入按钮,选择待导入fbx文件,确保路径中没有中文字符,点击确认,导入三维货架组模型至三维空间,完成三维货架组显示,其x轴、y轴和z轴信息由fbx模型定义;

S7.删除三维货架组模型:选中一个三维货架,系统识别该货架所属货架组,并将整个货架组标识为选中状态,点击键盘删除按键,该货架组在三维空间内消失,其对应的参数及属性也不在场景内进行显示,三维空间内其他物体状态不发生变化。

本发明能够在不使用这些专业软件的前提下,完成3D货架模型的创建,提升了效率,降低了成本。快速构建三维货架数字模型,使得非专业人员都可以通过拖拽的方法快速构建可实用的三维数字货架模型;降低了用户的使用成本和学习成本。

以上所述仅为本发明的实施方式,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进、扩展等,均包含在本发明的保护范围内。

技术分类

06120116576166