I installed the icon made by matt666 in my plugins directory and made the requisite changes to the plugin as specified on this forum. The icon is showing in my SketchUp Interface. Unfortunately when I select a group, click on the mirror icon, select two axis for mirroring. ....nothing happens 
i've modified the plugin like this...
# Name ;          Mirror 3.0 ###
# Description ;   Mirrors Selection at Point, Line or Plane
# Author ;        Originally by Frank Wiesner
#				  BUT NOTE from v2.6 it's been TIG tweaked and rewritten...###
# Usage ;         1. Make Selection (Any Entites allowed)###
#                 2. Select 'Mirror Selection' from Plugins Menu 
#					 or from Context Menu or your ShortCut Key ###
#                 3. If here's no Selection then dialog informs ###
#                 4. Pick a Point and RETURN to Mirror at the Point
#                 5. Pick a Second Point and RETURN to Mirror at the Line
#                 6. Pick a Third Point to Mirror at the Plane
#                 7. Final Option is Erase Original ? ###
#					 If Yes then Highlighting of Selection passes to Copies
#					 (Note; Erase is undo-able separately from the Mirroring) ###
# Type ;      	Script
# History;      
#				3.0  05 Aug  2006 ### TIG Ending rewritten to avoid rare bugsplats.
#				2.9  03 Aug  2006 ### TIG Start;commit loops to avoid rare bugsplats.
#				2.8  26 July 2006 ### TIG re-tweaked - Rewritten to be MUCH simpler.
#										Mirroring of ANY Entity Selection works properly.
#				2.7  23 July 2006 ### TIG tweaked - Rewritten generally.
#										Now processes Multiple selections of Groups and/or 
#										Components, but warns if any 'loose' (UnGrouped) 
#										Faces in Selection as they might lose any RePostioned 
#										Texture data, interfere etc.  
#				2.6  22 July 2006 ### TIG tweaked - Context menu added IF ONE group/compo.  
#                                       Warns about selection IF NOT ONE group/compo.  
#                                       Materials now preserved in mirrored copy BUT you will 
#									    need to group selection to preserve material positioning 
#										- although this is define-able it is not find-able from 
#										the orignal face info !  
#                                       Final option to Erase of Original Group/Compo.
#                 2.5  (8.Jul.2oo5)  - bugfix; faces with holes reduce now to a single face
#                                    - major code rewrite (dropped @clondedObject hash, heavy 
#                                      use of groups during construction,...
#                                    - more redundant constructions, but seems to be more robust
#                                    - WARNING; POLYGONS DO NOT WORK VERY WELL
#                 2.4  (5.Jul.2oo5)  - all unnecessary edges created by the add_faces_from_mesh() 
#                                      method are erased! faces with holes mirror now perfectly.
#                 2.3  (4.Jul.2oo5)  - fixed "mirror at plane" error
#                 2.2  (2.Jul.2oo5)  - works in group editting mode
#                                    - prevents picking of identical points
#                 2.1  (1.Jul.2oo5)  - fixed "undo group" bug
#                                    - code cleanup
#                 2.0  (30.Jun.2oo5) - new tool-like interface
#                 1.4  (29.Jun.2oo5) - arc bug fixed
#                                    - code simplified (clone_selection() removed)
#                 1.3  (24.Jun.2oo5) - can handle faces with holes in it (although more edges 
#                                      are drawn than nessesary)
#                                    - correct orientation of mirrored faces 
#                                    - supports arcs (at least works for circles), curves and groups
#                 1.2  (20.Jun.2oo5) - axis and origin selection algorithm does not rely on tool tips any more.
#                 1.1  (19.Jun.2oo5) - fix coplanar point bug
#                                    - better tooltips
#                                    - supports mirror at lines (edges, axis, construction lines)
#                                    - mirror-at-plane code simplified
#                 1.o  (10.Jun.2oo5) - first version
require 'sketchup.rb'
class MirrorTool
    def initialize
        @MIRROR_AT_POINT = 1
        @MIRROR_AT_LINE = 2
        @MIRROR_AT_PLANE = 3
        @numPrecision = 0.00001
    end
    def reset
        @pts = []
        @state = 0
        @transformationType = nil
        @trans = nil
        @point = nil
        @line = nil
        @linev = nil
        @plane = nil
        @planeNormal = nil
        @pointOnPlane = nil
        @curvesDone = Hash.new()
        @cloneGroup = nil
        @ip = Sketchup;;InputPoint.new
        @ip1 = Sketchup;;InputPoint.new
        @ip2 = Sketchup;;InputPoint.new
        @ip3 = Sketchup;;InputPoint.new
        @ip = Sketchup;;InputPoint.new
        Sketchup;;set_status_text "Mirror;  Pick First Point"###
        @drawn = false
    end
    def activate
        ###Sketchup.send_action("showRubyPanel;")
        self.reset
        ss=Sketchup.active_model.selection
        if ss.empty?
            Sketchup;;set_status_text "Mirror; NO Selection !"###
    		UI.messagebox("Select Something BEFORE Using the Mirror Tool.")###v2.8
            Sketchup.active_model.select_tool nil
        end
    end
    def deactivate(view)
        view.invalidate if @drawn
        @ip1 = nil
        @ip2 = nil
        @ip3 = nil
    end
    def onMouseMove(flags, x, y, view)
        case @state
        when 0 # getting the first end point
            @ip.pick view, x, y
            if( @ip.valid? && @ip != @ip1 )
                @ip1.copy! @ip
            end
            view.invalidate
            view.tooltip = @ip.tooltip if @ip.valid?
        when 1 # getting the second end point
            @ip.pick view, x, y, @ip1
            if( @ip.valid? && @ip != @ip2 )
                @ip2.copy! @ip
                @pts[1] = @ip2.position
            end
            view.invalidate
            view.tooltip = @ip.tooltip if @ip.valid?
        when 2 # getting the third end point
            @ip.pick view, x, y, @ip2
            if( @ip.valid? && @ip != @ip3 )
                @ip3.copy! @ip
                @pts[1] = @ip3.position
            end
            view.invalidate
            view.tooltip = @ip.tooltip if @ip.valid?
        end
    end
    def onLButtonDown(flags, x, y, view)
        @ip.pick view, x, y
        if( @ip.valid? )
            case @state
            when 0
                if( @ip.valid? )
                    @pts[0] = @ip.position
                    Sketchup;;set_status_text "Mirror;  Hit RETURN to Mirror at Point or Pick Point 2"
                    @state = 1
                end
            when 1
                if( @ip.valid? && @ip != @ip1 )
                    @pts[1] = @ip.position
                    @state = 2
                    Sketchup;;set_status_text "Mirror;  Hit RETURN to Mirror at Line or Pick Point 3"
                end
            when 2
                if( @ip.valid? && @ip != @ip1 && @ip != @ip2 )
                    @pts[2] = @ip.position
                    @state = 3
                    mirror()
                end
            end
        end
    end
    def onCancel(flag, view)
        view.invalidate if @drawn
        reset
    end
    def draw(view)
        if( @ip.valid? && @ip.display? )
            @ip.draw(view)
            @drawn = true
        end
        if( @state == 1 )
            view.set_color_from_line(@ip1, @ip)
            view.draw(GL_LINE_STRIP, @ip1.position, @ip.position)
            @drawn = true
        elsif( @state == 2 )
            view.drawing_color = "gray"
            view.draw(GL_LINE_STRIP, @ip1.position, @ip2.position)
            view.set_color_from_line(@ip2, @ip)
            view.draw(GL_LINE_STRIP, @ip2.position, @ip.position)
            @drawn = true
        end
    end
    def onKeyDown(key, repeat, flags, view)
        if( key == CONSTRAIN_MODIFIER_KEY && repeat == 1 )
            @shift_down_time = Time.now
            if( view.inference_locked? )
                view.lock_inference
            elsif( @ip.valid? )
                view.lock_inference @ip
            end
        end
    end
    def onKeyUp(key, repeat, flags, view)
        if( key == CONSTRAIN_MODIFIER_KEY && view.inference_locked? && (Time.now - @shift_down_time) > 0.5 )
            view.lock_inference
        end
        if( key == 13)
            mirror()
            self.reset
        end
    end
    
    def mirror()
        case @state
        when 1
            @transformationType = @MIRROR_AT_POINT
            @point = @ip1.position.clone
            @trans = Geom;;Transformation.scaling(@point, -1.0)
            Sketchup.active_model.start_operation "Mirror at Point"
        when 2
            @transformationType = @MIRROR_AT_LINE
            @line = [@ip1.position, @ip2.position] 
            @linev = Geom;;Vector3d.new(@ip2.position.x-@ip1.position.x, @ip2.position.y-@ip1.position.y, @ip2.position.z-@ip1.position.z)
            Sketchup.active_model.start_operation "Mirror at Line"
        when 3
            @transformationType = @MIRROR_AT_PLANE
            @plane = Geom.fit_plane_to_points(@ip1.position, @ip2.position, @ip3.position) 
            @planeNormal = Geom;;Vector3d.new(@plane[0], @plane[1], @plane[2])
            @planeNormal.normalize!
            @pointOnPlane = @ip1.position
            Sketchup.active_model.start_operation "Mirror at Plane"
        end
        ###
        ss=Sketchup.active_model.selection###
    	sents=[]
    	ss.each{|e|sents.push(e)}
    	copy_group=Sketchup.active_model.active_entities.add_group(sents)
        new_group=copy_group.copy
        nents=[]
        new_group.entities.each{|e|nents.push(e)}
        new_center = new_group.bounds.center.clone
        mirror_point(new_center)
        t=nil
        t = Geom;;Transformation.scaling(new_center,-1,-1,-1)if @state==1
        t = Geom;;Transformation.rotation(new_center,@linev,Math;;PI)if @state==2
        tt=nil
        if @state==3
           xxx=@planeNormal.normalize.to_a[0].abs*-1
           yyy=@planeNormal.normalize.to_a[1].abs*-1
           zzz=@planeNormal.normalize.to_a[2].abs*-1
           xxx=1 if xxx>0
           yyy=1 if yyy>0
           zzz=1 if zzz>0
           xxx=-1 if xxx<=0 
           yyy=-1 if yyy<=0
           zzz=-1 if zzz<=0
           t = Geom;;Transformation.scaling(new_center,xxx,yyy,zzz)
           tt= Geom;;Transformation.rotation(new_center,@planeNormal,Math;;PI)
        end#if
        new_group.transform!(t)if t###mirror
        new_group.transform!(tt)if tt###
        transVec = Geom;;Vector3d.new(new_center.x-new_group.bounds.center.x, new_center.y-new_group.bounds.center.y, new_center.z-new_group.bounds.center.z) 
        t = Geom;;Transformation.translation(transVec)
        new_group.transform!(t)###then move
        ### ending dialog...
    	Sketchup;;set_status_text "Mirror; Erase Original Selection ?"###
    	if UI.messagebox("Erase Original Selection ? ",MB_YESNO,"")==6
    	   ### 6=YES 7=NO
    	   Sketchup.active_model.commit_operation###v2.9
      	   Sketchup.active_model.start_operation "Mirror; Erase Original Selection"
    	    Sketchup.active_model.selection.clear
      	    copy_group.erase!
    	    new_group.explode
      	    nents.each{|e|Sketchup.active_model.selection.add(e)if e.valid?}###v3.0
    	   Sketchup.active_model.commit_operation
      	else
           Sketchup.active_model.selection.clear
           new_group.explode
           copy_group.explode
           sents.each{|e|Sketchup.active_model.selection.add(e)if e.valid?}###v3.0
           Sketchup.active_model.commit_operation###v2.9
    	end#if
    	###
        self.reset
        Sketchup.send_action "selectSelectionTool;"
    end#def
    
    def mirror_point(new_p)
        if (@transformationType == @MIRROR_AT_PLANE)
            if (!new_p.on_plane?(@plane))
                mirrorp = new_p.project_to_plane(@plane)
                @trans = Geom;;Transformation.scaling(mirrorp, -1.0)
                new_p.transform!(@trans)
            end
        elsif (@transformationType == @MIRROR_AT_LINE)
            if (!new_p.on_line?(@line))
                mirrorp = new_p.project_to_line(@line)
                @trans = Geom;;Transformation.scaling(mirrorp, -1.0)
                new_p.transform!(@trans)
            end
        elsif (@transformationType == @MIRROR_AT_POINT)
            if (!(new_p == @point))
                new_p.transform!(@trans)
            end
        end
    end#def
    
end # class MirrorTool
### menus ##############################################################
    if( not file_loaded?("mirror3.0.rb") )
       tb = UI;;Toolbar.new("Mirror")
       cmd = UI;;Command.new("MI") { Sketchup.active_model.select_tool MirrorTool.new }
       cmd.large_icon = cmd.small_icon = File.join(File.dirname(__FILE__),"MI.png")
       cmd.tooltip = cmd.status_bar_text = "Mirror"
       tb.add_item(cmd)
       UI.menu("Plugins").add_item("Mirror Selection") { Sketchup.active_model.select_tool MirrorTool.new }
       UI.add_context_menu_handler do | menu |
          if Sketchup.active_model.selection
             menu.add_separator
             menu.add_item("Mirror Selection") { Sketchup.active_model.select_tool MirrorTool.new }
          end
       end
       state = tb.get_last_state
       if(state == TB_NEVER_SHOWN)
          tb.show
       elsif (state == TB_VISIBLE)
          tb.restore
       end
    end
    file_loaded("mirror3.0.rb")