5

I am looking for a way to convert several skp, kmz or dae files at once into 3ds or fbx format. In sketchup pro you can do export as...3ds or fbx but that would take too long to open each file and export it. Is there a command line in sketchup, or a script that could be used to perhaps automate this process? Thanks

4

1 回答 1

10

you need to invoke sketchup from the command-line specifying a script to run immediately

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

in your ruby script (runexport.rb) you can

  1. load your model. See http://code.google.com/apis/sketchup/docs/ourdoc/model.html#import

  2. export your model. See http://code.google.com/apis/sketchup/docs/ourdoc/model.html#export

  3. and finally, shutdown sketchup. See http://forums.sketchucation.com/viewtopic.php?f=180&t=29162

For recursively walking the directory, try this ruby code (from wikipedia)

Pattern matching using regular expressions

#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$/)
于 2011-03-10T15:15:47.433 回答