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
1 回答
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
load your model. See http://code.google.com/apis/sketchup/docs/ourdoc/model.html#import
export your model. See http://code.google.com/apis/sketchup/docs/ourdoc/model.html#export
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$/)