Sketchup Dynamic组件的位置和距离错误

问题描述

我构建了一个Sketchup动态组件并将其分解。然后应用以下代码

Set-PSReadlineKeyHandler -Key UpArrow -Function HistorySearchBackward

结果错误 Update-Module: A parameter cannot be found that matches parameter name 'Key'.

def self.deFinition(instance)
    if instance.is_a?(Sketchup::ComponentInstance)
    # ComponentInstance
    return instance.deFinition
    elsif instance.is_a?(Sketchup::Group)   
      if instance.entities.parent.instances.include?(instance)
          return instance.entities.parent
      else
          Sketchup.active_model.deFinitions.each { |deFinition|
          return deFinition if deFinition.instances.include?(instance)
          }
      end
    elsif instance.is_a?(Sketchup::Image)
    Sketchup.active_model.deFinitions.each { |deFinition|
        return deFinition if deFinition.image? && deFinition.instances.include?(instance)
    }
    end
    return nil # Error. We should never exit here.
end

mod = Sketchup.active_model # Open model
ent = mod.entities # All entities in model
sel = mod.selection # Current selection
puts ent[0]
faces =  deFinition(ent[0]).entities.grep(Sketchup::Face)
puts faces
faces[0].material = "Purple"
faces[0].vertices.each {|v| puts v.position}
puts '---'
f0_v = faces[0].vertices
for i in 0..f0_v.size - 2
  puts f0_v[i].position.distance(f0_v[i+1].position)
end
puts f0_v[3].position.distance(f0_v[0].position)
以下是Skp文件链接。有人可以帮助我吗?

对不起我的英语不好 https://drive.google.com/file/d/12BxpmEpCADQDWZEbDn7j2ehlbt6lwpP3/view?usp=sharing

解决方法

对不起,但是您的代码看起来一切都很好。

我不明白self.definition(instance)函数的目的吗?

您绘制了一个300x300的正方形,并确定每个边缘的距离:其4乘以300!