# encoding: UTF-8
m = Sketchup.active_model
def r1(v); (v*25.4).round(1); end
puts "PATH=#{m.path}"
puts "MODIFIED=#{m.modified?}  최상위 ents=#{m.entities.length}"
parent = m.entities.grep(Sketchup::Group).find{|g| g.definition.name=="그룹#2"}
if parent.nil?
  puts "그룹#2 없음 -> 중단"
else
  pb = parent.bounds
  puts "그룹#2 존재: bbox (#{r1(pb.min.x)},#{r1(pb.min.y)},#{r1(pb.min.z)})..(#{r1(pb.max.x)},#{r1(pb.max.y)},#{r1(pb.max.z)}) 하위=#{parent.entities.grep(Sketchup::Group).length}"
  parent.entities.grep(Sketchup::Group).each{|s| b=s.bounds
    puts "   - #{s.name.inspect} (#{r1(b.min.x)},#{r1(b.min.y)},#{r1(b.min.z)})..(#{r1(b.max.x)},#{r1(b.max.y)},#{r1(b.max.z)})"}
  tgt = parent.entities.grep(Sketchup::Group).select{|s| s.name == "SWD_06_b_t6_36x140"}
  if tgt.empty?
    puts "SWD_06_b_t6_36x140 없음 (9/17 원본이거나 이미 삭제됨) -> 중단, 삭제 0건"
  else
    puts "삭제 대상 #{tgt.length}개 기록:"
    tgt.each_with_index{|s,i| b=s.bounds
      puts "  (#{i+1}) #{s.name} bbox (#{r1(b.min.x)},#{r1(b.min.y)},#{r1(b.min.z)})..(#{r1(b.max.x)},#{r1(b.max.y)},#{r1(b.max.z)}) 크기 #{((b.max.x-b.min.x)*25.4).round(1)}x#{((b.max.y-b.min.y)*25.4).round(1)}x#{((b.max.z-b.min.z)*25.4).round(1)} faces=#{s.entities.grep(Sketchup::Face).length} vol=#{(s.volume*16387.064/1000).round(1)}cm3"
      puts "       tr=#{s.transformation.to_a.map{|v| v.round(6)}.inspect}"}
    begin
      m.start_operation("SWD_06_b 단부거싯 2개 삭제", true)
      n=0
      tgt.each do |s|
        nm = s.name
        s.erase!
        n += 1
        puts "  [#{n}] #{nm} erase! 완료 / 하트비트: 그룹#2 하위=#{parent.entities.grep(Sketchup::Group).length}, 최상위ents=#{m.entities.length}"
      end
      m.commit_operation
      puts "삭제 #{n}개 완료 (단일 operation)"
    rescue Exception => ex
      m.commit_operation rescue nil
      puts "ERR #{ex.class}: #{ex.message}"
    end
    puts "== 삭제 후 그룹#2 구성 =="
    parent.entities.grep(Sketchup::Group).each{|s| puts "   - #{s.name.inspect}"}
    puts "SWD_06_b 잔여 = #{parent.entities.grep(Sketchup::Group).count{|s| s.name=='SWD_06_b_t6_36x140'}}개"
    puts "최상위 SWD_06_a 보존 = #{m.entities.grep(Sketchup::Group).count{|g| g.name=='SWD_06_a_t6_36x140'}}개"
    m.active_view.zoom(parent)
  end
end
"DEL4"
