#!/usr/bin/env python #--*-python-*- if __name__ == '__main__': import optparse import sys import imp import os from chroma import view, build, EventViewer from chroma import mesh_from_stl parser = optparse.OptionParser('%prog') parser.add_option('-r', '--resolution', dest='resolution', help='specify window resolution', default='1024,576') parser.add_option('-i', dest='io_file', default=None) options, args = parser.parse_args() if len(args) < 1: sys.exit(parser.format_help()) size = [int(s) for s in options.resolution.split(',')] if os.path.exists(args[0]) and args[0].lower().endswith(('.stl', '.bz2')): obj = mesh_from_stl(args[0]) else: name, attr = args[0].split('.') try: file, path, description = imp.find_module(name) except ImportError: raise module = imp.load_module(name, file, path, description) obj = getattr(module, attr) if options.io_file is None: view(obj, size) else: geometry = build(obj) viewer = EventViewer(geometry, options.io_file, size=size) viewer.start()