一种基于webGL的三维仓库模型建立方法

文档序号:9751038阅读:916来源:国知局
一种基于webGL的三维仓库模型建立方法
【技术领域】
[000? ]本发明属于仓库建模技术领域,具体涉及一种基于webGL的三维仓库模型建立方法。
【背景技术】
[0002]随着物流技术的不断发展,仓库成为现代物流系统的一个重要的环节,仓库的高效存储能力以及资源的有效存储分配均是对物流系统的很好的支持。现有的仓库管理,主要依靠建立依靠计算机系统应用程序,依靠监控系统,实时监控货物的出入库以及仓库的存储空间,虽然能够有效的提高仓库的空间利用率、出入库能力以及货物周转能力,但是这种仓库主要是利用货物的定位管理,建立货位与信息系统对应的数据库以及采用条形码作为货位、包装箱识别的手段,进而达到货物与货位管理的目的,因此现有的无法对仓库作业流程进行三维的可视化定位,仓库管理系统直观性较差。

【发明内容】

[0003]本发明的目的在于:针对仓库管理中存在的问题,提供一种基于webGL的三维仓库模型建立方法,三维模型的仓库,使得仓库可以通过三维模型来呈现,直观性更好,提高仓库管理的利用率以及出入库能力。
[0004]为了实现上述目的,本发明采用的技术方案为:
[0005]—种基于webGL的三维仓库模型建立方法,包括:
[0006]利用webGL技术构建基础应用结构,创建基础的多面体,并加载设置参数;
[0007]将背景、相机、360度的旋转添加至基础应用结构中,创建具有三维坐标的场景容器;
[0008]结合仓库实际建筑结构创建三维仓库组件模型,基于基础的多面体,加载仓库组件模型;其中,三维仓库组件模型包括建筑组件模型和设计组件模型;
[0009]加载建筑组件模型时,通过模型接口调用函数库中对应建筑组件的应用函数,包括调用createGround()方法创建仓库地面,调用createYt()创建仓库的月台,输入仓库的层高whhigh及楼层的层数whf10r,根据输入值,自动创建每个楼层在三维场景中所处的位置,并默认添加与底层一致的地面;调用createWal 1创建仓库墙面,调用createPillar O创建仓库柱子,调用createWindow()创建仓库窗户,调用createDoor ()创建仓库门,调用createRoot()创建仓库顶部;加载完建筑组件模型,从而形成单楼层或者多楼层的建筑模型;
[0010]选择建筑模型的其中一个楼层,在该楼层中加载设计组件模型,且在加载设计组件模型时,对所有设计组件模型进行碰撞检测。
[0011]优选地,所述的碰撞检测包括以组件封装的六面体为基础,实时记录组件模型变换后八个顶点的坐标位置,通过八个坐标位置形成一个坐标点的闭合区间,每个模型组件都有一个模型的闭合区间记录,该闭合区间的值根据模型的改变或者位置的移动而实时更新;
[0012]在组件模型进行变化时,实时判断模型的八个顶点的坐标是是否出现在当前已经创建的其他模型的坐标区间之内,若在其中则表示该模型与另一模型有模型重叠;
[0013]出现模型重叠时再判断该模型的属性是否与重叠的模型是融合关系,若是融合关系,则不进行提示;若不是,则提示该模型摆放位置不正确,无法摆放。
[0014]进一步优选,所述的碰撞检测还包括在组件模型定位时,实时判断模型的八个顶点的坐标是是否出现在该楼层的建筑区域之内,若在其中则不提示,若不在,则提示该模型摆放位置不正确,无法摆放。
[0015]优选地,创建基础的多面体时,加载设置参数,该参数包括多面体面数,物体的材质,颜色和/或透明度。
[0016]由于采用了上述技术方案,本发明的有益效果是:
[0017]本发明的一种基于webGL的三维仓库模型建立方法,利用webGL技术,并通过函数调用加载建模组件,快速、方便的建立起三维的仓库模型,为仓库的管理和优化提供可视化操作界面,直观性更强;加载建筑组件的过程中,按照一定的顺序,快速调用函数建立起建筑模型,使得建筑模型的建立更加迅速;加载设计组件过程中,引入碰撞检测,确保仓库组件不会出现重叠或者超出加载区域的问题。
【具体实施方式】
[0018]本发明的基于webGL的三维仓库模型建立方法,利用webGL技术,调用tree,js构建基础应用结构,创建基础的多面体,并加载相应的设置参数,如:多面体面数、物体的材质、颜色、透明度等。
[0019]将背景、相机、360度的旋转添加至应用结构中构建三维场景,形成具有三维坐标的场景容器。
[0020]加载仓库组件模型,基于基础的多面体,结合仓库实际建筑结构创建的三维仓库组件模型,组件模型包括建筑组件模型和设计组件模型。
[0021]建筑实物组件主要包括:地面(水泥地面、水磨地面、地板砖地面、耐磨地坪、环氧涂装地坪、地坪耐磨增强剂);月台、墙面、柱子(圆柱、方柱)、门(单开门、双开门、推拉门)、窗(固定窗、平开窗、推拉窗、旋转窗)、房顶(平顶、尖顶)。仓库设计组件主要包括:布局区域(储存区、通道、出入库区、暂存区、辅助作业区、行政生活区)、货架(层架、悬臂式货架、托盘货架、移动式货架、驶入驶出式货架、旋转式货架、自动货柜)、作业设备(叉车、托盘、集装箱、堆垛机、输送机、起重机)、监管设备(电子秤、温湿度测量仪、摄像机)。
[0022]加载建筑组件模型时,通过模型接口调用函数库中对应建筑组件的应用函数,加载建筑组件模型,形成单楼层或者多楼层的建筑模型。具体包括:
[0023]通过选取一个仓库地面组件,调用createGround()方法创建仓库地面,该组件固定为长方体结构,在参数中它的长、宽、高以及组件的材质和贴图。
[0024]调用createYtO创建仓库的月台,月台采用固定组件,与仓库地面组建进行关联绑定,根据传入的布尔值判定月台是否显示。True为显示月台,false为不显示。
[0025]输入仓库的层高whhigh及楼层的层数whf10r,根据输入值,自动创建每个楼层在三维场景中所处的位置,并默认添加与底层一致的地面。
[0026]调用createWal1创建仓库墙面,墙面包括了前、后、左、右四面,可选择每一面墙独立创建,也可以直接创建四面墙。创建墙面组件时,自动获取已创建地面的边界四个角的坐标值以及仓库的整体高度,自动创建出覆盖所有楼层的墙面。在墙面组件参数中,设置墙面的厚度及墙面贴图。
[0027]调用createPillarO创建仓库柱子,柱子组件类型包括方柱和圆柱两种。方柱组件参数包括长、宽;圆柱的参数包括直径。柱子组件与仓库底层地面进行关联,指定柱子组件与地面组件边界的距离来确定柱子组件的位置。通过组件复制,在地面创建多个柱子,指定第一个柱子和最后一
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1