AutoCAD

  • Since publishing this recent post to simplify the process of generating centrelines for surfaces representing pipes – as imported from an external piping system that only generates SAT files – I've been thinking on and off about how best to simplify the process of measuring the lengths of these various "pipes". Greg Robinson's comment over the weekend spurred me on even further (thanks, Greg! :-): I'm musing on how one might code up the logic of creating a single continuous 3D poly from the horrid collection of surfaces the step file (.sat) make. This is a daunting logic issue. As…


  • Exploding AutoCAD text and manipulating the results using .NET

    Another interesting question came in by email, this week. Fredrik Skeppstedt, a long-time user of the TXTEXP Express Tool, wanted to perform a similar operation using C#: to explode text objects – as TXTEXP does – but then be able to manipulate the resulting geometry from .NET. TXTEXP is an interesting command: in order to explode text objects, it actually exports them to a Windows Metafile (.WMF) using the WMFOUT command, and then reimports the file back in using WMFIN. This, in itself, is trickier than it sounds, as WMFOUT creates the graphics in the file relative to the top…


  • Extracting pipe centrelines from AutoCAD surfaces using .NET

    This was an interesting one. I received an email from someone working on a significant BIM project that required external validation of some piping data coming from a competitive system. This system generates SAT files that – when imported into AutoCAD – represent pipes as surfaces rather than native AutoCAD (meaning Plant 3D or MEP) pipe objects. The challenge was to determine the length of these pipes inside AutoCAD, despite the fact they aren't pipes at all. Fun! 🙂 The first thing I did was to take a look at the DWG data, to see what the pipes look like.…


  • Previewing geometry as it streams into AutoCAD using .NET

    While developing the prototype ShapeShifter-AutoCAD integration, last week, it became clear that the user really needed something to look at as geometry was being marshalled across between the JavaScript hosting process and AutoCAD's address space. We might have used a standard progress bar, of course, but decided to do something a bit different: implement a mechanism to take the vertices of a mesh as they are being streamed/decoded and display them inside the drawing. For us this proved to be a 2-stage process: the vertices were brought in and displayed as red, and these same vertices – as referenced by…


  • Leaving Israel

    It's been a really interesting and productive few days here in Tel Aviv. In a sense it was too short a trip – I was penned in by commitments during the weekends either side of it – but despite that a lot was achieved. I didn't get to see very much of the city – apart from the hotel, a restaurant, some nice lunchtime eateries and a bar or two – but I'll definitely try to come for longer, next time around. After arriving on Tuesday and meeting with the people I'd be working most closely with during the course…


  • Forcing AutoCAD object snapping using .NET

    I was up in Adelboden, this weekend, for the Men's FIS World Cup Slalom and Giant Slalom events. Yes, just watching – not participating 🙂 – although I did get the chance to catch a few much gentler slopes on my snowboard during the course of the weekend. On the Saturday – during the Giant Slalom – there was a pretty amazing incident: a young Norwegian competitor, Henrik Kristofferson, very nearly hit a television worker during his first run down. Thankfully no-one was hurt, and Henrik was very understanding about the whole thing (he was given a restart but, given…

  • Before the break, I had a characteristically insightful comment from Gilles Chanteau on a post regarding the DGNPURGE implementation that was released as a Hotfix for AutoCAD 2013 and 2014. As usual with these things, sometimes you don't see the wood for the trees once you've started down a particular path. Here's the comment in question: Just a thought, you use: for (long i = 1; i < handseedTotal; i++) ... to scan the whole database, it's a nice way i use too searching for proxies for example. But here you're looking only for entities to check their owners. Won't…


  • AU 2013 classes available on-demand

    Yesterday I was reminded that 200 sessions from Autodesk University 2013 were recorded and have been made available on-demand – for free! Many great classes are available as well as the keynote and innovation forum sessions. I believe you need to create a free Autodesk account to view them, if you don't already happen to have one. In fact, here's a screengrab from the closing keynote which happens to include a photo (taken by Shaan Hurley, of course) of me with Scott McFarlane (love the sweatshirt 🙂 and Owen Wengerd at the Blogger's Social. I did a quick search for…


  • Attack of the robots

    Robots have been on my mind quite a bit, lately. They were everywhere at last month's Autodesk University, for instance, whether the 3D scanning robot wandering around the conference – and even showing up at the Blogger's Social – Bot & Dolly's impressively choreographed robot at the opening keynote or LEGO Mindstorms in the Exhibit Hall. And Google has been on a crazy buying spree picking up robotics companies – they've apparently acquired at least 8 during the past 12 months, including Bot & Dolly (announced while AU was still in progress, curiously enough) and the maker of the more-than-a-little-scary…


  • Merry Christmas!

    During the general wind-down before Autodesk's annual "week of rest", I've been spending some time this week getting more of my AutoCAD-Kinect integration samples working with the pre-release Kinect for Windows 2.0 device and SDK. Things are actually working pretty well: all samples – barring those that rely on capabilities that aren't yet part of the SDK – are functional and some have even been enhanced based on new capabilities of the 2.0 device. For instance, I've reworked the "piping" sample (the one that extrudes a circular profile through 3D space) to make use of the distance between the palm…