mago3DJS 应用
用于3D多块可视化的开源JavaScript库
生成3D GIS平台,集成和可视化AEC(建筑,工程,建筑)区域和传统的3D空间信息(3D GIS)。将AEC和3D GIS集成到Web浏览器中,室内,室外,无法区分。您可以浏览和协作进行大规模BIM(建筑信息模型),JT(Jupiter Tessellation)和3D GIS文件,而无需在Web浏览器上安装任何程序。
特性
- AEC和3D GIS的集成
- 室内和室外空间的无缝连接
- 在Web浏览器上运行,不需要单独的插件或ActiveX安装
- 它基于开源(Cesium,Web World Wind)开发,具有出色的开放性和可扩展性
- 高效管理和超高速渲染高容量3-D文件
支持的格式格式
- IFC(工业基础课程)
- JT(木星镶嵌)
- OBJ
- 3DS
- COLLADA
入门
1.发展环境
2.来源下载
- 使用git通过git clone https://github.com/Gaia3D/mago3djs.git将源安装到C:\ git \ repository \ mago3djs 。
- 运行eclipse并导入mago3djs
Project Import File -> import -> General -> Projects from Folder or Archive。 - 如果您不使用git,请单击“下载ZIP”链接进行安装。
3.节点安装
- 节点安装窗口安装(.msi)64位。
- 安装完成后,转到C:\ git \ repository \ mago3djs目录。
- 使用节点包管理器为mago3DJS安装node_modules。
C:\git\repository\mago3djs> npm install - gulp在Terminal中全局安装以使用模块的模型。
C:\git\repository\mago3djs> npm install -g gulp
4. F4D转换器安装
- 安装程序:F4D转换器64位(此安装需要Windows 7或更高版本)
- 安装路径:C:\ F4DConverter \
5.数据转换
- 创建一个目录来存储已更改的f4d(outputFolder)
C:\f4d\projectname (Create a directory for each project under the data folder, the root folder) - 保存要转换为C:\ demo_data(inputFolder)的数据
- 以管理员身份运行命令行提示符(cmd.exe)并移至安装F4D Converter的目录
- 运行
※有关F4D Conveter参数F4D Conveter的描述C:\F4DConverter>F4DConverter.exe #inputFolder C:\demo_f4d #outputFolder C:\f4d\projectname #log C:\demo_f4d/logTest.txt #indexing y - 创建符号链接以将转换后的F4D文件用作mago3D JS项目中的Web服务
- 使用管理权限运行命令行提示符(cmd.exe)并转到mago3D JS项目
C:\mago3djs
C:\mago3djs>mklink /d "C:\git\repository\mago3djs\f4d" "C:\f4d"
(delete is rmdir data) - 使用管理权限运行命令行提示符(cmd.exe)并转到mago3D JS项目
6.编辑配置文件
添加两个配置文件。(data.json,policy.json)
data.json
- 它分为三个主要领域。存储属性值的属性,存储子节点信息的子节点,存储位置信息的其他区域
- - attributes字段的isPhysical属性是必需属性
- json的根节点的data_key与f4d文件夹下的项目名称匹配
{
//attributes area
"attributes" : {
"isPhysical" : false,
"nodeType": "root",
"projectType": "project Type"
},
//Child node area
"children" : [
],
//Location information area
"data_key" : "Project name",
"data_name" : "Project name"
}
C:\f4d\projectname找到要渲染的目录- 目录名称中F4D_之后的字符是唯一标识符
- 将data.json文件中child的data_key值修改为唯一标识符
- 将纬度,经度,高度,航向,俯仰和滚动值修改为适当的值
//Child node area
"children" : [
{
"attributes" : {
"isPhysical" : true,
"nodeType" : "..."
},
"children" : [
],
"data_key" : "Unique identifier",
"data_name" : "Data name",
"latitude" : Enter latitude,
"longitude" : Enter longitude,
"height" : Enter height,
"heading" : Enter heading,
"pitch" : Enter pitch,
"roll" : Enter roll
}
]
policy.json
- 要在初始化时加载的项目,Init Camera Latitude,Longitude,CallBack Function,Geo Server setup
,如果要加载多个项目,请在初始化页面时输入要加载的键值
"geo_data_default_projects": [
"data.json"
]
- 修复网页启动时移动的位置(lattiude,经度)
"geo_init_latitude": "Enter latitude",
"geo_init_longitude": "Enter longitude"
- 铯离子地形访问令牌设置
- 下载maago3D JS源代码时,默认使用Cesium World Terrain。
- 在mago3D JS中发布用于铯地形应用的Cesium离子令牌。(https://cesium.com/ion/signin)
"geo_cesium_ion_token": "cesium ion token"
7.运行节点服务器
// If you run the server privately
C:\git\repository\mago3djs>node server.js
// If you run the server as public
C:\git\repository\mago3djs>node server.js --public true
8.浏览器验证
// Cesium
http:localhost/sample/cesium.html
// WorlWind
http:localhost/sample/worldwind.html
mago3DJS 应用的更多相关文章
- Cesium资料大全
前言 Cesium是一个用于显示三维地球和地图的开源js库.它可以用来显示海量三维模型数据.影像数据.地形高程数据.矢量数据等等.三维模型格式支持gltf.三维瓦片模型格式支持3d tiles.矢量数 ...
随机推荐
- 二维码生成插件qrious
1.qrious是基于canvas的纯JS二维码生成插件 1.1什么是二维码 二维码又称QR Code,QR全称Quick Response,是一个近几年来移动设备上超流行的一种编码方式,它比传统的B ...
- PL/SQL Developer查詢已經執行過的SQL語句記錄 Ctrl+E
PL/SQL Developer查詢已經執行過的SQL語句記錄 最近提数比较多,没有已存在的脚本信息,就手工写呀... 一次性打开了多个提数脚本文件,结果执行完后把脚本保存好了,但是最后的整理其它脚本 ...
- 每个Web开发者都该了解的12条命令行
转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者.原文出处:https://tutorialzine.com/2017/08/12-terminal-comma ...
- Python高级特性——迭代(Iteration)
1.给定一个集合list或者tuple,可以通过for …… in ……的语法来实现循环遍历,这个循环我们就叫做迭代 迭代list: >>> m = ['haha','hehe',' ...
- jQuery随笔记录
DOM遍历 parent()方法返回所选元素的直接父元素.(parent() 只能遍历单个级别的 DOM树) parents()方法获取所选元素的所有祖先 children()所选元素 ...
- 如何在idea中加载本地中已有的python
本地上安装好了python, 在IDEA中new Project的时候,new Python,选择SDK选择本地的python(本地的python已经配置好了环境变量才行) 另外,默认是不会导入Pyt ...
- MySQL日志简介
一.MySQL日志简介 二.错误日志 作用: 记录mysql数据库的一般状态信息及报错信息,是我们对于数据库常规报错处理的常用日志. 默认位置: $MYSQL_HOME/data/ 开启方式:(MyS ...
- Oracle11G_R2中共享服务器模式和专用服务器模式参数解释及设置
sys@MYTESTDB> show parameterNAME TYPE VALUE------------------------------------ ----------- ----- ...
- vue使用--vuex快速学习与使用
什么是vuex? Vuex核心概念 Vuex安装与使用 1.安装 2.目录结构与vuex引入 3.store中变量的定义.管理.派生(getter) 4.vuex辅助函数的使用说明 Vuex刷新数据丢 ...
- Java连载55-接口的作用、接口举例
一.接口的作用 1.可以使项目分层,所有层都面向接口开发,开发效率提高了. 2.接口使代码和代码之间的耦合度降低,就像内存条和主板的关系,变得“可插拔”,可以随意切换. 总结:接口和抽象类能够完成某 ...