First, I apologize for "cross-posting" this but since I'm asking general questions about mulitipe Adesk API's I thought it would be appropriate in this case. Basically, Im looking for input on what would be the best API for me to devote my time to. I've been using Lisp for years now but recently started using VBA (I had to if I wanted to tinker with Inventor). I avoided vba for a long time because it seemed so "foreign" to me, with the dot syntax and all. After just a week of VBA'ing though, I've grown to love it. Its MUCH easier than Lisp, much more intuitive, much easier to read, maintain and debug. It also seems much faster. So now I scorn Lisp for anything but the simplest of macro's. My intent, after completing my first major project with VBA was to "port" it over to standalone VB6. Now though Im wondering, since Im embarking on a new (to me) language should I just skip the vb6 step and go to VB.net? In that same vein, should I just skip VB altogether and go to C-sharp? I avoided C for a long time too after tinkering with it a bit several years ago, it seemed that to build even a simple acad addon with C required a PhD in computer science so that you could first master C then grapple with the rather large libraries composing the object arx system. At a glance, the learning curve for Arx programming looked very much like the Eifel tower. Needless to say I gave up on that approach, I didnt have the time (and money) to spend so much trying to learn it, especially when Lisp (and later vb) were SO much easier. I have heard though that C sharp is considerably easier to master that C/C++ and so assume arx programming should be a bit less painful as well, and apparently the Arx system is moving in that direction. In a nutshell then is my question, should I stick with VBA, go to VB6, go to VB.net or take the plunge into C sharp? To give this question a little perspective, here are my requirements: 1. Most important, the one thing I miss from Lisp is the ability to create what appear to be "native" commands, i.e. (defun c:mycommand) this isnt possible with vba, and I assume its not with vb6. It is possibe with C, but what about VB.net or C sharp? 2. The ability to create custom entities would be real nice, been wanting to do that for a long time. Obviously this cant be done with Lisp or VBA. Last I heard it could only be done with C++/Arx. Can the .Nets do it? VB or C? 3. It would be nice if I could create code that would be compatible all the way back to Acad2000, this of course will sometimes be impossible. Im under the impresson that only Acad2005 supports VB.net, although I thought I heard someone say they were doing .net with Acad2004. I have also heard that Inventor only partially supports .net right now. 4. Lastly, as you may have gathered, I also want to create apps/utilies for Inventor, thats what got me into VB in the first place. As an aside, if I decide to use VB6, how is the executable to be compiled, as an activeX.dll? activeX.exe? neither? How are functions inside this executable called from within Acad? I assume the "vbarun" construct will not work. Is the process similair for VB.net? I have found tons of helpfull VBA projects on the net but have not as of yet found any examples of "standalone" apps/utilities designed for Acad. Are there any examples out there? Thanks much for any tips