IBM/MaximoForgeViewerPlugin

Name: MaximoForgeViewerPlugin

Owner: International Business Machines

Description: MaximoForgeViewerPlugin

Created: 2017-07-21 13:49:04.0

Updated: 2018-02-02 18:20:27.0

Pushed: 2018-01-08 17:19:04.0

Homepage: null

Size: 253532

Language: Java

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

Maximo BIM Forge Viewer PlugIn

Overview

MaximoŽ Extensions for Building Information Models (BIM) - Autodesk Forge Viewer Plug-in provides support for utilizing the Autodesk Forge Viewer in Maximo. It is most easily utilized in conjunction with COBie data that is imported in the BIM Projects application. The Forge Viewer integration provides visualization of Building Information Model (BIM) data in the context of the Maximo Assets, Locations, and Work Order Tracking applications. In this context, it provides the following features:

Forge Service Administration
Maximo Integration

Forge Viewer features that are exposed in the Viewer toolbar include: Full 3D navigation

In addition, the 3D model can be used in conjunction with the normal Maximo lookup mechanism to provide direct visual selection of assets from a building model.

Target audience

There are many possible audiences for this project if you want to:

Just use the viewer plug-in

Running the make_package.cmd script creates the plugin package for install into Maximo. The pre-built package is also available here

Extend the Forge viewer implementation

The JavaScript files that wrap the Forge viewer API are here These can be extended to add viewer features. Possible accessible via one of the toolbars or the context menu. This can be done with little or no knowledge of Maximo.

The Maximo integration may be extended, however this requires a good working knowledge of Maximo development

Create a plug-in for your own viewer

The code in this project can be cloned to start a new viewer plug-in The full viewer API is documented here. A functioning viewer implementation can be created with a mimimal of Maximo knowledge by cloning the JSP file here or those in the bimvendor directory of your Maximo install.

Richer integrations that display additional Maximo data or store viewer data in the Maximo database can be accomplished by using the appropiate Forge viewer feature as a model.

These aspect may be of particular interest:

How to build

The project is setup to build in Eclipse

The Java portion of the project needs to be built against Maximo. Either the .EAR file, or the Maximo install directory structure can be used.

To use the EAR file
To use the Maximo install directory

This is the directory structure laid down by the Maximo install and used to build and update the Maximo EAR file. Depending on how Maximo was installed, it may not be on the Maximo server.

Notes
What's included
Forge viewer Plug-in:

This implements the Maximo viewer API for the Forge viewer. It consists of JavaScritp and JSP files.

It also include 2 Maximo Business Objects (Mbos) for storing saved views and markup. As well as a simple dialog added to the “Manage BIM Viewer” applcation to manage saved views

Forge Service Java wrapper:

This is a set of Java classes that wrap the Forge REST service to make it easy to use from within a Java application. This includes result classes that parse the JSON returned by many of the Forge APIs into easily consumable Java Data Objects. It also include simple classes with main() methods, and Windows .cmd files to enable it to be used as a CLI interface to Forge.

Forge Model Administration application:

This is s set of Maximo Business Objects (Mbos), and Maximo UI the provides an administrative UI to:

The Mbos are hybrid objects storing some data in the Maximo database and retraining some data from the Forge service.

When Forges service are accessed from within Maximo, Maximo site security can be applied to Forge objects.

BIMField application:

A stand-alone Web application that is map and viewer centric. It is intended for use on connected mobile devices

Sample Models:

Two sample models including Revit files and COBie data

Test viewer

A very simple blank viewer implementation is included. It has no viewer function, but enables the 3D view tabs to display in the Maximo UI.

Product applcation UI

int the past, the BIM extensions have incldued a product applcation for that implements a simple product catalog and is populated from the COBie Type table. The applcation was not officially included in Maximo when the BIM extensions moved to Maximo core. However the database tables and code for the applcation is pressent. Only the UI is missing. THe UI is included in this package.

Project Structure

The project structure follows the Maximo code and deployment structure. This section assumes knowledge of Maximo development

Maximo Business Objects (Mbos)
DataBeans

The databeans that implement the Forge service Management UI. Most of these are somewhat complicated becasue updates to the Forge service can't be wrapped into Maximo database transactions so all changes are commited immeditatly.

UI Control extensions

The entire viewer is presented to Maximo as a UI control similare to a textbox. The xml files that define the control interface are included here for reference. It should not be necessary to modify these, and they should not be redistributed.

The Java class that implements the viewer control is here. This is mostly included for reference so the mechanism for the viewer communicating with Maximo can be understood and the communication can be followed in a debugger. However, this could be extended to enhance the viewer API function. For Example: to add a call to set a list of IDs to s specified color. Redistributing this should be done with care as it will overwrite the version included with Maximo.

Product definition

Maximo uses a product definitions file to define the current product version and name, and to control which scripts are run by maxinst or updatedb. The bimlmv product definition is found here. New viewer plug-in which require database, UI, or message catalog scripts should copy and rename this file. If scripts are added to the Forge viewer plug-in, this file must be updated for those scripts to run.

Database scripts (.dbc files)

Maximo use XML scripts to define and update database tables. The scripts for the Forge Viewer Plug-in can be found here. Existing scripts are never changed. All updates are made by adding new scripts.

Presntation files and scripts (.mxs files)

The Maximo presentation update process uses XML files that describe the changes that must be applied to the existing UI to update it to a new version or add a new feature. These scripts are tolerant of most UI customization. The scripts are in the same directory as the database scripts and run the same way.

There is a tool included in the Maximo expanded EAR for automatically generating the UI update file by comparing the current and new presentation XML files. It is located at /tools/maximo/internal/mxdiff

Message catalogs (.msg files)

Maximo uses a database based message catalog which support internationalization and translation. Extensions make additions to the message catalog through an XML file that is located in the same directory as the database scripts and run the same way. In normal Maximo development these files are generated from and IBM internal tool. However, the files included with the project can be copied and hand edited to create new message catalog scripts.


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.