Metasequoia 3 doesn’t have the MQWidget classes so this script is only for Metasequoia 4.
You use an OpenFile dialog to get a filename (actually the full path to a file) for your script.
Once your script has a filename you could use standard Python code to read the file.
You could, for example, write a script to open a 3D file format that Metasequoia does not support.
My tabs have been converted to one space indentation in the code below.
# Metasequoia 4 Python script # Title ''' description ''' # imports # import Python's os.path module so can extract filename # and filename extension from full path import os.path # global variables doc = MQSystem.getDocument() # function definitions def mqprint(message): try: print(message) except: MQSystem.println(repr(message)) return def readFile(name): # not implemented! pass # main script function def main(): # create the OpenFile dialog as a child control of Metasequoia od = MQWidget.OpenFileDialog(MQWidget.getMainWindow()) # add filters to the dialog od.addFilter("BVH Files (*.bvh)|*.bvh") # apparently good practice to always have All Files option od.addFilter("All Files (*.*)|*.*") # show the dialog if od.execute(): # user selected a file and clicked ok # store path string in variable named f f = od.filename # extract file's extension using an os.path function path,ext = os.path.splitext(f) # Since we allow All Files, must make sure we guard # against wrong file type being selected if ext.lower() in [".bvh"]: # correct extension so extract filename and store in name path,name = os.path.split(f) # print path to file mqprint(f) # read the file readFile(f) else: # user select incorrect file type mqprint("Not a *.bvh file") else: # user clicked "Cancel" mqprint("No file selected") return if __name__ == "__main__": # clear output window MQSystem.clearLog() # run main function main() # let user know script finished mqprint("Script finished")
See this post [link] for the basics of using Metasequoia’s Script Editor.
No comments:
Post a Comment