Solid modeling

  • There's a video that's currently going viral on YouTube – with 35 million views and at #4 on the trending list – wherein a former NASA engineer turned professional YouTuber (sigh) shows how he designed and deployed a super-cool glitter bomb to counter local parcel thieves. It was picked up a few days ago by the BBC, back when it had a mere 6 million views. The video is genuinely fascinating, especially towards the end where it shows footage captured by the integrated mobile phones of various thieves opening it up and triggering explosions of glitter followed by releases of…

  • The inspiration for this post has come from a variety of sources. (Feel free to skip this preamble where I talk about the history of the project: as much as anything it's so I remember myself how things happened when I come back to this post at some point in the future. 😉 My colleague, Simon Breslav, worked on an initial implementation in Dasher 360 that animated robots – and even mapped stress information to their surfaces – for a demo shown at AU 2017, back when I was travelling around the world with my family. One of the issues…

  • On Saturday I gave a couple of VR presentations at Micro16, an exhibition and conference held at Microcity, a (relatively) new technical hub in Neuchatel that houses part of EPFL. [I always pronounce Microcity with stress on the second syllable, much as Will Ferrel does when pronouncing "Metrocity" in the movie Megamind (so that it rhymes with "atrocity"). Anyway – it's just a (formerly) private joke shared with my wife and kids.] I'd been invited by a local organisation called Enigma & Indicium, which organises vocational workshops for young adults. The two sessions were attended by people aged from about…

  • When I was in Prague recently I spent some time with Alex Vinckier and Kris Riemslagh from hsbcad, an ADN member and provider of software for the offsite construction industry. I've corresponded and spoken with Alex and Kris a number of times during my time at Autodesk, but this was my first opportunity to meet them in person. They suggested I coordinate with another member of the hsbcad team – Alex's twin brother, Karel – to visit to one of their best customers, who happens to be based just 40km from my home. So it was that Karel and I…

  • Today's post resulted from an internal discussion: Miroslav Schonauer – with the help of Jan Liska – put together some code for a recent consulting engagement that they felt was important to share with the community. They wanted to test point containment for a particular 3D solid, but also to test whether the selected point – if outside the solid – was above it. They achieved this using AutoCAD's Brep API. Here is the C# they put together (with some minor, cosmetic edits from my side): using Autodesk.AutoCAD.ApplicationServices; using Autodesk.AutoCAD.BoundaryRepresentation; using Autodesk.AutoCAD.DatabaseServices; using Autodesk.AutoCAD.EditorInput; using Autodesk.AutoCAD.Geometry; using Autodesk.AutoCAD.Runtime; using System;…

  • My esteemed colleagues over in the ADN team, Philippe and Balaji, have been working their magic, creating samples to show how to make use of JavaScript-based physics engines within Autodesk software. They've inspired me to have a go myself. Philippe's sample – which carried on from his preliminary research into JavaScript-based physics engines – shows how you can integrate ammo.js with the View & Data API to add some gravity to an A360 model. Really fun stuff! [Side note: I love that ammo.js stands for "Avoid Making My Own physics engine" as well as being an emscripten port of the…

  • So yes, I like Star Wars. And my kids like Star Wars, too. In my office downstairs at home, I have the pride and joy of my modest collection of Star Wars-related goodies, a LEGO Death Star: It pains me to leave it downstairs and only let the kids play with it under supervision, but it was a hassle (albeit a very enjoyable hassle) to build and I'd hate to see it damaged. And if anyone thinks that makes me sound like Will Ferrell's character in the LEGO Movie, they'd be right: there's a lot that resonated in that film,…

  • To follow on from yesterday's post, today we're going to look at two C# source files that work with the HTML page – and referenced JavaScript files – which I will leave online rather than reproducing here. As a brief reminder of the functionality – if you haven't yet watched the screencast shown last time – this version of the app shows an embedded 3D view that reacts to the creation – and deletion – of geometry from the associated AutoCAD model. You will see the bounding boxes for geometry appear in the WebGL view (powered by Three.js) as you're…

  • As part of my preparations for AU, I've been extending this Three.js integration sample to make it more responsive to model changes: I went ahead and implemented event handlers in .NET – much as we saw in the last post – to send interaction information through to JavaScript so that it can update the HTML palette view. The code is in pretty good shape, but I still need to decide whether to post it separately or with the other JavaScript samples I'm working on (I'll also be showing Paper.js and Isomer integrations during my AU talk, as well as a…

  • After last week's post on importing Minecraft data – in this case from Tinkercad – into AutoCAD, in today's post we're going to focus on the ultimately more interesting use case of generating Minecraft data from AutoCAD. We're going to see some code to dice up 3D AutoCAD geometry and generate blocks in a .schematics file using Substrate. Our "dicing" process – a term I've just coined for iterating through a 3D space, chunk by chunk – is going to use a couple of different approaches for determining there's any 3D geometry in each grid location. Firstly, though, we going…