AutoCAD .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.…
-
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…
-
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…
-
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…
-
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…
-
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…
-
I wasn't expecting to write a third part in this series of posts, but then Samir Bittar went and asked a follow-up question that I felt obliged to look into. Thanks for the suggestion, Samir! 🙂 Samir basically wanted to provide the user with more feedback as they're selecting the nested entity – so that the sub-entity gets highlighted, rather than the full block reference. This turned out to be quite a tricky scenario to address. The overall approach I used was to use a PointMonitor to perform a non-interactive, nested selection of the geometry beneath the cursor and then…
-
In the last post, we introduced the idea of preventing object snapping on certain objects by tagging them with XData and then attaching an overrule within AutoCAD to stop it from getting osnap information for them. This worked very well for standard, single-object snap modes – such as center, quad, mid, end, etc. – but didn't work for intersection points. Intersection points are determined by calling an object's intersectsWith() method, which can thankfully also be overruled using a GeometryOverrule. Overruling this behaviour comes with a few important caveats, though: intersectsWith() can be called in a number of different scenarios, so…
-
Here's a fun one that came up as a question during the recently "AutoCAD APIs: Meet the Experts" session at Autodesk University. I promised during the session that I'd address it in a blog post this week, so here we are. But I'm splitting the post into two parts, so the more complete solution will only be available next week. The problem is as follows: we want to be able to disable osnap on specific AutoCAD objects by tagging them in some way. The solution proposed by the panel during the session (I forget by whom: it could have been…