cancel
Showing results for 
Search instead for 
Did you mean: 

Custom Visualization in a Browser

Siemens Visionary Siemens Visionary
Siemens Visionary

The latest release (11.2.2.2) of the PLM Vis toolkit (VTK 1215) includes JavaScript components along with the traditional Java Beans, Active X and SWT Widgets.  This means that PLM Vis customers can now build custom web based viewers. The only requirement is that the browser support WebGL. This is great news for PLM customers that want the ultimate convenience of a web based application for both desktop and mobile users. All current PLM Vis customers will recieve the JavaScript components at no extra charge.

 

There is a nice example of a JT web viewer on the JT Showcase page.

 

Comments
Creator

This is very very cool. The samples do not include opening a .PDF file and .CGM can they be added to the samples ? Is GTAC support available for this viewer ?

Siemens Visionary

Hi, the viewers on the showcase page are built using the PLM Vis toolkit - you can also download and use the JT2Go viewer from that page. GTAC supports the PLM Vis toolkit and also supports the JT2Go viewer if your company is a member of the JTOpen program. If your company is not a member of the program, then the viewer is supported on this Community site..

Creator

This package includes the following directory structure and files:


├───PLMVisWeb
│ ├───docs
│ │ └───PLM Vis Web
│ │ └───1.1.0
│ ├───javascript
│ ├───typescript
│ ├───jt2bod
│ └───samples
│ ├───Android Sample
│ ├───converterService
│ ├───converterServiceUI
│ ├───DATA
│ │ ├───1_PMI_Block
│ │ ├───CTS_1M
│ │ ├───fishing_reel
│ │ ├───hinge
│ │ ├───MasterPackagePump
│ │ ├───PMI_BLOCK_DKRENK
│ │ └───samplePart
│ ├───web_app
│ │ ├───css
│ │ │ └───skin-win7
│ │ ├───FOSS_Licenses
│ │ ├───img
│ │ │ └───cubeTextures
│ │ └───js
│ │ └───plmvisweb
│ └───webVR

 

Above is the structure of the PLM Vis Web and the samples demo only opening 3D JT data. We are looking for sample code to open 2D ( .CGM & .PDF ) data in the PLM Vis Web viewer. Does the PLM Vis Web viewer support opening 2D data ? 

Siemens Enthusiast

PLM Vis is a toolkit that has several different types of components.  The "showcase" page that John referenced is using the JavaScript component that only supports 3D (JT) data at this time.

Creator

Hello Jay,

Thank you for your response. I attended your JT2Go presentations at the PLM World 2016. Thank you for sharing info.

 

Brief description of the problem that we are trying to solve 

------------------------------------------------------------------------------------

We have very old web application that is currently using 'ActiveCGM'  Active X control to view .CGM files. We are looking to replace that Active X CGM viewer with another viewer where we can visualize 2D ( .cgm, .pdf ) and 3D ( .jt ) data for the enterprise.

 

Question on Javascript PLMVisWeb toolkit :

------------------------------------------------------------

If 2D data viewing is not supported are there any plans to add this feature to the JavaScript API ?

 

What is your recommendation ? ( java API vs javaScript API ) 

 

Siemens Enthusiast

The Java components do support 2D viewing, however they require a local install.  The JavaScript component will support 2D files (.cgm, .pdf) in the future (2018). 

Creator

Hi Jay,

 

Thank you for your response. That's perfect for us. We are currently in the process of upgrading to teamcenter 11 , NX11, Vis 11 and planning to deploy in 2018.

 

Your feedback/recommendation is very valuable.

Dreamer

Hi all,

 

I'm experimenting with the plm VIS to create a custom web viewer, but for some reason, I can only make it work in IE. All other browsers I've tried are only able to view a still (not rotatable) view.

 

The same browsers (Safari, Chrome, Firefox and Edge) however have nog problem when viewing the siemens JT Showcase.

 

I'm using PLM VIS WEB 11.3.

 

Any idea?

 

 

Siemens Enthusiast
Not sure of your question. First off, your browser needs to support WebGL. Not all do - especially older versions of IE.
Creator

I am not observing any issues on IE11 and Chrome 60. I am able to view and rotate the sample assemblies.

deployed webapp using apache2 on windows server 2003.

 

Fishing ReelFishing Reel

 

 

 

Siemens Enthusiast
So what is the question? If not working in other browsers then the browser either does not support WebGL or the browser has WebGL support turned off.
Dreamer

First thing I did was check if WebGl is working. I checked this here: https://get.webgl.org/...

all browsers show the spinning cube.

Strange thing is that all browser (exept IE) only show a non rotating part in my experiment.

All browser however are able to rotate the parts shown here: https://www.plm.automation.siemens.com/jt_showcase/jt_showcase.shtml

 

So my question basicly is: Do you need to adjust the HTML/Java applet code to make this work?

Siemens Enthusiast
I have no idea what you are attempting. Keep in mind that the JT data needs to be processed by a server component before sending to the browser. The showcase page uses data that has already been processed - I suspect that you are not using the converter service and trying to load JT directly which will not work. Please read all the documentation - it explains how this works.
Dreamer

I did. I used the pre converted data that is included as example. Again: it works in one browser. 

Theorist
Theorist

I also stumped over that no rotation, except in IE problem.

I am not that confidend in JavaScript, but after some debugging i found these lines:

 

 

mouseOnBall.set(
				(pageX - _this.screen.width * 0.5 - _this.screen.left) / (_this.screen.width * .5),
				(_this.screen.height * 0.5 + _this.screen.top - pageY) / (_this.screen.height * .5),
				0.0
			);

In the file TrackballControls.js

 

 

For me, with Chrome and Firefox, _this.screen.width and _this.screen.height was zero. I think because the resize method was never called.

 

I replaced it with

 

mouseOnBall.set(
				(pageX - window.innerWidth * 0.5 - _this.screen.left) / (window.innerWidth * .5),
				(window.innerHeight * 0.5 + _this.screen.top - pageY) / (window.innerHeight * .5),
				0.0
			);

 

Maybe that works for you too?