2011-03-09 83 views
4

我正在尋找一種將多個skp,kmz或dae文件一次轉換爲3ds或fbx格式的方法。在sketchup pro中,您可以導出爲... 3ds或fbx,但打開每個文件並導出它需要很長時間。 sketchup中是否存在命令行,或者是否可以使用可能使該過程自動化的腳本? 感謝在Google Sketchup中是否有命令行以3ds或fbx格式導出?

回答

9

你需要調用在命令行的SketchUp指定腳本 在你的Ruby腳本(runexport.rb)立即運行

sketchup.exe -RubyStartup d:\scripts\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$/) 
+0

是偉大的工作,但我怎麼做批量導入從一個文件夾並使用他們自己的文件名導出它們。對不起,但我是Ruby的新手。 謝謝 – odle 2011-03-14 19:41:49

+0

,它轉化爲「如何將命令行參數傳遞給啓動ruby腳本」......我相信答案是「無法」。所以,你必須找出一種方法來在腳本中表示一個以前由調用sketchup的bat創建的文件列表。 – 2011-03-14 19:49:50

+0

不,我想更像是運行comamnd行一次,但在.rb文件中有一些代碼從目錄獲取文件列表,導入並導出它們。我正在用Dir [「*」]查看一些內容,但每個都還沒有完成。你認爲這會起作用嗎? – odle 2011-03-14 19:59:07

相關問題