# encoding: UTF-8
m = Sketchup.active_model
def r1(v); (v*25.4).round(1); end
puts "== 이름 있는 최상위 그룹/컴포넌트 (도번패턴 아닌 것 = CEO 작업물 후보) =="
m.entities.each do |e|
  next unless e.is_a?(Sketchup::Group) || e.is_a?(Sketchup::ComponentInstance)
  nm = e.name.to_s; nm = e.definition.name.to_s if nm.empty?
  next if nm =~ /^\d{4}[A-Z]{2}-/ || nm =~ /^RJ\d/ || nm =~ /^Untitled/
  b = e.bounds
  puts "  #{nm.inspect} hidden=#{e.hidden?} (#{r1(b.min.x)},#{r1(b.min.y)},#{r1(b.min.z)})..(#{r1(b.max.x)},#{r1(b.max.y)},#{r1(b.max.z)}) subs=#{e.definition.entities.grep(Sketchup::Group).length} faces=#{e.definition.entities.grep(Sketchup::Face).length}"
end
puts "== 이름에 바스켓/하우징/basket/housing 포함 검색 (전체 정의) =="
m.definitions.each do |d|
  next unless d.name =~ /바스켓|하우징|basket|housing|BASKET|HOUSING/i
  puts "  def #{d.name.inspect} instances=#{d.instances.length}"
  d.instances.each{|i| b=i.bounds; puts "     (#{r1(b.min.x)},#{r1(b.min.y)},#{r1(b.min.z)})..(#{r1(b.max.x)},#{r1(b.max.y)},#{r1(b.max.z)})"}
end
"RD2"
