Ok I find the way, it works with local_bounds
model = Sketchup.active_model sel = model.selection bbox = Geom::BoundingBox.new sel.each {|grp| bbox=grp.local_bounds get_entities(grp).find_all{|e| is_kind(e,"Face") }.each{|fc2| pl2 = fc2.plane if fc2.normal.parallel?( vec3d(0,0,1) ) and ( bbox.max.on_plane?(pl2)) fc2.layer = "K-Masque" edges = fc2.edges edges.each {|edg| edg.layer = "K-Masque"} end } }V