2016-06-29 12 views
2

ブレンダーインターフェイスを使用せずに、.stlファイルを.objに変換したい。 、私は2つのステップでそれをやってみたいことを行うにはブレンダー、プロンプトコマンドで.stlを.objに変換する

:OBJ

2ブレンドをブレンドする

1 STLは、実際にこのPythonのコードでOK OBJの仕事にBLEND:

@echo off 

rem Put the path of the blender folder 
set PATH=C:\Program Files\Blender Foundation\Blender 

set FILENAME=guitar.blend 
set TARGET=guitar.obj 
rem Launch 
blender %FILENAME% --background --python convert_blend_to_obj.py -- %TARGET% 


pause 
import bpy 
import sys 


argv = sys.argv 
argv = argv[argv.index("--") + 1:] # get all args after "--" 

obj_out = argv[0] 

bpy.ops.export_scene.obj(filepath=obj_out, axis_forward='-Z', axis_up='Y') 

とこのバッチで

これは完全に機能します。

問題は、ブレンドにSTLであるのは、このPythonコードで作業していない:

import bpy 
import sys 

argv = sys.argv 
argv = argv[argv.index("--") + 1:] # get all args after "--" 

blend_out = argv[0] 

bpy.ops.import_mesh.stl(filepath=blend_out, axis_forward='-Z', axis_up='Y') 

および関連バッチ:

@echo off 

rem Put the path of the blender folder 
set PATH=C:\Program Files\Blender Foundation\Blender 

set FILENAME=turbine.stl 

set TARGET=turbine.blend 

rem Launch 
blender %FILENAME% --background --python convert_stl_to_blend.py -- %TARGET% 


pause 

エラーとして私が得た:ファイル形式ではありませんファイルCでサポートされています。.. \ turbine.stl Blender quit

問題は私のpythonコードにあると思いますが、私は何を変更するのか分かりません。

私はここで最初のスクリプトのヘルプが見つかりました:https://wiki.blender.org/index.php/Extensions:2.6/Py/Scripts/Import-Export/Wavefront_OBJ

を私は多分それに良い方法があり、助けを事前に感謝します。私はミキサーを起動して手動で行う必要はありません。私は即座に司令官だけが必要です。

答えて

1

私はエラーとして得た:ファイル形式は、ファイルCではサポートされていません:.. \ turbine.stl Blenderは

あなたはBlenderが最初のコマンドの引数を読み込むしようとしている手段を得ているエラーを終了.blendファイルとして。スクリプトの引数を " - "の後に置くだけで(スクリプトのコメントにあるように)、それはうまくいくはずです。

import bpy 
import sys 

argv = sys.argv 
argv = argv[argv.index("--") + 1:] # get all args after "--" 

stl_in = argv[0] 
obj_out = argv[1] 

bpy.ops.import_mesh.stl(filepath=stl_in, axis_forward='-Z', axis_up='Y') 
bpy.ops.export_scene.obj(filepath=obj_out, axis_forward='-Z', axis_up='Y') 

と、次のようにそれを開始しました::

blender --background --python convert_stl_to_blend.py -- test.stl test.obj 
+0

ことを言って申し訳ありませんが、この動かない。 .blendに渡さずにstlからobjに行くことはできません。私はあなたがここでやろうとしていることを理解していません –

+0

私はそれを正しく理解していれば、STLをOBJに変換したい、つまり、スクリプトが(1)STLをインポートする必要がある、(2)OBJをエクスポートする必要がある私の答えのスクリプトはすべきです。 –

+0

>ブレンダー%FILENAME% - 背景--python convert_stl_to_blend.py - %TARGET% 主な問題は、スクリプトをどのように起動するかです。**%FILENAME%**は " - "の後に移動します。 –

0

私はこれを実行したSTLをインポートし、それが動作するかどうかをテストするために、1つのステップでOBJをエクスポートするスクリプトにいくつかの変更を加え

このコードOSX

/Applications/blender-2.77a-OSX_10.6-x86_64/blender.app/Contents/MacOS/blender --background --python convert_stl_to_blend.py -- fileIN.stl FileOut.obj 
上で次の入力を使用してコードは非常に有用だった、みんなありがとう!

ところで、私はディレクトリ内のすべてのファイルを行うには、このコードを必要とし、それらが数字だったので、私はブレンダーを持っている私のためにすべてのファイルを変換するには、次のコードを使用:

import bpy 
import sys 

for x in range(1, 20): 
    stl_in = str(x) +'.stl' 
    obj_out = str(x) +'.obj' 
    bpy.ops.import_mesh.stl(filepath=stl_in, axis_forward='-Z', axis_up='Y') 
    bpy.ops.export_scene.obj(filepath=obj_out, axis_forward='-Z', axis_up='Y') 
+0

ニースの編集のおかげで、多分私はこれを必要とします! –

関連する問題