# script to delete the normal data from an OBJ file # written by PhilC # http://www.philc.net # use however you like but at your own risk. import poser import os def main(): # get open filepath filepath = openFile() #read file to lines lines = ReadFileToLines(filepath) newLines = [] print "Processing file....." for line in lines: if "vn " in line: pass else: newLines.append(line) # get save filepath filepath = saveFile() SaveLinesToFile(newLines,filepath) print "File saved to %s" % filepath def openFile(): Type = poser.kDialogFileChooserOpen parentDialog = 1 message = "browse for obj file" startDir = os.path.join(os.curdir,'*.obj') dlg = poser.DialogFileChooser(Type, parentDialog, message, startDir) dlg.Show() filepath = dlg.Path() return filepath def saveFile(): Type = poser.kDialogFileChooserSave parentDialog = 1 message = "save as" startDir = os.path.join(os.curdir,'*.obj') dlg = poser.DialogFileChooser(Type, parentDialog, message, startDir) dlg.Show() filepath = dlg.Path() return filepath def ReadFileToLines(filepath): singleline = 0 fd = open(filepath, 'rb') s = fd.read() fd.close() if string.find(s, '\r\n') > -1: delim = '\r\n' elif string.find(s, '\n') > -1: delim = '\n' elif string.find(s, '\r') > -1: delim = '\r' else: singleline = 1 if not singleline: lines = string.split(s, delim) else: lines = [s] return lines def SaveLinesToFile(lines, filepath): fd = open(filepath, 'wb') s = string.join(lines, '\n') fd.write(s) fd.close() main()