def export_evalpts(obj, file_name, export_format): """ Prints the evaluated points on the screen and optionally exports them to a file. :param obj: input curve or surface :type obj: NURBS.Curve, NURBS.Surface, Multi.CurveContainer or Multi.SurfaceContainer :param file_name: name of the export file :type file_name: str :param export_format: export file format, e.g. txt or csv :type export_format: str """ if export_format == "csv": exchange.export_csv(obj, file_name, point_type='evalpts') elif export_format == "txt": exchange.export_txt(obj, file_name, point_type='evalpts') else: if isinstance(obj, multi.AbstractContainer): sz = len(obj) for idx, opt in enumerate(obj.evalpts): for pt in opt: line = ", ".join([str(p) for p in pt]) print(line) if idx != sz - 1: print("---") else: for pt in obj.evalpts: line = ", ".join([str(p) for p in pt]) print(line)
def test_export_csv_surface_evalpts(bspline_surface): fname = FILE_NAME + ".csv" bspline_surface.sample_size = SAMPLE_SIZE exchange.export_csv(bspline_surface, fname, point_type="evalpts") assert os.path.isfile(fname) assert os.path.getsize(fname) > 0 # Clean up temporary file if exists if os.path.isfile(fname): os.remove(fname)