# encoding: UTF-8
m = Sketchup.active_model
def mmv(p); [(p.x*25.4).round(1),(p.y*25.4).round(1),(p.z*25.4).round(1)]; end
["RJ102-0604_LH_20260918","RJ102-0602_RH_20260918"].each do |nm|
  g = m.entities.grep(Sketchup::Group).find{|x| x.name==nm}
  tr = g.transformation
  puts "== #{nm} downward faces X 4300-5300 =="
  g.entities.grep(Sketchup::Face).each do |f|
    n = f.normal.transform(tr); next if n.z > -0.2
    pts = f.outer_loop.vertices.map{|v| v.position.transform(tr)}
    cx = pts.map{|p| p.x}.inject(:+)/pts.length*25.4
    next unless cx > 4300 && cx < 5300
    next if f.area*25.4*25.4 < 2000
    puts "  area=#{(f.area*645.16/100).round(1)}cm2 pts=#{pts.map{|p| mmv(p)}.inspect}"
  end
end
puts "== subgroup bboxes =="
root = m.entities.grep(Sketchup::Group).find{|g| g.name=="하부마운트커버_20260919"}
root.entities.grep(Sketchup::Group).each do |g|
  b=g.bounds
  puts "  #{g.name}  #{mmv(b.min)} .. #{mmv(b.max)}  solid=#{g.manifold?}"
end
"CHK1"
