Web/Tech

  • The "call for proposals" for AU2014 is going out on April 23rd and will remain open for about a month. This is approaching quickly, so get your thinking hats on if you're considering submitting a class proposal. From my side I'm thinking about a few possible topics: Implementing a tangible user interface for AutoCAD using SensorTag Integrating a web-based user interface into AutoCAD via its JavaScript API I'm also toying around with the idea of doing a kind of "meta" session, during which we'd look at some of my favourite blog posts/areas of research over the years. Something like "8…


  • The Autodesk Community gets a facelift

    It seems there's more and more support traffic from developers going through the Autodesk Community, these days – I know the ADN team has been encouraging use of the developer-centric forums, which appears to be having some effect – and the site itself has just been on the receiving end of a much-welcomed redesign. The redesign is intended to improve the "findability" of community content as well as providing a more personalised experience for users. Here's a screenshot of my own welcome page on the Autodesk Community, for instance: Yes, it's been a while since my last forum post. Must…


  • Coursera and the future of education

    It's my mum that first pointed me at Coursera. Yes, that's right: my mother. That's quite an admission for a software professional to make, I'm sure you'll agree, but then my mother does spend more time listening to the radio than I do (and there's been some recent coverage of Coursera on BBC Radio 4). Despite this ignorance I'm actually very interested in the area of Massive Online Online Courses (MOOCs). A couple of years ago I talked about Khan Academy (which is not really classified as a MOOC, as such, but might be considered a comparable resource) and its…


  • Google Chrome Web Lab’s Sketchbots: bits to atoms, zen-style

    I clicked on through to the Chrome Web Lab from the Google home-page, yesterday. It contains some cool "experiments" that showcase the capabilities of modern web-browsers (and presumably Google Chrome, in particular). The one that especially caught my interest was number 3, the Sketchbots experiment: The experiment starts with an uploaded photo or – and this is what I did, in my case – a snapshot taken from your system's webcam. Some image processing and computer vision techniques then get applied to it – essentially to perform edge detection and convert those edges to vectors – and the resultant sketch…


  • Cloud & mobile series summary

    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…


  • Creating a 3D viewer for our Apollonian service using HTML5 – Part 1

    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…


  • Consuming data from a RESTful web-service inside AutoCAD using .NET

    Consumption seems to be a relevant topic, coming after the long Easter weekend here in Switzerland… I was laid up with gastric flu on Monday: after having consumed large amounts of food with friends on Saturday and Sunday, I ended up eating nothing for the whole day. I managed to put the finishing touches on the previous post in this series, but beyond that I was pretty useless. Anyway, back to the point. We've looked at the trend of moving to the cloud, and the steps for creating and implementing a RESTful web-service using the new ASP.NET Web API. Now…

  • After introducing the (apparently somewhat charged, judging from the comments) topic of moving application functionality to the cloud, and then looking at the steps of creating and implementing an ASP.NET Web API project, we're now going to take a brief step back before looking at how we can effectively make use of the data provided by these web-services inside AutoCAD. If you're looking to assign blame (not that any is needed ;-), it's Scott McFarlane's fault we're taking this brief backwards step: Scott raised the excellent point – which really needs addressing sooner rather than later in this series –…