In 2013, you can use the selection view attribute to get the materials that are selected in the Material Manager.
Here’s a python custom menu item that shows how to do it. In summary, you do this:
- Add a custom menu in the Manager Manager
- Use a callback item, so you can get the view from the context
- Use selection view attribute to get the names of the selected materials
import win32com.client from win32com.client import constants null = None false = 0 true = 1 def XSILoadPlugin( in_reg ): in_reg.Author = "blairs" in_reg.Name = "MaterialsManagerPlugin" in_reg.Major = 1 in_reg.Minor = 0 in_reg.RegisterMenu(constants.siMenuMaterialManagerTopLevelID,"Custom_Tools",false,false) #RegistrationInsertionPoint - do not remove this line return true def XSIUnloadPlugin( in_reg ): strPluginName = in_reg.Name Application.LogMessage(str(strPluginName) + str(" has been unloaded."),constants.siVerbose) return true def Custom_Tools_Init( in_ctxt ): oMenu = in_ctxt.Source oMenu.AddCallbackItem("Get Selected Materials","OnGetSelected") return true def OnGetSelected( c ): view = c.GetAttribute( "Target" ) Application.LogMessage( view ) Application.LogMessage( view.GetAttributeValue( "selection" ) ) for mat in view.GetAttributeValue( "selection" ).split(","): Application.LogMessage( mat ) return true