2017-04-30 3 views
0

bpy.ops.import_mesh.stl (filepath = output_file)을 사용하여 스레드를 통해 stl 메쉬를 가져 오려고하지만 블렌더가 임의로 충돌합니다. 스레드를 통한 메쉬 가져 오기가 스레드 안전성을 지원하지 않으므로이 작업을 구현하는 더 좋은 방법을 제안 할 수 있습니까?스레드를 통해 블렌더 함수 bpy.ops.import_mesh.stl (filepath = output_file)을 호출하십시오.

여기 당신이 모든 스레드에 대해 동일한 filename FileData을 사용하는 것 같다 코드

def processData(Data, objcounter): 
    SaveDataIntoSpecificFormat("File.data", Data) 
    os.system("/externalexe FileData -o File%d.stl" %d objcounter) 
    bpy.ops.import_mesh.stl(filepath = "File%d.stl" %d objcounter) 

for objcounter in range(len(current_list_objs)): 
    t = threading.Thread(target=processData, args=(current_list_objs[objcounter], objcounter,)) 
    t.start() 
+0

% d '파일 % d.stl "% d objcounter'가 (는)'% d.stl '파일이어야합니다. % objcounter' 해결책은 아니지만 스레드에 예외를 던지는 것은 아닙니다. 돕는다. – sambler

답변

0

입니다.

objcounter을 사용하여 고유하게 설정하십시오.

관련 문제