Есть ли в Google Sketchup командная строка для экспорта в формат 3ds или fbx? - PullRequest
4 голосов
/ 09 марта 2011

Я ищу способ конвертировать несколько файлов skp, kmz или dae одновременно в формат 3ds или fbx. В sketchup pro вы можете сделать экспорт как ... 3ds или fbx, но это займет слишком много времени, чтобы открыть каждый файл и экспортировать его. Есть ли в sketchup командная строка или сценарий, который можно использовать для автоматизации этого процесса? Спасибо

1 Ответ

10 голосов
/ 10 марта 2011

вам нужно вызвать sketchup из командной строки, указав скрипт бежать немедленно

sketchup.exe -RubyStartup d:\scripts\runexport.rb

в вашем скрипте ruby ​​(runexport.rb) вы можете

  1. загрузить вашу модель. Смотри http://code.google.com/apis/sketchup/docs/ourdoc/model.html#import

  2. экспорт вашей модели. Смотри http://code.google.com/apis/sketchup/docs/ourdoc/model.html#export

  3. и, наконец, отключение SketchUp. См http://forums.sketchucation.com/viewtopic.php?f=180&t=29162

Для рекурсивного обхода каталога, попробуйте этот код ruby ​​(из википедии)

Сравнение с использованием регулярных выражений

#define a recursive function that will traverse the directory tree
def printAndDescend(pattern)
  #we keep track of the directories, to be used in the second, recursive part of this function
  directories=[]
  Dir['*'].sort.each do |name|
    if File.file?(name) and name[pattern]
      puts(File.expand_path(name))
    elsif File.directory?(name)
      directories << name
    end
  end
  directories.each do |name|
    #don't descend into . or .. on linux
    Dir.chdir(name){printAndDescend(pattern)} if !Dir.pwd[File.expand_path(name)]
  end
end
#print all ruby files
printAndDescend(/.+\.rb$/)
...