wserver.shutdown() for socket in sockets: socket.close() wserver = None bpy.app.handlers.frame_change_post.remove(frame_change_post) bpy.app.handlers.load_post.remove(load_post) bpy.app.handlers.save_post.remove(save_post) return True OrientationHelper = orientation_helper_factory("DemosceneOrientationHelper", axis_forward='-Z', axis_up='Y') class WebSocketServerSettings(AddonPreferences, OrientationHelper): bl_idname = __name__ auto_start = BoolProperty( name="Start automatically", description="Automatically start the server when loading the add-on", default=True) host = StringProperty(name="Host", description="Listen on host:port", default="localhost")
from bpy.props import ( StringProperty, FloatProperty, IntProperty, BoolProperty, EnumProperty, ) from bpy_extras.io_utils import ( ImportHelper, ExportHelper, orientation_helper_factory, axis_conversion, ) ImportBVHOrientationHelper = orientation_helper_factory("ImportBVHOrientationHelper", axis_forward='-Z', axis_up='Y') class ImportBVH(bpy.types.Operator, ImportHelper, ImportBVHOrientationHelper): """Load a BVH motion capture file""" bl_idname = "import_anim.bvh" bl_label = "Import BVH" bl_options = {'REGISTER', 'UNDO'} filename_ext = ".bvh" filter_glob = StringProperty(default="*.bvh", options={'HIDDEN'}) target = EnumProperty(items=( ('ARMATURE', "Armature", ""), ('OBJECT', "Object", ""), ),
"", "tracker_url": "https://github.com/Kupoman/blendergltf/issues", "support": 'COMMUNITY', "category": "Import-Export" } if "bpy" in locals(): importlib.reload(locals()['blendergltf']) importlib.reload(locals()['filters']) importlib.reload(locals()['extension_exporters']) importlib.reload(locals()['pbr_utils']) GLTFOrientationHelper = orientation_helper_factory( "GLTFOrientationHelper", axis_forward='Z', axis_up='Y' ) VERSION_ITEMS = ( ('1.0', '1.0', ''), ('2.0', '2.0', ''), ) PROFILE_ITEMS = ( ('WEB', 'Web', 'Export shaders for WebGL 1.0 use (shader version 100)'), ('DESKTOP', 'Desktop', 'Export shaders for OpenGL 3.0 use (shader version 130)') ) IMAGE_STORAGE_ITEMS = ( ('EMBED', 'Embed', 'Embed image data into the glTF file'), ('REFERENCE', 'Reference', 'Use the same filepath that Blender uses for images'), ('COPY', 'Copy', 'Copy images to output directory and use a relative reference')
ExportHelper, orientation_helper_factory, path_reference_mode, axis_conversion, ) class ImportObjCollection(bpy.types.PropertyGroup): name = StringProperty( name="File Path", description="Filepath used for importing the file", maxlen=1024, subtype="FILE_PATH" ) bpy.utils.register_class(ImportObjCollection) IOOBJOrientationHelper = orientation_helper_factory("IOOBJOrientationHelper", axis_forward="-Z", axis_up="Y") class ImportOBJ(bpy.types.Operator, ImportHelper, IOOBJOrientationHelper): """Load a Wavefront OBJ File""" bl_idname = "import_scene.obj" bl_label = "Import OBJ" bl_options = {"PRESET", "UNDO"} filename_ext = ".obj" filter_glob = StringProperty(default="*.obj;*.mtl", options={"HIDDEN"}) files = bpy.props.CollectionProperty(type=ImportObjCollection) use_edges = BoolProperty(name="Lines", description="Import lines and faces with 2 verts as edge", default=True)
from bpy.props import ( BoolProperty, FloatProperty, StringProperty, EnumProperty, ) from bpy_extras.io_utils import ( ImportHelper, ExportHelper, orientation_helper_factory, path_reference_mode, axis_conversion, ) IOOBJOrientationHelper = orientation_helper_factory("IOOBJOrientationHelper", axis_forward='-Z', axis_up='Y') class ImportOBJ(bpy.types.Operator, ImportHelper, IOOBJOrientationHelper): """Load a Wavefront OBJ File""" bl_idname = "import_scene.obj" bl_label = "Import OBJ" bl_options = {'PRESET', 'UNDO'} filename_ext = ".obj" filter_glob = StringProperty( default="*.obj;*.mtl", options={'HIDDEN'}, ) use_edges = BoolProperty(
import json import bpy from bpy.props import * from bpy_extras.io_utils import ( ExportHelper, orientation_helper_factory, axis_conversion, ) from . import blendergltf GLTFOrientationHelper = orientation_helper_factory( "GLTFOrientationHelper", axis_forward='Y', axis_up='Z' ) profile_items = ( ('WEB', 'Web', 'Export shaders for WebGL 1.0 use (shader version 100)'), ('DESKTOP', 'Desktop', 'Export shaders for OpenGL 3.0 use (shader version 130)') ) class ExportGLTF(bpy.types.Operator, ExportHelper, GLTFOrientationHelper): """Save a Khronos glTF File""" bl_idname = "export_scene.gltf" bl_label = 'Export glTF'
import bpy from bpy_extras.io_utils import ( ImportHelper, ExportHelper, orientation_helper_factory, axis_conversion, ) IOMPETOrientationHelper = orientation_helper_factory("IOMPETOrientationHelper", axis_forward='Z', axis_up='Y') bl_info = { "name": "PangYa Model", "author": "John Chadwick", "blender": (2, 74, 0), "location": "File > Import-Export", "description": "Import-Export PangYa .pet and .mpet files.", "category": "Import-Export" } # ImportMpet implements the operator for importing Mpet models. class ImportMpet(bpy.types.Operator, ImportHelper, IOMPETOrientationHelper): """Import from Pangya Model (.pet, .mpet)""" bl_idname = 'import_scene.pangya_mpet' bl_label = 'Import Pangya Model' bl_options = {'UNDO'} filename_ext = '.mpet;.pet' filter_glob = bpy.props.StringProperty( default='*.mpet;*.pet', options={'HIDDEN'}, )
importlib.reload(import_3ds) if "export_3ds" in locals(): importlib.reload(export_3ds) import bpy from bpy.props import StringProperty, FloatProperty, BoolProperty, EnumProperty from bpy_extras.io_utils import ( ImportHelper, ExportHelper, orientation_helper_factory, axis_conversion, ) IO3DSOrientationHelper = orientation_helper_factory("IO3DSOrientationHelper", axis_forward='Y', axis_up='Z') class Import3DS(bpy.types.Operator, ImportHelper, IO3DSOrientationHelper): """Import from 3DS file format (.3ds)""" bl_idname = "import_scene.autodesk_3ds" bl_label = 'Import 3DS' bl_options = {'UNDO'} filename_ext = ".3ds" filter_glob = StringProperty(default="*.3ds", options={'HIDDEN'}) constrain_size = FloatProperty( name="Size Constraint", description="Scale the model by 10 until it reaches the "
] markers_arr.append(marker_arr) action_arr = [ fcurves_obj, ] if len(markers_arr) > 0: action_arr.append(markers_arr) actions_obj[action.name] = action_arr return actions_obj HTML5AnimationsOrientationHelper = orientation_helper_factory( "HTML5AnimationsOrientationHelper", axis_forward='-Z', axis_up='Y') class Export(Operator, ExportHelper, HTML5AnimationsOrientationHelper): """Export animation curves as CSS, JS, or JSON.""" bl_idname = "html5_animations.export" bl_label = "Export HTML5 Animations" filename_ext = ".js" filter_glob = StringProperty( default="*.css;*.js;*.json", options={'HIDDEN'}, maxlen=255, )
EnumProperty ) from bpy_extras.io_utils import ( ImportHelper, ExportHelper, axis_conversion, orientation_helper_factory ) class ModuleInfo: add_on_version = '.'.join([str(item) for item in bl_info['version']]) data3d_format_version = '1' IOData3dOrientationHelper = orientation_helper_factory('IOData3dOrientationHelper', axis_forward='-Z', axis_up='Y') class ImportData3d(bpy.types.Operator, ImportHelper, IOData3dOrientationHelper): """ Load a Archilogic Data3d File """ bl_idname = 'import_scene.data3d' bl_label = 'Import Data3d' bl_options = {'PRESET', 'UNDO'} filter_glob = StringProperty(default='*.data3d.buffer;*.data3d.json', options={'HIDDEN'}) import_materials = BoolProperty( name='Import Materials', description='Import Materials and Textures.', default=True
) from bpy_extras.io_utils import ( ImportHelper, ExportHelper, orientation_helper_factory, path_reference_mode, axis_conversion, ) #----------------------------------------------------------------------------- # # Importing Tools # #----------------------------------------------------------------------------- IOForsakenOrientationHelper = orientation_helper_factory( "IOForsakenOrientationHelper", axis_forward='Y', axis_up='Z') IOForsakenImportMXOrientationHelper = orientation_helper_factory( "IOForsakenImportMXOrientationHelper", axis_forward='Z', axis_up='Y') # ----------------------------------------------------------------------------- # class ImportForsakenMXData(bpy.types.Operator, ImportHelper, IOForsakenImportMXOrientationHelper): bl_idname = "import_mesh.mx" bl_label = "Import MX" bl_options = {'UNDO'} files = CollectionProperty(name="File Path", description="File path used for importing " "the MX file",
] markers_arr.append(marker_arr) action_arr = [ fcurves_obj, ] if len(markers_arr) > 0: action_arr.append(markers_arr) actions_obj[action.name] = action_arr return actions_obj HTML5AnimationsOrientationHelper = orientation_helper_factory("HTML5AnimationsOrientationHelper", axis_forward='-Z', axis_up='Y') class Export(Operator, ExportHelper, HTML5AnimationsOrientationHelper): """Export animation curves as CSS, JS, or JSON.""" bl_idname = "html5_animations.export" bl_label = "Export HTML5 Animations" filename_ext = ".js" filter_glob = StringProperty( default="*.css;*.js;*.json", options={'HIDDEN'}, maxlen=255, )
importlib.reload(import_x3d) if "export_x3d" in locals(): importlib.reload(export_x3d) import bpy from bpy.props import BoolProperty, EnumProperty, FloatProperty, StringProperty from bpy_extras.io_utils import ( ImportHelper, ExportHelper, orientation_helper_factory, axis_conversion, path_reference_mode, ) IOX3DOrientationHelper = orientation_helper_factory("IOX3DOrientationHelper", axis_forward="Z", axis_up="Y") class ImportX3D(bpy.types.Operator, ImportHelper, IOX3DOrientationHelper): """Import an X3D or VRML2 file""" bl_idname = "import_scene.x3d" bl_label = "Import X3D/VRML2" bl_options = {"PRESET", "UNDO"} filename_ext = ".x3d" filter_glob = StringProperty(default="*.x3d;*.wrl", options={"HIDDEN"}) def execute(self, context): from . import import_x3d
import bpy from bpy.props import ( BoolProperty, FloatProperty, StringProperty, ) from bpy_extras.io_utils import ( ExportHelper, orientation_helper_factory, axis_conversion, path_reference_mode, ) IOX3DOrientationHelper = orientation_helper_factory('IOX3DOrientationHelper', axis_forward='Z', axis_up='Y') class ExportWebots(bpy.types.Operator, ExportHelper, IOX3DOrientationHelper): """Export selection to Webots file (.wbt)""" bl_idname = 'scene.wbt' bl_label = 'Export Webots' bl_options = {'PRESET'} filename_ext = '.wbt' filter_glob = StringProperty(default='*.wbt', options={'HIDDEN'}) use_selection = BoolProperty( name='Selection Only', description='Export selected objects only', default=False,
import bpy from bpy.props import ( CollectionProperty, StringProperty, BoolProperty, EnumProperty, FloatProperty, ) from bpy_extras.io_utils import ( ExportHelper, orientation_helper_factory, path_reference_mode, axis_conversion, ) ExportVRMLOrientationHelper = orientation_helper_factory( "ExportVRMLOrientationHelper", axis_forward='Z', axis_up='Y') class ExportVRML(bpy.types.Operator, ExportHelper, ExportVRMLOrientationHelper): """Export VRML2\nExport mesh objects as a VRML2, colors and texture coordinates""" bl_idname = "export_scene.vrml2" bl_label = "Export VRML2" filename_ext = ".wrl" filter_glob = StringProperty(default="*.wrl", options={'HIDDEN'}) use_selection = BoolProperty( name="Selection Only", description="Export selected objects only", default=False,
import os import bpy from bpy.props import (CollectionProperty, StringProperty, BoolProperty, EnumProperty, FloatProperty, ) from bpy_extras.io_utils import (ExportHelper, orientation_helper_factory, path_reference_mode, axis_conversion, ) ExportVRMLOrientationHelper = orientation_helper_factory("ExportVRMLOrientationHelper", axis_forward='Z', axis_up='Y') class ExportVRML(bpy.types.Operator, ExportHelper, ExportVRMLOrientationHelper): """Export mesh objects as a VRML2, colors and texture coordinates""" bl_idname = "export_scene.vrml2" bl_label = "Export VRML2" filename_ext = ".wrl" filter_glob = StringProperty(default="*.wrl", options={'HIDDEN'}) use_selection = BoolProperty( name="Selection Only", description="Export selected objects only", default=False, )
# ##### END GPL LICENSE BLOCK ##### # <pep8-80 compliant> import bpy from bpy.props import (BoolProperty, FloatProperty, StringProperty, EnumProperty, IntProperty) from bpy_extras.io_utils import (ExportHelper, ImportHelper, orientation_helper_factory, path_reference_mode, axis_conversion) from . import export_obj from . import export_json IOOBJOrientationHelper = orientation_helper_factory("IOOBJOrientationHelper", axis_forward='-Y', axis_up='-Z') class ExportFile(bpy.types.Operator, ExportHelper, IOOBJOrientationHelper): """Save a Wavefront OBJ File with some added features to conform to the PBD engine""" bl_idname = "export.pbd_file" bl_label = 'Export' #bl_options = {'PRESET'} filename_ext = ".obj" filter_glob = StringProperty( default="*.obj;*.mtl", options={'HIDDEN'}, )
_modules = [] __import__(name=__name__, fromlist=_modules) _namespace = globals() _modules_loaded = [_namespace[name] for name in _modules] del _namespace if "bpy" in locals(): import imp if "import_cao" in locals(): imp.reload(import_cao) from importlib import reload _modules_loaded[:] = [reload(val) for val in _modules_loaded] del reload IOCAOOrientationHelper = orientation_helper_factory("IOCAOOrientationHelper", axis_forward='-Z', axis_up='Y') class ImportCAO(bpy.types.Operator, ImportHelper, IOCAOOrientationHelper): bl_idname = "import_scene.cao" bl_label = "Import CAO" bl_options = {'PRESET', 'UNDO'} filename_ext = ".cao" filter_glob = StringProperty( default="*.cao", options={'HIDDEN'}, ) global_clamp_size = FloatProperty( name="Clamp Size", description="Clamp bounds under this value (zero to disable)",
return {'CANCELLED'} except: log.exception('Uncaught exception') raise finally: progress_report.print = print logging_util.resetLoggingSettings() axis_forward = '-Z' axis_up = 'Y' try: # < 2.80 from bpy_extras.io_utils import orientation_helper_factory IOOBJOrientationHelper = orientation_helper_factory( 'IOOBJOrientationHelper', axis_forward=axis_forward, axis_up=axis_up) class OBJEX_OT_export(bpy.types.Operator, OBJEX_OT_export_base, ExportHelper, IOOBJOrientationHelper): pass except ImportError: # 2.80+ from bpy_extras.io_utils import orientation_helper @orientation_helper(axis_forward=axis_forward, axis_up=axis_up) class OBJEX_OT_export(bpy.types.Operator, OBJEX_OT_export_base, ExportHelper): pass def menu_func_export(self, context):
if group_empty: # Position empty at median of children groups.reverse() for group in groups: move_to_children_median(group) # Select root empty and make active object bpy.ops.object.select_all(action='DESELECT') root_empty.select = True bpy.context.scene.objects.active = root_empty # Move root empty to cursor position root_empty.location = bpy.context.scene.cursor_location IOPSDOrientationHelper = orientation_helper_factory("IOPSDOrientationHelper", axis_forward='-Y', axis_up='Z') # Actual import operator. class ImportPsdAsPlanes(bpy.types.Operator, ImportHelper, IOPSDOrientationHelper): '''Import PSD as planes''' bl_idname = 'import_scene.psd' bl_label = 'Import PSD as planes' bl_options = {'PRESET', 'UNDO'} # List of operator properties, the attributes will be assigned # to the class instance from the operator settings before calling. directory = StringProperty( maxlen=1024,
if 'import_3do' in locals(): importlib.reload(import_3do) if 'export_3do' in locals(): importlib.reload(export_3do) if 'blender modules': import bpy import mathutils from bpy.props import (IntProperty, StringProperty, BoolProperty, EnumProperty) from bpy_extras.io_utils import (ImportHelper, ExportHelper, orientation_helper_factory, axis_conversion) from . import (export_3do, import_3do) OrientationHelper = orientation_helper_factory('OrientationHelper') if 'python modules': import os from logging import (getLogger, Formatter, StreamHandler, DEBUG, FileHandler) logger = getLogger(__name__) logger.setLevel(DEBUG) st_hdlr = StreamHandler() log_lvs = [('50', 'CRITICAL', ''), ('40', 'ERROR', ''), ('30', 'WARNING', ''), ('20', 'INFO', ''), ('10', 'DEBUG', ''), ('0', 'NOTSET', ''), ('-1', 'DISABLE', '')] # importer/exporter