dongchangxi 10 months ago
parent
commit
7106e2549c
  1. 23
      apps/auto_convert3d_new.py

23
apps/auto_convert3d_new.py

@ -70,6 +70,7 @@ def down_obj_fromoss(pid,order_id): @@ -70,6 +70,7 @@ def down_obj_fromoss(pid,order_id):
print('找不到obj文件,异常退出')
sys.exit(1)
return ossPath
# print('下载完成后静默10秒,等待文件写入完成')
# time.sleep(10)
@ -110,9 +111,12 @@ def team_check(r): @@ -110,9 +111,12 @@ def team_check(r):
orderId = str(orderId)
print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime()), f'pid:{pid} repair_id:{repair_id} 生成团队审核模型 start model:IndependentRepairTeamcheckGLBQueue', )
down_obj_fromoss(pid,orderId)
ossPath = down_obj_fromoss(pid,orderId)
if ossPath == "":
print("ossPath is null")
return
obj_filename = f'{pid}.obj'
glb_filename = f'{pid}.glb'
glb_filename = f'{orderId}.glb'
print('开始转换obj文件为glb文件...')
os.system(f'gltfpack -c -i {os.path.join(workdir, "print", pid, obj_filename)} -o {os.path.join(workdir, "print", pid, glb_filename)} -vt 16 -vc 16')
@ -131,21 +135,10 @@ def team_check(r): @@ -131,21 +135,10 @@ def team_check(r):
#os.system(f'FBX2glTF -i {os.path.join(workdir, "print", pid, obj_filename)} -o {os.path.join(workdir, "print", pid, glb_filename)}')
#如果压缩后的glb文件小于2M,文件贴图异常,需要重新生成,直到成功
# while os.path.getsize(os.path.join(workdir, "print", pid, glb_filename)) < 2 * 1024 * 1024:
# print(f'{pid}glb文件大小:{os.path.getsize(os.path.join(workdir, "print", pid, glb_filename))}')
# print(f'{time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())} 压缩后的glb文件小于2M,文件贴图异常,重新生成glb文件')
# # 将有异常的pid相关文件全部移动到异常文件夹,然后重新下载重新生成
# if not os.path.exists(os.path.join(workdir, 'print', 'error', pid)):
# os.makedirs(os.path.join(workdir, 'print', 'error', pid))
# for file in os.listdir(os.path.join(workdir, 'print', pid)):
# shutil.move(os.path.join(workdir, 'print', pid, file), os.path.join(workdir, 'print', 'error', pid, file))
# down_obj_fromoss(pid)
# os.system(f'gltfpack -c -i {os.path.join(workdir, "print", pid, obj_filename)} -o {os.path.join(workdir, "print", pid, glb_filename)}')
print('上传glb文件到oss...')
oss_client.put_object_from_file(f'glbs/print/{glb_filename}', os.path.join(workdir, "print", pid, glb_filename))
oss_client.put_object_from_file(f'glbs/print/{ossPath}/{glb_filename}', os.path.join(workdir, "print", pid, glb_filename))
print(f'{update_repair_status_url}?id={repair_id}')
res = requests.get(f'{update_repair_status_url}?id={repair_id}')

Loading…
Cancel
Save