I am getting ready to recreate a set of mapkeys in Creo that were originally created in WF4 and I need a little advice. In previous version of Pro/E it was considered bad practice to create a mapkey using icons or anything that could be customized because the mapkey would not be usable for other users with slightly different UI configurations. Because of this, I have always created my mapkeys using menu picks and it has worked very well.
The problem I see is that Creo is almost entirely icon driven and the whole user interface can be customized. Since there are no menus, I don't see how you can make a reliable mapkey that will work on more than one machine. The only real solution I see is to use the search function but that also seems like it could have problems.
How is everyone else creating their mapkeys in Creo?
If you look at the "code" that the mapkey generates for Creo it is not actually recording button clicks. It is recording the function calls to each command.
I would just review your mapkeys afterwards and do lots of testing on other people's machines. When you review the code you will see references to activating the various tabs. These actions can be stripped out if you like (although it may take some guess and checking).
I would avise against using the search function as I have personally not had good luck with it. The mapkey doesn't seem to record the pick within the selection of search results reliably.
Try creating your mapkey multiple ways. Try the icon, the dropdown, or even the command search. Try old commands from previous mapkeys. Look at the mapkey syntax that was generated and look for "~ Command". These are the commands you want to use if you have a choice since they do not depend on the user interface.
By the way, generally any command pair that starts with "Open" followed by "Close" can be deleted. Same goes for "Timer" commands.
mapkey(continued) ~ Open `main_dlg_cur` `PM_PHTLeft.AssyTree`;\
mapkey(continued) ~ Close `main_dlg_cur` `PM_PHTLeft.AssyTree`;\
mapkey(continued) ~ Command `ProCmdActivateInsert@PopupMenuTree`;\
It is very easy to create Mapkeys menu in creo that any other version.
From File option, customize screen ,Mapkeys you can drag & drop to the created menus & finally export all the ribbon settings... to be used as creo_parametric_customization.ui
How we are setup.
upon the start-up of a user, files distribute from a central place to their local Creo load point any "changed" version of the config.pro or creo_parametric_admin_customization.ui file. Changed could be from the server or local load point with the server being master.
local customizations are allowed like changing the background colors, personal mapkeys, etc, but urge only to "add on" and not change base functions.
The ribbons are modified accordingly and are activated via an icon. I also make sure to include the mapkey name in the code so that when you hover over the icon, it tells you the name and the key sequence, example:
mapkey sts @MAPKEY_NAMECreate a standard sheetmetal part;\
mapkey(continued) @MAPKEY_LABEL>Standard Sheetmetal Part (sts);\
mapkey creation is still the same. some can be re-used while others have to be re-written - it seems you know that already.
As Christopher mentioned, Creo records the function call rather than menu clicks, which makes the mapkeys more stable as they can call functions even if there is no button for them in the UI.
A word about using mapkeys from older versions:
When mapkeys from older versions are still functioning in later versions, it usually means that there was no change in this area.
However, in some rare cases they trigger a mechanism, that loads small parts of the old user interface, to enable the mapkey successfully processing.
These parts of the old UI will usually persist in a session and can alter the UI for this function even when the user is manually selecting menus.
And the reuse of a mapkey inside other other mapkeys (by preceding mapkey name with a %) is still available and a good way to save time.