Source code for fabex.properties

"""Fabex 'properties.__init__.py' © 2012 Vilem Novak

Import Properties, Register and Unregister Classes
"""

import bpy
from bpy.props import (
    CollectionProperty,
    EnumProperty,
    IntProperty,
    PointerProperty,
    StringProperty,
)

# All properties are imported and registered here EXCEPT
# CAM_OPERATION_Properties, which is imported and registered
# in the main ('cam') __init__ file, to allow these and other dependencies
# to register first
from .chain_props import CAM_CHAIN_Properties, CAM_OP_REFERENCE_Properties
from .info_props import CAM_INFO_Properties
from .interface_props import CAM_INTERFACE_Properties, draw_interface
from .machine_props import CAM_MACHINE_Properties
from .material_props import CAM_MATERIAL_Properties
from .movement_props import CAM_MOVEMENT_Properties
from .name_props import CAM_NAME_Properties
from .optimisation_props import CAM_OPTIMISATION_Properties
from .preset_props import (
    # Machine Presets
    avidcnc_presets,
    carbide3d_presets,
    cnc4all_presets,
    inventables_presets,
    millright_presets,
    onefinity_presets,
    ooznest_presets,
    sienci_presets,
    user_machine_presets,
    update_avidcnc,
    update_carbide3d,
    update_cnc4all,
    update_inventables,
    update_millright,
    update_onefinity,
    update_ooznest,
    update_sienci,
    update_user_machine,
    # Cutter Presets
    idcwoodcraft_presets,
    cadence_presets,
    user_cutter_presets,
    update_idcwoodcraft,
    update_cadence,
    update_user_cutter,
    # Operation Presets
    finishing_presets,
    update_finishing,
    roughing_presets,
    update_roughing,
    user_operation_presets,
    update_user_operation,
)

from ..utilities.operation_utils import update_operation


[docs] classes = [ CAM_OP_REFERENCE_Properties, CAM_CHAIN_Properties, CAM_INFO_Properties, CAM_INTERFACE_Properties, CAM_MACHINE_Properties, CAM_MATERIAL_Properties, CAM_MOVEMENT_Properties, CAM_NAME_Properties, CAM_OPTIMISATION_Properties, ]
[docs] def register(): for cls in classes: bpy.utils.register_class(cls) bpy.types.RENDER_PT_context.append(draw_interface) scene = bpy.types.Scene scene.cam_active_chain = IntProperty( name="CAM Active Chain", description="The selected chain", ) scene.cam_active_operation = IntProperty( name="CAM Active Operation", description="The selected operation", update=update_operation, ) scene.cam_chains = CollectionProperty( type=CAM_CHAIN_Properties, ) scene.gcode_output_type = StringProperty( name="Gcode Output Type", default="", ) scene.cam_machine = PointerProperty( type=CAM_MACHINE_Properties, ) scene.cam_material = PointerProperty( type=CAM_MATERIAL_Properties, ) scene.cam_text = StringProperty() scene.interface = PointerProperty( type=CAM_INTERFACE_Properties, ) scene.cam_names = PointerProperty( type=CAM_NAME_Properties, ) # Machine Presets scene.avidcnc = EnumProperty( items=avidcnc_presets, update=update_avidcnc, ) scene.carbide3d = EnumProperty( items=carbide3d_presets, update=update_carbide3d, ) scene.cnc4all = EnumProperty( items=cnc4all_presets, update=update_cnc4all, ) scene.inventables = EnumProperty( items=inventables_presets, update=update_inventables, ) scene.millright = EnumProperty( items=millright_presets, update=update_millright, ) scene.onefinity = EnumProperty( items=onefinity_presets, update=update_onefinity, ) scene.ooznest = EnumProperty( items=ooznest_presets, update=update_ooznest, ) scene.sienci = EnumProperty( items=sienci_presets, update=update_sienci, ) scene.user_machine = EnumProperty( items=user_machine_presets, update=update_user_machine, ) # Cutter Presets scene.idcwoodcraft = EnumProperty( items=idcwoodcraft_presets, update=update_idcwoodcraft, ) scene.cadence = EnumProperty( items=cadence_presets, update=update_cadence, ) scene.user_cutter = EnumProperty( items=user_cutter_presets, update=update_user_cutter, ) # Operation Presets scene.finishing = EnumProperty( items=finishing_presets, update=update_finishing, ) scene.roughing = EnumProperty( items=roughing_presets, update=update_roughing, ) scene.user_operation = EnumProperty( items=user_operation_presets, update=update_user_operation, ) scene.operation_preset = StringProperty()
[docs] def unregister(): for cls in classes: bpy.utils.unregister_class(cls) bpy.types.RENDER_PT_context.remove(draw_interface) scene = bpy.types.Scene del scene.cam_chains del scene.cam_active_chain del scene.cam_active_operation del scene.cam_machine del scene.gcode_output_type del scene.cam_text del scene.avidcnc del scene.carbide3d del scene.cnc4all del scene.inventables del scene.millright del scene.onefinity del scene.ooznest del scene.sienci del scene.user_machine del scene.idcwoodcraft del scene.cadence del scene.user_cutter del scene.finishing del scene.roughing del scene.user_operation del scene.operation_preset