I've written a skill program that uses axlEnterPoint() to get the coordinates of either a cursor pick, a via or a pin
when I use this command the "status bar" of PCB Editor says "skill" which means it enters skill mode, however after selecting a point, via or pin it does not return to idle.
So the only way to get away from this is to select another command in pcb editor and cancel that.
Does anyone know how this can be avoided?
Did you register your command type as interactive?
If not, you will need to type "Done" on the command line or write a handler.
Yes, both tried interactive and without (interactive should be default according to the documentation)
Problem is that there is no "done" available, I could fake a call to a command and stop it immediately, but that's a dirty trick :-)
Right Mouse Button (RMB) "Done" should work.
Here's a small test utility that works for me:
defun( spinSyms (@optional (dAng 90)) let((pt, symbs) when(stringp(dAng), dAng = readstring(dAng)) dAng = float(dAng) while(pt = axlEnterPoint(?prompts "Select symbol to spin") and( axlSetFindFilter(?enabled "symbols" ?onButtons "symbols") axlSingleSelectPoint(pt) sym = car(axlGetSelSet()) axlTransformObject(sym, ?angle if(sym ->isMirrored, -dAng, dAng)) ) )))
Yes RMB->Done should work, but the only right click options I have is the "snap to " functionality, no quick utilities, selection or anything.
I see this problem when I type the command on the Skill console command line. I then have to type "done" in the main console window or axlShell("done") in the Skill console. I don't see the problem with a utility run in Interactive mode but you must run the command from the main console with the registered command - not the Skill console.