性能优化

循环添加数据且去重(获取组内所有顶点)

# good code
vts = group.entities.grep(Sketchup::Edge).map(&:vertices).flatten.uniq

# bad code1
vts = []
group.entities.grep(Sketchup::Edge).each { |edge| vts |= edge.vertices }

# bad code2
vts = []
group.entities.grep(Sketchup::Edge).each { |edge|
  edge.vertices.each { |v| vts << v unless vts.include?(v) }
}

image-20240223150545606