Exemplo n.º 1
0
 def convert_to_draco_gltf(file_path,
                           convert_stl_path,
                           is_bin=False,
                           clear_stl_source=False,
                           clear_convert_stl=False):
     # todo:: remove too many flag
     # 1. convert binary stl to gltf
     if is_bin:
         convert_gltf_path = file_path + '.glb'
         out_convert_gltf_path = file_path + '.zip' + '.glb'
         stl_to_gltf(convert_stl_path, convert_gltf_path, is_bin)
     else:
         convert_gltf_path = file_path + '.gltf'
         output_path = os.path.dirname(convert_gltf_path)
         out_convert_gltf_path = os.path.join(output_path, 'out.gltf')
         stl_to_gltf(convert_stl_path, output_path, is_bin)
     # 2. gltf-pipeline
     try:
         if not gltf_pipeline(convert_gltf_path, out_convert_gltf_path):
             raise ConvertException('gltf draco fail, file:' +
                                    convert_gltf_path)
     finally:
         if clear_stl_source:
             StlModel.clear_file(file_path)
         if clear_convert_stl:
             StlModel.clear_file(convert_stl_path)
         StlModel.clear_file(convert_gltf_path)
     return out_convert_gltf_path
def convert_stl_to_draco_gltf(file_path, convert_stl_path):
    # 2. convert binary stl to gltf
    convert_gltf_path = file_path + '.glb'
    stl_to_gltf(convert_stl_path, convert_gltf_path, True)
    # 3. gltf-pipeline
    out_convert_gltf_path = file_path + '.zip' + '.glb'
    if not gltf_pipeline(convert_gltf_path, out_convert_gltf_path):
        raise ConvertException('gltf draco fail, file:' + convert_gltf_path)
    from setting import config
    if not config['app']['save_upload_temp_file']:
        clear_file(file_path, convert_stl_path, convert_gltf_path)
    return out_convert_gltf_path
Exemplo n.º 3
0
def convert_stl_to_draco_gltf(file_path, convert_stl_path, is_bin=False):
    # 2. convert binary stl to gltf
    if is_bin:
        convert_gltf_path = file_path + '.glb'
        out_convert_gltf_path = file_path + '.zip' + '.glb'
        stl_to_gltf(convert_stl_path, convert_gltf_path, is_bin)
    else:
        convert_gltf_path = file_path + '.gltf'
        output_path = os.path.dirname(convert_gltf_path)
        out_convert_gltf_path = os.path.join(output_path, 'out.gltf')
        stl_to_gltf(convert_stl_path, output_path, is_bin)
    # 3. gltf-pipeline
    if not gltf_pipeline(convert_gltf_path, out_convert_gltf_path):
        raise ConvertException('gltf draco fail, file:' + convert_gltf_path)
    if not config['app']['save_upload_temp_file']:
        clear_file(file_path, convert_stl_path)
    if not config['app']['save_convert_temp_file']:
        clear_file(convert_gltf_path)
    return out_convert_gltf_path