Web ready

Work is currently in progress in order to add WebGL support for pythonOCC. Want to know more about WebGL: check the Khronos WebGL page at http://www.khronos.org/webgl/. In a few words, WebGL is en emerging technology enabling real time 3D in a web browser. Specs are still in a draft state, and latest releases of web browsers do not support it by defult yet. However, major browsers dev teams hardly work to support WebGL (and HTML5 in general): experimental WebGL support is already available on Chrome 8, Firefox4 beta, Webkit etc.

Primarily identified as a way to enable online gaming (including on mobile devices), this innovation is a major opportunity for CAD (at least, we believe it is!). As a W3C standard, WebGL and HTML5 will kick off proprietary or specific plugins currently required to visualize 3D shapes. Just imagine the benefits for CAD users: get free from proprietary plugins and just use the native features of your web browser! Remove all the heavyweight clients from your machine! You, project manager, review the progress of your design team on your iPhone or Android phone, whether you are in the train or in a cab!

Furthermore, we do believe in the latest technologies to enable what we call “CAD in a browser”: we mean a complete online CAD/CAM toolsuite running in Firefox, Chrome or Safari. Lightweights client rather than heavyweight installations on a local machine. Truelly multiplatform. Requiring low machine resources. Poor deployment and maintenance costs.

Open standards and open source software makes this ideal become possible in a short future: FOS browsers, FOS js libraries, FOS distributed and highly scalable”NoSql” databases, and pythonOCC of course ;)

An experimental WebGL renderer for pythonOCC was developed to test these features. The python script takes any TopoDS_Shape and generates a three.js compliant javascript file. The test was ran from the STEP file of a robot. Below is the screenshot of this STEP file displayed in an heavyweight PyQt client:

ABB robot STEP import screenshot

The resulting html file can be viewed in a WebGL compliant browser. The following screenshot was taken from MacOSX/Firefox-Beta10 and was successfully tested with Chrome 8 and Webkit (latest rev.).

Useful links:

 

Fork me on GitHub