AutoLISP / Visual LISP
-

In the last post, we saw the steps involved in preparing an AutoCAD application for posting to the Autodesk Exchange store. In this post, we'll step through the submission process. Let's start with some basics: posting to Autodesk Exchange currently happens from within the AutoCAD product, which means you'll need AutoCAD 2012 installed (and running) to submit your product. Step 1 – sign into (or up for and then into) Autodesk Exchange. Within AutoCAD 2012, sign in to Autodesk Exchange. If you're not already in possession of an Autodesk ID, click on the link to create one. If you have…
-

As mentioned in this previous post, the following API wishlist surveys are currently live: AutoCAD® AutoCAD® Civil 3D® AutoCAD® Map 3D® Revit® Autodesk Inventor® Autodesk Navisworks® We've had around 500 responses across the various surveys, but to give a few more people the chance to respond, we've extended the deadline until June 11th, 2010. To give you an idea of how the voting is looking so far, here's a summary of the responses against the survey's "money" question (5. From the following list of possible AutoCAD API enhancements, please choose three areas that you recommend we make our top priority…
-
A big thank you to Jim Cameron from Dematic for providing the code for this post, and to Wayne Brill from DevTech Americas who helped him on his way via ADN support. I've made a few changes of my own to the code, but the concept is very much Jim's. Jim recently had a frustrating problem with a VLX application he wrote that depends – via (vl-arx-import) – on a .NET module. It turns out the module was not being demand-loaded properly, but this took some time to diagnose. In the past Jim used (arx) from LISP to detect the…
-
In this recent post we looked at an approach combining AutoLISP with a script generated on-the-fly to get around the fact that (command "_.OPEN" …) does nothing when SDI == 0. As mentioned in a comment in the post, I realised that the approach of using a single master script to do this is more prone to failure: a number of commands can cause scripts to stop executing, for instance, so it would be better practice to minimise the operations contained in a particular script to increase the application's fault tolerance. This modified approach was suggested by a member of…
-
As mentioned in this previous post, there has been some discussion internally around the future of SDI. Given the change this will bring to applications, SDI is going to be around until we next deliberately choose to break binary application compatibility (something we just did with AutoCAD 2010 and typically try to do only every three releases). That said, SDI is very likely to go away at some point, so it does seem worth drilling further into the reasons for using it and trying to determine an appropriate way to remove current dependencies on it. Thanks to all of you…
-

I've been meaning to play around with the Python language for some time, now, and with the recent release of IronPython 2 it seems a good time to start. Why Python? A number of people in my team – including Jeremy Tammik and the people within our Media & Entertainment workgroup who support Python's use with Maya and MotionBuilder – are fierce proponents of the language. I'm told that it's an extremely easy, general-purpose, dynamic programming language. All of which sounds interesting, of course, although I have to admit I'm less convinced of the importance of the dynamic piece: I've…
-
As mentioned in this previous post, my team delivers regular webcasts on programming with Autodesk technologies. Assuming you're reading this while the metaphorical ink's still damp, it's still not too late to register for a class being held on Thursday October 16th at 8am Pacific, 5pm CET: AutoCAD: .NET for LISP Programmers. Otherwise you should be able to find a recording of the webcast on this page within a few weeks of the session being delivered. In fact, here's the recording of the last time this session was delivered (although it may well have been updated slightly, as the session…
-
This is the second part of the series documenting my recent interview with John Walker. Where the first part looked at the early history of the company, this part focuses more on the architectural evolution of AutoCAD and its APIs. I have not linked to terms previously linked to in the first part of the series, which should also be referred to for typographical conventions, if they're not clear. Part 1 - Autodesk's early history Part 2 - AutoCAD's architecture & APIs Part 3 - Autodesk's eco-system and strategy Part 4 - Past and future opportunities AutoCAD's architecture & APIs…
-
The first update to AutoCAD 2009 is now available. Here is the Readme for this update, which includes a note that these developer-oriented fixes are included (as well as many more general issues): .NET API When a .NET function with a LispFunction attribute has the return type as object, an exception is thrown in AutoCAD. Visual LISP The AutoLISP Redraw function fails to hide or highlight objects.
-
A recent comment on one of my F# articles got me thinking about this topic (thanks, Thomas! :-), so I thought I'd write a few posts on it. Next week is AU, and the week after that I'm attending a training class in Boston, so posts may be a little sparse over the coming weeks. Metaprogramming – according to the definition on Wikipedia – is the act of writing code that writes or manipulates other programs (or itself). But what is it really all about? The vast majority of programmers are actually metaprogramming without realizing it has such a fancy…