# encoding: UTF-8
begin
  puts "###DZW-EXPORT-OBJ-20260921"
  m = Sketchup.active_model
  path = 'E:/도진팩토리/3D스캔및티칭시스템/fab_models/500PRO_R_20260921_커버작업.obj'
  opts = {
    :triangulated_faces => true,
    :doublesided_faces => false,
    :edges => false,
    :author_attribution => false,
    :texture_maps => false,
    :swap_yz => false,
    :units => 'millimeters',
    :selectionset_only => false
  }
  t0 = Time.now
  ok = false
  begin
    ok = m.export(path, opts)
  rescue Exception => e1
    puts "export 예외: #{e1.class}: #{e1.message}"
  end
  dt = (Time.now - t0).round(1)
  puts "export 반환=#{ok.inspect} 소요=#{dt}s"
  if File.exist?(path)
    puts "파일 존재 크기=#{File.size(path)} bytes"
  else
    puts "파일 없음 -> DAE 대체 시도"
    dae = path.sub('.obj', '.dae')
    begin
      ok2 = m.export(dae, { :triangulated_faces => true, :units => 'millimeters' })
      puts "DAE export=#{ok2.inspect} 존재=#{File.exist?(dae)} 크기=#{File.exist?(dae) ? File.size(dae) : 0}"
    rescue Exception => e2
      puts "DAE 실패: #{e2.class}: #{e2.message}"
    end
  end
  b = m.bounds
  puts "모델 bbox min=#{b.min.to_a.map { |v| v.to_mm.round(1) }.inspect} max=#{b.max.to_a.map { |v| v.to_mm.round(1) }.inspect}"
  puts "DONE"
rescue Exception => e
  puts "EXC #{e.class}: #{e.message}"
  puts e.backtrace.first(5).join(" | ")
end
nil
