Being an old VB6, (and before) programmer, I was every excited about the possibilities of what the API could allow us to automate. However, when I started working with it, I found a few limitations.
Reciently, I have a programming project that has forced me to upgrade to VB.NET. As I have started to understand what Objects really are, (and am still working on this) it is becomming very apparent that the API is not consistent with OOP, (object oriented programming).
From my perspective, the API is a large library of commands and
functions that "mirror" some parts of SW that can "interface" only a few of the objects in the SW. If the API was really an OOP environment then most of the same functions, commands, dialogues could be "inherited" through the API WHERE THE PROGRAMMER COULD THEN EXERCISE THE METHODS AND PROPERTIES, JUST AS THE OPERATOR MAKES SELECTIONS AND LAUNCHES COMMANDS WHEN USING SW DIRECTLY.
A good example of this could be the hole wizard. If this Object was available to the API then a "copy" of the hole wizard could be inherited into the program where all of the properties, (ie. editable options, selections etc. could be easily "managed" by the program that would allow for a degree of automation that has not yet been. SW itself, has a fair amount of automation built into it through configurations etc. but with all of the commands in SW "exposed" through the API, I believe that SW could become the most powerful CAD software on the planet.
A major benefit of having the real "tools" exposed through the API would be that when a Macro was ran that even the DIALOGUE BOXES AND SELECTIONS would be recorded.... As programmers we could prompt the operator for various information and selections and when these were manipulated and then stuffed into the various selections and then if the operator was given the opportunity to inspect/alter the selections in the dialogue inputs before finishing the command a lot more users would be able to develope automated tasks for SW. As it is now, recorded "micro's" are missing major parts what the operator actually selects/does in the SW environment.
Does anyone else agree that every SW command, and dialogue box should be available in the API? Doesn't it make a lot more sense that a recorded Macro should record EVERY selection, key stroke etc.?
Ed