It is better to think of what you can do with automation in terms of an object and its associated methods and properties. While it is possible to access automation commands by way of gui.processcommand, this is not the way the automation functionality is designed to operate. Using gui.processcommand actually adds an additional layer of effort to the system as compared to accessing an object's methods and properties directly.
For this reason I have never tried to explore using and gui or commandbar operations to access the right-click menu items.
Specific to your question about removing the pin thermal override, no. There is no such function. And I believe that's intentional. Thinking about implementing via or pin thermal overrides from a system design point of view, I suspect that the software engineers consider that to be a part of the PCB design process best done on a manual, case-by-case basis. Or within a rule area, or within a plane shape assigned to a particular scheme. In other words, this is something you'd want to set up for a specific purpose in a specific area, not as a global practice. While there are no doubt exceptions to this paradigm, I think Mentor engineers are designing the software to work for the most general case, not the exceptions.
You can explore all the automation functions for pin or via by looking in the help for pin object and via object. What you see there is what you get - there are no other ways of working on a pin or via.
So while I hesitate to ask the dumb question "Why would you want to do that?", it may be useful to step back and analyze what you are trying to do from a wider perspective, and see if there is not already something in place to do it, or if it should be done at all. Not knowing exactly how and when you would like to implement such a function, it's hard to be more specific than that.
1 of 1 people found this helpful
For applications used in Space, I have written scripts to check the number of tie legs on a connection it flags ones that do not meet requirements.
this code looks at the ties based on plane shapes so it would be something like this:
Set plns = docObj.PlaneShapes(epcbSelectAll)
For Each pln In plns
Set tts = pln.TieLegs
For Each tt In tts
Patrick, let me explain why I decided to check the active/inactive status of the Remove Thermal Override command.
I would like to use Thermal Override mechanism for pins in ExpeditionPCB, but I cannot understand how to detect such overrides later on.
So I should first write a script to detect thermal overrides on the PCB. After that I can safely apply Thermal Override mechanism.
However, I haven't found the corresponding function in Automation, so I decided to use Automation for checking the active/inactive status of the Remove Thermal Override command, for every pin.
As Kendall says you can use the several tie leg properties for the pin to get some information about it. It seems like a really long way around to get what you are looking for, and I'd have to really look carefully at a test case to know and understand what those properties are telling me.
Nothing else I know of can be done. Of course I'd look for undocumented functions and hunt around some more, but nothing is obvious at this point.