AutoCAD .NET

  • 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…


  • Modifying the contents of an AutoCAD xref using .NET

    An interesting query came into my inbox, last week. A member of one of our internal product teams was looking to programmatically modify the contents of an external reference file. She was using the code in this helpful DevBlog post, but was running into issues. She was using WblockCloneObjects() to copy a block definition across from a separate drawing into a particular xref, but found some strange behaviour. In this post I'm going to show the steps we ended up following to make this work. We're going to implement a slightly different scenario, where we modify an external reference to…


  • Selecting a linetype and applying it to a set of AutoCAD entities using .NET

    I received this request from Mateusz Andrzejczak, over the weekend: I have problem with LineTypeDialog. Your part of the code is working perfectly, but i have problem with modifying the values. I have a SelectionSet that holds all object that are selected with using a filter. I want to use LineTypeDialog to select linetype and then accept so all the object in selection set will change to selected linetype. I'm working with this for a few hours and it's not working. Any tip for me? The question related to this old post. I started by sending Mateusz a link to…


  • Recreating the Star Wars opening crawl in AutoCAD using F# – Part 4

    Happy Friday! It's time to unveil the completed Star Wars opening crawl inside AutoCAD… After an intro and seeing various pieces implemented, in today's post we're going to add the crawl text and animate its movement into the distance. The initial blue text The theme music The star field The disappearing Star Wars logo The crawling text As the surprise "bonus" item 6, I decided to add a planet and – at the end of the crawl – shift the view downwards to show its surface: an effect I've seen in the opening crawl for at least one of the…


  • Recreating the Star Wars opening crawl in AutoCAD using F# – Part 3

    Now that we've introduced the series and seen how to add some introductory text, theme music and a field of stars, it's time for the Star Wars logo. The initial blue text The theme music The star field The disappearing Star Wars logo The crawling text The logo came, once again, from the HTML opening crawl, which embeds some SVG content representing it. I copied this into a standalone SVG text file, ran it through a web-service to translate it to DXF and then opened that inside AutoCAD. The outlines of the letters (or groups of letters) were continuous polylines…

  • After introducing this series in the last post, today we're going to address the first 3 items on our TODO list: The initial blue text The theme music The star field The disappearing Star Wars logo The crawling text The following two items are fairly significant, in their own right, so they'll each take a post of their own to complete. Oh, and I've thrown in a surprise item 6, which I'll unveil when we implement the crawling text. Before we dive in, it's important to make some points about the code: because this is mainly just a bit of…


  • Recreating the Star Wars opening crawl in AutoCAD using F# – Part 1

    Happy New Year, everyone! As mentioned in the last post, I took a couple of weeks off over the holiday period, extending Autodesk's annual "week of rest" between Christmas and New Year to a full fortnight. This time of year clearly has religious significance for many. Some go to church, to temple or even to Stonehenge, some watch one or more of the Star Wars trilogies – arguably which they choose depends on how devout they are. I only ended up watching one Star Wars film, over the holiday period, and while it was from the Despecialized Edition, I don't…


  • AutoCAD 2015 APIs available via NuGet

    We've received this request a few times in recent years: .NET developers have asked to be able to add dependencies on AutoCAD's .NET reference assemblies – primarily acmgd.dll, acdbmgd.dll and accoremgd.dll – to their Visual Studio projects using the built-in package management tool, NuGet. For those of you unfamiliar with NuGet, it's well worth checking out: it's a really nice way to manage library dependencies in your .NET projects. Well, Christmas has come a few weeks early: the AutoCAD team has posted the 2015 .NET reference assemblies to NuGet. This is interesting to .NET developers for a number of reasons.…


  • AU 2014 Handout: Using SensorTag as a Low-Cost Sensor Array for AutoCAD

    [This handout is for "SD5013 - Using SensorTag as a Low-Cost Sensor Array for AutoCAD", a 60-minute class I'll be presenting at AU 2014. Here's the sample project that accompanies this handout.]   Introducing SensorTag SensorTag is a $25 device containing a number of sensors – an accelerometer, a gyroscope, a magnetometer, a thermometer, a hygrometer and a barometer – that communicates to a monitoring system (whether an iOS or Android mobile device or a Windows or Linux PC) via Bluetooth 4.0 (also known as Bluetooth Smart or Bluetooth Low Energy – BLE). Texas Instruments have packaged their CC2541 sensor…

  • It seems like I've been living in JavaScript land (and no, I deliberately didn't say "hell" – it's actually been fun 🙂 for the last few weeks, between one thing or another. But I think I've finally put the finishing touches on the last of the JavaScript API samples I've prepared for AU 2014. This sample was inspired by Jim Awe – an old friend and colleague – who is working on something similar for another platform. So I can't take any credit for the way it works, just for the plumbing it took to make it work with AutoCAD.…