@KiCADsmktec I don't know how straight forward it'd be to make the python stuff available from VB.
Since the python stuff can be called from standalone python scripts, one possible workaround is to have little scriptlets that you'd call from VB.
I don't know if the effort would be worth it. To me VB means windows, and my luck with getting non MS languages to work there (python and perl come to mind. stuff within cygwin is an exception but I don't believe that help us here). So once you've got a python scriplet working, you'd then have to get the VB shell call to python to work.
I'd encourage you to look at the examples in my blog (mentioned in one of the earlier posts).
@bobc I've thought about developing a wrapper for the python APIs, also in python but more consistent. Each of kicad's classes does things a little bit different. The wrapper would make things more uniform. For example, to get the name, you call getName. To get the parent, call getParent. To get children call getChildren. They'd all return a python list, not a goofy swig wrapper....
As for the status quo, I'm guessing that there is a desire by users to have easier programming type interfaces. The problem is that there are few people with the skillset, desire, and time to implement them.
@rickb I believe you emailed me about ulp stuff. I replied but I don't know if you've received it.
I still don't fully understand it, but there is a nice feature that I've seen in another CAD tool that could be relevant here.
In that tool, all significant GUI interactions were recorded into a file. (mouse clicks, key bindings, button clicks...) Those could then be read back into the tool. It was developed as a recovery mechanism for debugging and to avoid losing data when the tool crashed (all too frequent)
Over time that recovery mechanism was used for macro type stuff. Folks wrote scripts to write stuff in the recovery syntax.
Either way, it seems there's a need for several interfaces at varying levels of complexity. Macros, python, c++. My opinion is that a ton of stuff should move from c++ to python. Way more accessible to way more people. I can't comment on macros, since "real" programming languages feel natural to me.
Kudos (or condolences) to anyone who's made it to the end of my rambling.