File size: 941 Bytes
355b5d6 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# Copyright (c) Facebook, Inc. and its affiliates. All rights reserved.
import os
import argparse
import trimesh
def meshcleaning(file_dir):
files = sorted([f for f in os.listdir(file_dir) if '.obj' in f])
for i, file in enumerate(files):
obj_path = os.path.join(file_dir, file)
print(f"Processing: {obj_path}")
mesh = trimesh.load(obj_path)
cc = mesh.split(only_watertight=False)
out_mesh = cc[0]
bbox = out_mesh.bounds
height = bbox[1,0] - bbox[0,0]
for c in cc:
bbox = c.bounds
if height < bbox[1,0] - bbox[0,0]:
height = bbox[1,0] - bbox[0,0]
out_mesh = c
out_mesh.export(obj_path)
if __name__ == '__main__':
parser = argparse.ArgumentParser()
parser.add_argument('-f', '--file_dir', type=str, required=True)
args = parser.parse_args()
meshcleaning(args.file_dir) |