bim展示 java_一种BIM展示的方法与流程
本发明涉及软件技术领域,具体为一种BIM展示的方法。
背景技术:
随着软件技术的发展,建筑信息化模型(Building Information Modeling,简称BIM),因为具有良好的可视性,能够更直观的展示业务系统的各类数据,被越来越广泛的应用于各类业务系统中。
目前,网页bim模型展示时想要看到模型细节,只能放大模型旋转到相应角度查看,模型细节查看效果差,调整到合适角度困难。对于复杂模型,无法展示模型各组件之间的关联关系。
技术实现要素:
本发明的目的在于提供一种BIM展示的方法,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:一种BIM展示的方法,通过特殊模型的特性获取相关坐标,利用公式求出新坐标完成爆炸效果展示;
在网页中导入Obj模型和Stl模型,通过Obj模型可以获取每个部件的中心坐标,通过Stl模型可以获取模型整体的中心坐标,以整体坐标为中心点,设定部件爆炸距离,设定爆炸方向,通过公式获取每个部件爆炸后的坐标,将部件通过动画移动到指定坐标,完成爆炸效果。
优选的,所述的BIM展示的方法,所述的Obj模型为包含多个部件的3DMax模型转换的Obj模型。
优选的,所述的BIM展示的方法,所述的Stl模型为包含多个部件的3DMax模型转换的stl模型。
优选的,所述的BIM展示的方法,所述的爆炸距离为爆炸后的组件中心点与原中心点的距离。
优选的,所述的BIM展示的方法,所述的爆炸方向为在三维坐标系内,沿X轴方向、沿Y轴方向、沿Z轴方向、沿XY方向、沿XZ方向、沿YZ方向,沿XYZ方向。
优选的,所述的BIM展示的方法,所述的公式为根据爆炸距离与爆炸方向计算新坐标的公式,设定阀门的中心点坐标为X=0,Y=0,Z=0,设定爆炸距离为1,设定爆炸方向为沿XYZ;计算爆炸后新坐标的公式如下:
设距离为1,juli = 1;整体中心坐标 x,y,z 为 xo,yo,zo;部件中心坐标为,xp,yp,zp
var xl = xp-xo;
var zl = zp-zo;
var yl = yp-yo;
var sumxz = (xl*xl + zl*zl);
var sumxzy = sumxz + yl*yl;
var xzyl = Math.sqrt(sumxzy);
var xzypl = xzyl + juli;
var nxl = (xl*xzypl)/xzyl;
var nzl = (zl*xzypl)/xzyl;
var nyl = (yl*xzypl)/xzyl;
var nx = 0;
var nz = 0;
var ny = 0;
if(xl>0){
nx = xo + Math.abs(nxl);
}else{
nx = xo - Math.abs(nxl);
}
if(zl>0){
nz = zo + Math.abs(nzl);
}else{
nz = zo - Math.abs(nzl);
}
if(yl>0){
ny = yo + Math.abs(nyl);
}else{
ny = yo - Math.abs(nyl);
}
最终nx,ny ,nz 为部件最终坐标。
与现有技术相比,本发明的有益效果是:该方法通过特殊模型的特性获取相关坐标,利用公式求出坐标完成爆炸效果展示,本发明解决了将整体模型以爆炸的形式扩散开来,最终每个部件都分离开来,互不遮挡,方便查看每个部件的详情的问题。
附图说明
图1是本发明实施例1中提供的爆炸前的展示效果图;
图2是本发明实施例1中提供的爆炸后的展示效果图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供一种技术方案:
实施例1:
一种BIM展示的方法,通过特殊模型的特性获取相关坐标,利用公式求出新坐标完成爆炸效果展示;
在网页中导入Obj模型和Stl模型,通过Obj模型可以获取每个部件的中心坐标,通过Stl模型可以获取模型整体的中心坐标,以整体坐标为中心点,设定部件爆炸距离,设定爆炸方向,通过公式获取每个部件爆炸后的坐标,将部件通过动画移动到指定坐标,完成爆炸效果。
实施例2:
根据实施例1所述的BIM展示的方法,所述的Obj模型为包含多个部件的3DMax模型转换的Obj模型。
实施例3:
根据实施例1或2所述的BIM展示的方法,所述的Stl模型为包含多个部件的3DMax模型转换的stl模型。
实施例4:
根据实施例1或2或3所述的BIM展示的方法,所述的爆炸距离为爆炸后的组件中心点与原中心点的距离。
实施例5:
根据实施例1或2或3或4所述的BIM展示的方法,所述的爆炸方向为在三维坐标系内,沿X轴方向、沿Y轴方向、沿Z轴方向、沿XY方向、沿XZ方向、沿YZ方向,沿XYZ方向。
实施例6:
根据实施例1或2或3或4或5所述的BIM展示的方法,所述的公式为根据爆炸距离与爆炸方向计算新坐标的公式,设定阀门的中心点坐标为X=0,Y=0,Z=0,设定爆炸距离为1,设定爆炸方向为沿XYZ;计算爆炸后新坐标的公式如下:
设距离为1,juli = 1;整体中心坐标 x,y,z 为 xo,yo,zo;部件中心坐标为,xp,yp,zp
var xl = xp-xo;
var zl = zp-zo;
var yl = yp-yo;
var sumxz = (xl*xl + zl*zl);
var sumxzy = sumxz + yl*yl;
var xzyl = Math.sqrt(sumxzy);
var xzypl = xzyl + juli;
var nxl = (xl*xzypl)/xzyl;
var nzl = (zl*xzypl)/xzyl;
var nyl = (yl*xzypl)/xzyl;
var nx = 0;
var nz = 0;
var ny = 0;
if(xl>0){
nx = xo + Math.abs(nxl);
}else{
nx = xo - Math.abs(nxl);
}
if(zl>0){
nz = zo + Math.abs(nzl);
}else{
nz = zo - Math.abs(nzl);
}
if(yl>0){
ny = yo + Math.abs(nyl);
}else{
ny = yo - Math.abs(nyl);
}
最终nx,ny ,nz 为部件最终坐标。
实施例7:
根据实施例1或2或3或4或5或6所述的BIM展示的方法,一个包含多个组件的阀门的三维模型,
步骤1,将包含多个组件的阀门的3DMax模型转换为Obj模型。
步骤2,将包含多个组件的阀门的3DMax模型转换为Stl模型。
步骤3,在网页中加载Obj模型与Stl模型,设定阀门的中心点坐标为X=0,Y=0,Z=0,设定爆炸距离为1,设定爆炸方向为沿XYZ。计算爆炸后新坐标的公式如下:
设距离为1 ,juli = 1 ;整体中心坐标 x,y,z 为 xo,yo,zo ;部件中心坐标为,xp,yp,zp
var xl = xp-xo;
var zl = zp-zo;
var yl = yp-yo;
var sumxz = (xl*xl + zl*zl);
var sumxzy = sumxz + yl*yl;
var xzyl = Math.sqrt(sumxzy);
var xzypl = xzyl + juli;
var nxl = (xl*xzypl)/xzyl;
var nzl = (zl*xzypl)/xzyl;
var nyl = (yl*xzypl)/xzyl;
var nx = 0;
var nz = 0;
var ny = 0;
if(xl>0){
nx = xo + Math.abs(nxl);
}else{
nx = xo - Math.abs(nxl);
}
if(zl>0){
nz = zo + Math.abs(nzl);
}else{
nz = zo - Math.abs(nzl);
}
if(yl>0){
ny = yo + Math.abs(nyl);
}else{
ny = yo - Math.abs(nyl);
}
最终nx, ny ,nz 为部件最终坐标。
经过计算,阀门的8个部件爆炸后的坐标分别为:
组件1:{x: 0, y: 1.15, z: -0.02}
组件2:{x: 0.57, y: -0.88, z: -0.02}
组件3:{x: -0.57, y: -0.88, z: -0.02}
组件4:{x: 0, y: -0.29, z: -0.04}
组件5:{x: 0, y: 0.39, z: -0.03}
组件6:{x: 0, y: 1.01, z: -0.02}
组件7:{x: 0, y: -0.83, z: 0}
组件8:{x: 0, y: 0.68, z: -0.02}
步骤4:根据步骤3所计算的新的组件中心坐标点,以动画的方式将组件移动到新的坐标点,完成爆炸效果的展示。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
bim展示 java_一种BIM展示的方法与流程相关推荐
- bim展示 java_一种BIM可视化展示方法与流程
本发明涉及bim技术领域,更具体地说,本发明涉及一种bim可视化展示方法. 背景技术: 目前国内各大设计.施工单位对于bim可视化技术的应用依然偏重于动画展示,主要内容包括工程bim模型的深化渲染.项 ...
- bim 导入unity_一种基于BIM和Unity3d的3D物联网可视化人机交互方法与流程
本发明涉及到建筑工程领域和计算机软件领域,采用目前较为成熟的autodeskrevit平台进行3d模型的建立,unity3d平台进行交互设计,具体设计为一种基于unity3d和bim的3d物联网可视化 ...
- matlab火焰测温源程序,一种火焰测温方法与流程
本发明涉及一种测量火焰温度的方法. 背景技术: 火焰是气态的且正在发生剧烈氧化反应的燃料及各种中间产物及最终产物的混合物.在煤化工.化工领域,在高温.高压反应器(或气化炉)上,火焰检测器一般安装在气化 ...
- 干电池电量采集_一种电池电量采集方法与流程
本发明涉及电池参数采集技术领域,尤其涉及一种电池电量采集方法. 背景技术: 目前,在使用电池的产品上,通常使用电量计来获取电池电量的精确数值.而由于电量计的成本较高,还有一些低成本的产品上,还会通过采 ...
- java游戏房间匹配_一种游戏房间匹配方法与流程
本发明涉及计算机技术领域,尤其涉及一种游戏房间匹配方法. 背景技术: 在目前的网络游戏中,游戏对象与游戏对象会通过互联网在线上进行竞技比赛,很多时候都需要多名玩家共同参与,现有的游戏对象的配对方法大多 ...
- ue4导入倾斜摄影_一种高精度倾斜摄影建模方法与流程
技术领域:本发明属于测绘技术领域,涉及矿山地形监测.测绘地形图.珍贵建筑物修复重建.林业.农业.采矿业.公用事业和能源.城市开发.国防和灾害应急的地理信息处理. 背景技术: :目前成熟的倾斜三维建模软 ...
- 计算机网络检查方式,一种计算机网络环路检测方法与流程
本发明涉及计算机网络环路检测技术领域,具体为一种计算机网络环路检测方法 背景技术: 计算机俗称电脑,是一种用于高速计算的电子计算机器,可以进行数值计算,又可以进行逻辑计算,还具有存储记忆功能.是能够按 ...
- lds天线技术流程图_一种镭雕镀金方法与流程
本发明涉及表面处理领域,尤其涉及一种镭雕镀金方法. 背景技术: 在电子通信产品的结构件中,一些产品经常采用在塑胶支架上镭雕化镀的方式来实现线路,LDS天线就是其中的一种.如图1所示,首先在塑料支架上镭 ...
- soc验证 c语言,一种Soc芯片验证方法与流程
本发明涉及Soc芯片设计及制造领域,特别涉及一种Soc芯片验证方法. 背景技术: 随着设计与工艺技术的不断发展,集成电路设计的规模越来越大,复杂度越来越高,为了缩短芯片的上市时间,节约开发成本,多家I ...
最新文章
- [mysql] 常用命令二
- spring javaee_开发人员对Spring vs JavaEE的看法
- 关于(我们流量表优化),分区表数据块过多,聚合又导致数据倾斜问题
- java WebService 异常
- 数电渣渣的一点学习感想(更新中)
- pyhthon Opencv截取视频中的图片
- 经典合成器插件 – LennarDigital Sylenth1 2.2.1 WiN-MAC
- 华为模拟器linux,华为ENSP模拟器 官方安装版
- F28335的SCI模块
- DDR3的配置及仿真教程
- 基础入门学习Python爬取微信公众号文章、标题、文章地址
- 深度优先搜索(DFS) 总结(算法+剪枝+优化总结)
- Three.js地球开发—6.三维球面上某点进行贴图标注
- 学生信息管理系统——用户登录模块问题篇
- Pytest学习笔记(15)-allure之@allure.epic()、@allure.feature()和@allure.story()
- B-tree、B+tree详解(二)插入与删除
- 第十五届全国大学生智能汽车竞赛 基础四轮组总结
- 传统bios安装linux分区,传统BIOS传统MBR分区,Clover硬盘安装基础教程
- Pinterest:难以平衡的中间人角色 毫无创新的抄袭
- 建立私人知识网站 cpolar轻松做到2 (发布DokuWiki)