def load_brushes_size(self): blend_files = common.get_files_from_directory( self.root_blend_files + self.model_name + "/", ['blend'], "snap") brush_sizes = [] for file in blend_files: bpy.ops.wm.open_mainfile(filepath=file[0], filter_blender=True, filemode=8, display_type='FILE_DEFAULTDISPLAY', load_ui=False, use_scripts=True) try: if bpy.data.scenes["Scene"]: brush_sizes.append([ bpy.data.scenes["Scene"].tool_settings. unified_paint_settings.size, bpy.data.scenes["Scene"]. tool_settings.unified_paint_settings.unprojected_radius ]) else: brush_sizes.append(brush_sizes[-1]) except KeyError: print('modifier not found') for el in brush_sizes: print(el) bs_file = open("../steps/" + self.model_name + "/b_size", "wb+") pickle.dump(brush_sizes, bs_file) bs_file.close()
def parse_dir(files_path): onlyfiles = common.get_files_from_directory(files_path, ['obj']) for file in onlyfiles: print(file) data = parse_single_obj(file[0]) print(data) print()
def __init__(self, model_name, obj_path="../obj2_files/", steps_path="../steps/"): self.model_name = model_name self.obj_path = obj_path + self.model_name + "/" self.mesh_no = len( common.get_files_from_directory(self.obj_path, ["obj"], start_with="snap")) self.steps_path = steps_path
def __init__(self, blend_root_dir, obj_root_dir, model_name, start, stop, basemesh_name, mode="obj"): self.blend_files_path = blend_root_dir + model_name self.obj_files_path = obj_root_dir + model_name self.start = start self.stop = stop self.basemesh_name = basemesh_name self.mode = mode self.blend_files = common.get_files_from_directory( self.blend_files_path, ['blend'], "snap") self.blend_files.sort()
def parse_dir(files_path): onlyfiles = common.get_files_from_directory(files_path, ['obj']) for file in onlyfiles: print(file) loadOBJModel(file[0], True)
def distance_compressing(model_name, single_file=False): ''' Produces the JSON for the data on mesh distances between steps For every step, it saves: - distance mean; - distance variance; - distance skewness; - distance curtosis; ''' if single_file: file_name = "../steps/" + model_name[0] + "/distance_data.txt" fh = open(file_name, 'r') i = 0 distances = {} idx = 0 for line in fh: if i % 2 == 0: idx = int(line) else: data = line.split(' ') data = [ float(el) for idx, el in enumerate(data) if idx % 2 == 1 ] if data: np_data = numpy.array(data) distances[idx] = {} distances[idx]["distance_mean"] = numpy.mean(np_data, axis=0) distances[idx]["distance_variance"] = numpy.var(np_data, axis=0) distances[idx]["distance_skewness"] = scs.skew(np_data, axis=0) distances[idx]["distance_curtosis"] = scs.kurtosis(np_data, axis=0) else: distances[idx] = {} distances[idx]["distance_mean"] = None distances[idx]["distance_variance"] = None distances[idx]["distance_skewness"] = None distances[idx]["distance_curtosis"] = None i += 1 fh.close() common.save_json(distances, "../steps/" + model_name[0] + "/distance_data.json", compressed=False) else: dir_name = "../steps/" + model_name[0] + "/dist_data/" files = common.get_files_from_directory(dir_name) distances = {} for path, filename in files: step = int(filename[4:]) fh = open(path, 'r') dists = [] for line in fh: data = line.split(' ') dists.append(float(data[1].strip())) if dists: distances[step] = {} distances[step]["distance_mean"] = numpy.mean(dists, axis=0) distances[step]["distance_variance"] = numpy.var(dists, axis=0) distances[step]["distance_skewness"] = scs.skew(dists, axis=0) distances[step]["distance_curtosis"] = scs.kurtosis(dists, axis=0) else: distances[step] = {} distances[step]["distance_mean"] = None distances[step]["distance_variance"] = None distances[step]["distance_skewness"] = None distances[step]["distance_curtosis"] = None common.save_json(distances, "../steps/" + model_name[0] + "/distance_data.json", compressed=False)
def __init__(self, model_name): self.model_name = model_name self.root_blend_files = "/Volumes/PART FAT/3ddata/" self.blend_files = common.get_files_from_directory(self.root_blend_files + self.model_name + "/", ['blend'], "snap") self.blend_files.sort()