I don’t think a mere button is going to be the correct workflow here.
Sounds like a tool implementation is the only way this could happen if you want to “taste” materials nested down inside components and then apply them to other nested faces.
So your tool will need to use the view’s PickHelper
object to “sniff” the nested faces under the cursor.
Getting a reference to the source face’s material (after 1st click) and applying it to the target face (upon 2nd click) should be straightforward.
We ask you make a coding attempt at the very least, especially as this is for your work.
Refer to the Ruby Resources lists for information on PickHelper
use. ThomThom has a blog entry on it.
Search this category on “PickHelper”.
Check out the Tutorials repos on GitHub for the tool class.