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
} }