HTML
-
A little over a year ago I first saw the HTML version of 123D Catch. My first thought was "that's cool!" and my second was "I wonder whether you can embed the WebGL control to host a 123D Catch scene in an external web-page?". Basically allowing bloggers – or people posting to forums, perhaps – to embed 3D content captured using 123D Catch in their pages, much as you would do with a YouTube video. At the recent technical conference in Boston, I asked someone about the feature. Sure enough it had been added some time ago (probably around the…
-
After talking about the architecture of our JavaScript API in this recent post – and mentioning the approach we expect developers to take when creating geometry in one of the comments – I thought it would be worth spending the time to write my first JavaScript jig in AutoCAD. For those of you who haven't come across jigs in either ObjectARX or AutoCAD .NET, jigs are the primary way applications request users to dynamically specify geometric parameters while providing them with graphical feedback. As users select points or specify distances, the object or objects they're creating are updated in real-time…
-
After introducing the new JavaScript API as one of the new features in AutoCAD 2014, in the last post we looked at a simple command defined using JavaScript. In this post, we're going to implement a simple, palette-based UI inside AutoCAD using HTML5 and JavaScript. Let's start by looking at the HTML code (with the JavaScript embedded, for simplicity): <html> <head> <title>Draw a transient circle or rectangle</title> <script type="text/javascript" src="http://www.autocadws.com/jsapi/v1/Autodesk.AutoCAD.js"> </script> <script type="text/javascript"> // Some global variables …
-
Gamification is happening all over the place. In case you've missed what it's all about, this short video should help. To get even more background, here's another from the same source on augmented reality games, which is a follow-on from this video on alternate reality games. After having managed to get Apollonian Packings brought into the very cool PointCloud Browser, I thought it'd be fun to integrate some of the code from another of the PointCloud Browser sample apps, creating a little augmented reality game. Here's the basic idea: each level consists of a packing brought into PointCloud Browser from…
-
After my initial (only partially successful) attempt, earlier in the week, to get 3D geometry from the Apollonian web-service into a PointCloud Browser session, I finally managed to get it working properly. Given the currently fairly light documentation available – especially for the Viper JavaScript namespace which gives access to the 3D rendering capabilities in the browser – I ended up posting a question to the PointCloud forum. The answer was very instructive – I was able not only to get spheres of different radii displayed using the same mesh… … but also to apply different colours to the same…
-
I first became aware of the work being done by 13th Lab a couple of years ago, but just last week someone pinged me about it again and re-triggered my interest (thanks, Jim :-). 13th Lab is a small Swedish company that has created some really interesting Augmented Reality technology. Many AR systems make use of fiduciary markers (which often look like sections of QR codes) to make it easier to determine where the 3D content should be positioned and visualized in the 2D image of the scene being fed from your device's camera. Ideally, though, you want a markerless…
-
As we reach the end of this long series of posts on moving code to the cloud – and a look at ways to use the functionality from a wide variety of applications, many of them on mobile devices – I felt it was worth putting together a quick summary post to reinforce the overall message (which may have been a bit lost in the sheer volume of information). Firstly, here are the posts in this series, including those looking at the original creation of the "desktop" application functionality: Creating the core desktop functionality Circle packing in AutoCAD: creating an…
-
To finish off our look at developing an HTML5-based 3D viewer for our Apollonian web-service, today's post integrates the trackball capability of the Three.js library. Many thanks to Jeff Geer for once again pointing me in the right direction on this. 🙂 The trackball capability allows you not to worry about manual implementation of 3D navigation inside your viewer: you simply set up some basic parameters to indicate the size of your model and the speed with which you want navigation to occur – as well as the keys for rotate, zoom and pan – and then you just let…
-
In the last post, we created another, basic 3D viewer for the data from our Apollonian web-service – this time using HTML5 via Three.js. In this post, we'll extend the code to listen for keyboard events and manipulate the model according to user-input, as well as enabling feature detection of WebGL (allowing the same implementation to call into the canvas rendering code when WebGL isn't present). We're introducing keyboard-based commands to enable zoom, rotate (meaning spin, although not continuously) and the change of levels: + Zoom in - Zoom out , or % Rotate left . or / Rotate right…
-
After looking at how to bring data from our Apollonian web-service into Unity3D, Android and iOS over the last few weeks, it seemed natural to extend this series to cover HTML. A big thanks to Jeff Geer for suggesting Three.js, which is the HTML5-based framework I ended up adopting for this project. I like Three.js for a number of reasons: just as jQuery (another library I've used in this project, to good effect) attempts to abstract away the messiness inherent in supporting multiple browsers, Three.js does the same for the world of browser-resident 3D. The other main reason I like…