Skip to content

mali151298/mago3djs

Repository files navigation

License

Englsh

mago3DJS

Open source JavaScript library for 3D multi-block visualization

Generation 3D GIS platform that integrates and visualizes AEC (Architecture, Engineering, Construction) areas and traditional 3D spatial information (3D GIS). Integrate AEC and 3D GIS in a web browser, indoors, outdoors, indistinguishable. You can browse and collaborate on large-scale BIM (Building Information Modeling), JT (Jupiter Tessellation), and 3D GIS files without installing any programs on the web browser.

Characteristic

  • Integration of AEC and 3D GIS
  • Seamless connection of indoor and outdoor spaces
  • Runs on a web browser and does not require a separate plug-in or ActiveX installation
  • It is developed based on open source (Cesium, Web World Wind) and has excellent openness and scalability
  • Efficient management and ultra-fast rendering of high-capacity 3-D files

Supported Format Formats

  • IFC(Industry Foundation Classes)
  • JT(Jupiter Tessellation)
  • OBJ
  • 3DS
  • COLLADA

Application example

  • Antarctic Science Base Web-based 3D facility, equipment management system
  • LiveDroneMap

Getting Started

1. Development Environment

2. Source Download

  • Use git to install the source to C:\git\repository\mago3djs with git clone https://github.com/mali151298/mago3djs.git.
  • Run eclipse and import mago3djs into Project Import File -> import -> General -> Projects from Folder or Archive.
  • If you are not using git, click the Download ZIP link to install it.

3. Node Install

  • node to install Window Install (.msi) 64-bit.
  • After the installation is complete, go to the C:\git\repository\mago3djs directory.
  • gulp installs globally in Terminal to use the module's mockups.
    C:\git\repository\mago3djs> npm install -g gulp

4. F4D Converter Install

  • www.mago3d.com 에 접속
  • Installer : F4D Converter 64bit (this installation requires Windows 7 or later) 설치
  • Install Path: C:\F4DConverter\

5. Data Conversion

  • Create a directory to store the changed f4d(outputFolder)
    C:\f4d\projectname (Create a directory for each project under the data folder, the root folder)
  • Save the data to be converted to C:\demo_data(inputFolder)
  • Run Command Line Prompt (cmd.exe) as an administrator and move to the directory where F4D Converter is installed
  • Run
    ※ For a description of F4D Conveter argumentF4D Conveter
    C:\F4DConverter>F4DConverter.exe #inputFolder C:\demo_f4d #outputFolder C:\f4d\projectname #log C:\demo_f4d/logTest.txt #indexing y
  • Create Symbolic Link to use transformed F4D files as web service in mago3D JS project
    • Run Command Line Prompt (cmd.exe) with administrative privileges and go to mago3D JS project
      C:\mago3djs
    C:\mago3djs>mklink /d "C:\git\repository\mago3djs\f4d" "C:\f4d" 
    (delete is rmdir data)

6. Edit Configuration File

Add two configuration files. (data.json, policy.json)

data.json

  • It is divided into three major areas. Attributes to store attribute values, children to store child node information, other area to store location information
  • The isPhysical attribute of the - attributes field is a mandatory attribute
  • The data_key of the root node of json matches the project name under the f4d folder
{
    //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\projectnameto find the directory to render
  • The characters after F4D_ in the directory name are unique identifiers
  • Modify the data_key value of children from the data.json file to a unique identifier
  • Modify latitude, longitude, height, heading, pitch, and roll values to appropriate values
//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

  • Project to be loaded at initialization, Init Camera Latitude, Longitude, CallBack Function, Geo Server setup
  • Enter key value to load when initializing page, , if you want to load multiple projects
"geo_data_default_projects": [
    "data.json"
]
  • Fix location (lattiude, longitude) to move when web page starts
"geo_init_latitude": "Enter latitude",
"geo_init_longitude": "Enter longitude"
  • Cesium ion Terrain access token setting
    • When downloading the maago3D JS source, the default is to use the Cesium World Terrain.
    • Issued Cesium ion token for cesium terrain application in mago3D JS. (https://cesium.com/ion/signin)
 "geo_cesium_ion_token": "cesium ion token" 

7. Running Node Server

// 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. Browser verification

// Cesium
http:localhost/sample/cesium.html
// WorlWind
http:localhost/sample/worldwind.html

LICENSE

Apache License Version 2.0.



About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages