dongchangxi 1 month ago
parent
commit
be9efaa326
  1. 24
      script/factory_sliceing/download_print_out.py

24
script/factory_sliceing/download_print_out.py

@ -209,6 +209,10 @@ def read_pids_from_json(pid_file):
return [], {} return [], {}
list_model_info = [] list_model_info = []
summary = data.get('summary')
print("summary=", summary)
selected_machine = summary['selected_machine']
print("selected_machine=", selected_machine)
# 处理每个模型 # 处理每个模型
for model in data.get('models', []): for model in data.get('models', []):
obj_name = model.get('file_name', '') obj_name = model.get('file_name', '')
@ -227,7 +231,7 @@ def read_pids_from_json(pid_file):
) )
list_model_info.append(model_info) list_model_info.append(model_info)
return list_model_info, data return list_model_info, data, selected_machine
def download_data_by_json(model_info, workdir, oss_client ): def download_data_by_json(model_info, workdir, oss_client ):
try: try:
@ -274,20 +278,23 @@ def download_datas_by_json(pid_file, workdir, oss_config):
oss_client = get_oss_client(oss_config) oss_client = get_oss_client(oss_config)
# json_path = os.path.join(workdir, "3DPrintLayout.json") # json_path = os.path.join(workdir, "3DPrintLayout.json")
json_path = pid_file json_path = os.path.join(workdir, f"{pid_file}.json")
# 读取所有PID # 读取所有PID
list_model_info, data = read_pids_from_json(json_path) list_model_info, data, selected_machine = read_pids_from_json(json_path)
print(f"从文件读取了 {len(list_model_info)} 个PID") print(f"从文件读取了 {len(list_model_info)} 个PID")
need_transform = True
if selected_machine=="大机型" :
need_transform = False
# 批量下载 # 批量下载
for model_info in list_model_info: for model_info in list_model_info:
print(f"开始下载PID: {model_info}") print(f"开始下载PID: {model_info}")
download_data_by_json(model_info, workdir, oss_client) download_data_by_json(model_info, args.workdir, oss_client,)
return data return data, need_transform
def download_transform_save_by_json(pid_file, workdir, oss_config): def download_transform_save_by_json(pid_file, workdir, oss_config):
layout_data = download_datas_by_json(pid_file, workdir, oss_config) layout_data, need_transform = download_datas_by_json(pid_file, workdir, oss_config)
original_obj_pid_dir = workdir original_obj_pid_dir = workdir
cache_type_setting_dir = os.path.join(workdir, "arrange") cache_type_setting_dir = os.path.join(workdir, "arrange")
@ -295,7 +302,8 @@ def download_transform_save_by_json(pid_file, workdir, oss_config):
print(f"original_obj_pid_dir={original_obj_pid_dir}, cache_type_setting_dir={cache_type_setting_dir}") print(f"original_obj_pid_dir={original_obj_pid_dir}, cache_type_setting_dir={cache_type_setting_dir}")
transform_save(layout_data, original_obj_pid_dir, cache_type_setting_dir) if need_transform:
transform_save(layout_data, original_obj_pid_dir, cache_type_setting_dir)
def transform_save(layout_data, original_obj_pid_dir, cache_type_setting_dir): def transform_save(layout_data, original_obj_pid_dir, cache_type_setting_dir):
meshes = [] meshes = []
@ -351,4 +359,4 @@ if __name__ == "__main__":
args = parser.parse_args() args = parser.parse_args()
download_transform_save_by_json(args.pid_file, args.workdir, args.oss_config) download_transform_save_by_json(args.pid_file, args.workdir, args.oss_config)

Loading…
Cancel
Save