Community login and other support tools will be unavailable Saturday May 3rd 9:00 am to 3:00 pm (EST) due to planned maintenance. Learn More
I'm trying to create a button that exists in Creo Elements, but for some reason doesn't exist in Parametric.
It hides whatever you click. This is helpful because this way you can quickly "drill a hole" in your assembly by removing parts that are in the way. Creo Parametric wants you to click each part and then go to the menu and press hide. Too much of a hassle when trying to hide 30 parts.
So I was trying to create this mapkey:
mapkey hide @MAPKEY_NAMEhide;@MAPKEY_LABELhide;\
mapkey(continued) ~ Command ProCmdViewHide@PopupMenuTree;\
mapkey(continued) @MANUAL_PAUSE TEST;\
mapkey(continued) ~ Command ProCmdViewHide@PopupMenuTree;\
mapkey(continued) @PAUSE_FOR_SCREEN_PICK;\
mapkey(continued) ~ Command ProCmdViewHide@PopupMenuTree;\
mapkey(continued) @PAUSE_FOR_SCREEN_PICK;\
mapkey(continued) ~ Command ProCmdViewHide@PopupMenuTree;
Basically it should hide, wait for me to select another part, hide, wait, hide, wait hide.
If that works I'd repeat it like 100 times.
Problem is, PAUSE_FOR_SCREEN_PICK doesn't seem to anything. Only manual_pause works but then I have to press OK every single time, again, too much hassle.
I've tried many variations of the mapkey, but it's always PAUSE_FOR_SCREEN_PICK that doesn't work.
How should I go about this?
Solved! Go to Solution.
Sounds like you are manually editing a mapkey and inserting in the @PAUSE_FOR_SCREEN_PICK line. That function is not a universal function. Just because it works for some parts of the UI does not mean you can splice it in where ever you want. For model tree clicks the mapkey records the node location in the tree. I am pretty sure there is no way to get a@PAUSE_FOR_SCREEN_PICK for the model tree.
The better way to do this would be to have a mapkey that does the hiding and then you click the component and then run the mapkey to hide it. This would require multiple mapkey calls via the keyboard but I don't think there is another way to do what you are looking for unless you can automate your selection with the search tool (ie all of the components you are trying to hide have common elements like the beginning of the filename being the same).
To do this all you need is:
mapkey azz ~ Command `ProCmdViewHide@PopupMenuTree`;
Sounds like you are manually editing a mapkey and inserting in the @PAUSE_FOR_SCREEN_PICK line. That function is not a universal function. Just because it works for some parts of the UI does not mean you can splice it in where ever you want. For model tree clicks the mapkey records the node location in the tree. I am pretty sure there is no way to get a@PAUSE_FOR_SCREEN_PICK for the model tree.
The better way to do this would be to have a mapkey that does the hiding and then you click the component and then run the mapkey to hide it. This would require multiple mapkey calls via the keyboard but I don't think there is another way to do what you are looking for unless you can automate your selection with the search tool (ie all of the components you are trying to hide have common elements like the beginning of the filename being the same).
To do this all you need is:
mapkey azz ~ Command `ProCmdViewHide@PopupMenuTree`;
You can do this without creating any mapkeys, if I understand the goal. You want to pick a component (from graphics window) in assembly mode and hide it. You can map the shortcut to a mapkey mnemonic of your choice if you don't want to use the assigned shortcut.
You can also use ctrl when selecting multiple components to only invoke the hide command once for multiple components.
Have you tried using the keyboard shortcuts?
Creo Parametric keyboard shortcuts:
Hide is ctrl+H
Unhide all is shift+ctrl+H
Review this recent thread for a similar request.
Solved: Hide and unhide parts from graphics area selection... - PTC Community
@Matthijs1 . I realize you were asking specifically about mapkey definitions. However, if you would please let us know if the hotkeys for hiding components are not working your use case. If they are not suitable, offer a brief explanation of why.
Thx