Scripts
Bake object transforms
Copy and paste
Emailer
Flush
Implode explode
Instantiate
Make names unique
Poly counter
Print selection
Reset viewport
Selector
Selector
-- Author: Ben Bryan -- Date: 07/04/11 -- Email: ben@benbryan.net -- Web: http://www.benbryan.net/ macroScript selector category:"MaxPack" icon:#("selector", 1) ( rollout rll_selector "Select" width:140 ( edittext txt_search "" group "Select" ( button btn_root "Root" align:#center width:90 button btn_renderable "Renderable" align:#center width:90 button btn_hasmaterial "Has material" align:#center width:90 button btn_hidden "Hidden" align:#center width:90 button btn_frozen "Frozen" align:#center width:90 ) group "Grow" ( button btn_instances "Instances" align:#center width:90 button btn_inverse "Inverse" align:#center width:90 button btn_children "Children" align:#center width:90 button btn_dependents "Dependents" align:#center width:90 ) fn get_dependents = ( s = #() for obj in selection do ( join s (refs.dependentNodes obj firstOnly:false baseObjectOnly:true) ) join s selection op_arr = #() for obj in s where classOf obj == PF_Source do ( join op_arr (collectPflowRefs obj) ) join s op_arr selectMore s ) fn get_children objs = ( children = #() join children objs for c in objs do ( join children (get_children c.children) ) return children ) on btn_root pressed do ( select rootnode.children ) on btn_renderable pressed do ( arr = #() for obj in objects do ( if obj.renderable == true then ( append arr obj ) ) if (arr.count == 0) then clearSelection() else select arr ) on btn_hasmaterial pressed do ( arr = #() for obj in objects do ( if obj.material != undefined then ( append arr obj ) ) if (arr.count == 0) then clearSelection() else select arr ) on btn_hidden pressed do ( arr = #() for obj in objects do ( if obj.ishidden == true then ( append arr obj ) ) if (arr.count == 0) then clearSelection() else select arr ) on btn_frozen pressed do ( arr = #() for obj in objects do ( if obj.isfrozen == true then ( append arr obj ) ) if (arr.count == 0) then clearSelection() else select arr ) on btn_instances pressed do ( for obj in selection do ( InstanceMgr.GetInstances obj &instances selectMore instances ) ) on btn_inverse pressed do ( arr = #() for obj in objects do ( if obj.isSelected == false then ( append arr obj ) ) if (arr.count == 0) then clearSelection() else select arr ) on btn_children pressed do ( selectmore (get_children selection) ) on btn_dependents pressed do ( get_dependents() ) ) try(destroyDialog rll_selector) catch() createDialog rll_selector )