Создайте плагин, который помещает текст в файл .txt - PullRequest
0 голосов
/ 26 сентября 2018

Я работаю над созданием плагина в Ruby.В данный момент я не могу вставить координаты, добавленные в модель Sketchup, в файл .txt.

Это мой код:

require 'sketchup.rb'
SKETCHUP_CONSOLE.show rescue Sketchup.send_action("showRubyPanel:")
$stdout = File.new('file.txt', 'w')

module HWmakemyownplug
  def self.fileplug
    model = Sketchup.active_model 
    #Make some coordinates.
    coordinates = [[2,0,39],[0,0,1],[1,1,0]]
    #Add the points in Sketchup. This works!
    coordinates.each { |point| model.active_entities.add_cpoint(point) }
    #Puts the coordinates to the textfile 'file.txt'. This doesn't work!
    $stdout.puts(coordinates)   

  end #def self.fileplug
end #module makemyownplug

if (!file_loaded?(__FILE__))

  #Add to the SketchUp tools menu
  extensions_menu = UI.menu("Plugins")
  extensions_menu.add_item("testtesttest") { HWmakemyownplug::fileplug }
  # Let Ruby know we have loaded this file
  file_loaded(__FILE__)

end

Координаты должны бытьпечатается, когда я нажимаю на меню> плагины> testtesttest.

1 Ответ

0 голосов
/ 26 сентября 2018

Вы забыли закрыть файл после $ stdout.puts (координаты)

$ stdout.close

...