Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender-addons.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'object_carver/__init__.py')
-rw-r--r--object_carver/__init__.py448
1 files changed, 224 insertions, 224 deletions
diff --git a/object_carver/__init__.py b/object_carver/__init__.py
index b2a89f28..883d5b76 100644
--- a/object_carver/__init__.py
+++ b/object_carver/__init__.py
@@ -17,18 +17,18 @@
# ##### END GPL LICENSE BLOCK #####
bl_info = {
- "name": "Carver",
- "author": "Pixivore, Cedric LEPILLER, Ted Milker, Clarkx",
- "description": "Multiple tools to carve or to create objects",
- "version": (1, 2, 0),
- "blender": (2, 80, 0),
- "location": "3D View > Ctrl/Shift/x",
- "warning": "",
- "wiki_url": "https://docs.blender.org/manual/en/dev/addons/"
- "object/carver.html",
- "support": 'COMMUNITY',
- "category": "Object"
- }
+ "name": "Carver",
+ "author": "Pixivore, Cedric LEPILLER, Ted Milker, Clarkx",
+ "description": "Multiple tools to carve or to create objects",
+ "version": (1, 2, 0),
+ "blender": (2, 80, 0),
+ "location": "3D View > Ctrl/Shift/x",
+ "warning": "",
+ "doc_url": "https://docs.blender.org/manual/en/dev/addons/"
+ "object/carver.html",
+ "support": 'COMMUNITY',
+ "category": "Object"
+ }
import bpy
import imp
@@ -61,249 +61,249 @@ imp.reload(carver_operator)
# "or to create objects"
# )
#
-# #Icons : \blender-2.80\2.80\datafiles\icons
-# #Todo: Create a new icon for Carver
+# #Icons : \blender-2.80\2.80\datafiles\icons
+# #Todo: Create a new icon for Carver
# bl_icon = "ops.mesh.knife_tool"
# bl_widget = None
# bl_keymap = (
# ("carver.operator", {"type": 'LEFTMOUSE', "value": 'PRESS'}, None),
-# )
+# )
#
# def draw_settings(context, layout, tool):
# layout.prop(tool.operator_properties, "carver")
class CarverPreferences(AddonPreferences):
- bl_idname = __name__
+ bl_idname = __name__
- Enable_Tab_01: BoolProperty(
- name="Info",
- description="Some general information and settings about the add-on",
- default=False
- )
- Enable_Tab_02: BoolProperty(
- name="Hotkeys",
- description="List of the shortcuts used during carving",
- default=False
- )
- Key_Create: StringProperty(
- name="Object creation",
- description="Object creation",
- maxlen=1,
- default="C"
- )
- Key_Update: StringProperty(
- name="Auto Bevel Update",
- description="Auto Bevel Update",
- maxlen=1,
- default="A",
- )
- Key_Bool: StringProperty(
- name="Boolean type",
- description="Boolean operation type",
- maxlen=1,
- default="T",
- )
- Key_Brush: StringProperty(
- name="Brush Mode",
- description="Brush Mode",
- maxlen=1,
- default="B",
- )
- Key_Help: StringProperty(
- name="Help display",
- description="Help display",
- maxlen=1,
- default="H",
- )
- Key_Instant: StringProperty(
- name="Instantiate",
- description="Instantiate object",
- maxlen=1,
- default="I",
- )
- Key_Close: StringProperty(
- name="Close polygonal shape",
- description="Close polygonal shape",
- maxlen=1,
- default="X",
- )
- Key_Apply: StringProperty(
- name="Apply operation",
- description="Apply operation",
- maxlen=1,
- default="Q",
- )
- Key_Scale: StringProperty(
- name="Scale object",
- description="Scale object",
- maxlen=1,
- default="S",
- )
- Key_Gapy: StringProperty(
- name="Gap rows",
- description="Scale gap between columns",
- maxlen=1,
- default="J",
- )
- Key_Gapx: StringProperty(
- name="Gap columns",
- description="Scale gap between columns",
- maxlen=1,
- default="U",
- )
- Key_Depth: StringProperty(
- name="Depth",
- description="Cursor depth or solidify pattern",
- maxlen=1,
- default="D",
- )
- Key_BrushDepth: StringProperty(
- name="Brush Depth",
- description="Brush depth",
- maxlen=1,
- default="C",
- )
- Key_Subadd: StringProperty(
- name="Add subdivision",
- description="Add subdivision",
- maxlen=1,
- default="X",
- )
- Key_Subrem: StringProperty(
- name="Remove subdivision",
- description="Remove subdivision",
- maxlen=1,
- default="W",
- )
- Key_Randrot: StringProperty(
- name="Random rotation",
- description="Random rotation",
- maxlen=1,
- default="R",
- )
- ProfilePrefix: StringProperty(
- name="Profile prefix",
- description="Prefix to look for profiles with",
- default="Carver_Profile-",
- )
- LineWidth: IntProperty(
- name="Line Width",
- description="Thickness of the drawing lines",
- default=1,
- )
- Key_Snap: StringProperty(
- name="Grid Snap",
- description="Grid Snap",
- maxlen=1,
- default="G",
- )
+ Enable_Tab_01: BoolProperty(
+ name="Info",
+ description="Some general information and settings about the add-on",
+ default=False
+ )
+ Enable_Tab_02: BoolProperty(
+ name="Hotkeys",
+ description="List of the shortcuts used during carving",
+ default=False
+ )
+ Key_Create: StringProperty(
+ name="Object creation",
+ description="Object creation",
+ maxlen=1,
+ default="C"
+ )
+ Key_Update: StringProperty(
+ name="Auto Bevel Update",
+ description="Auto Bevel Update",
+ maxlen=1,
+ default="A",
+ )
+ Key_Bool: StringProperty(
+ name="Boolean type",
+ description="Boolean operation type",
+ maxlen=1,
+ default="T",
+ )
+ Key_Brush: StringProperty(
+ name="Brush Mode",
+ description="Brush Mode",
+ maxlen=1,
+ default="B",
+ )
+ Key_Help: StringProperty(
+ name="Help display",
+ description="Help display",
+ maxlen=1,
+ default="H",
+ )
+ Key_Instant: StringProperty(
+ name="Instantiate",
+ description="Instantiate object",
+ maxlen=1,
+ default="I",
+ )
+ Key_Close: StringProperty(
+ name="Close polygonal shape",
+ description="Close polygonal shape",
+ maxlen=1,
+ default="X",
+ )
+ Key_Apply: StringProperty(
+ name="Apply operation",
+ description="Apply operation",
+ maxlen=1,
+ default="Q",
+ )
+ Key_Scale: StringProperty(
+ name="Scale object",
+ description="Scale object",
+ maxlen=1,
+ default="S",
+ )
+ Key_Gapy: StringProperty(
+ name="Gap rows",
+ description="Scale gap between columns",
+ maxlen=1,
+ default="J",
+ )
+ Key_Gapx: StringProperty(
+ name="Gap columns",
+ description="Scale gap between columns",
+ maxlen=1,
+ default="U",
+ )
+ Key_Depth: StringProperty(
+ name="Depth",
+ description="Cursor depth or solidify pattern",
+ maxlen=1,
+ default="D",
+ )
+ Key_BrushDepth: StringProperty(
+ name="Brush Depth",
+ description="Brush depth",
+ maxlen=1,
+ default="C",
+ )
+ Key_Subadd: StringProperty(
+ name="Add subdivision",
+ description="Add subdivision",
+ maxlen=1,
+ default="X",
+ )
+ Key_Subrem: StringProperty(
+ name="Remove subdivision",
+ description="Remove subdivision",
+ maxlen=1,
+ default="W",
+ )
+ Key_Randrot: StringProperty(
+ name="Random rotation",
+ description="Random rotation",
+ maxlen=1,
+ default="R",
+ )
+ ProfilePrefix: StringProperty(
+ name="Profile prefix",
+ description="Prefix to look for profiles with",
+ default="Carver_Profile-",
+ )
+ LineWidth: IntProperty(
+ name="Line Width",
+ description="Thickness of the drawing lines",
+ default=1,
+ )
+ Key_Snap: StringProperty(
+ name="Grid Snap",
+ description="Grid Snap",
+ maxlen=1,
+ default="G",
+ )
- def draw(self, context):
- scene = context.scene
- layout = self.layout
+ def draw(self, context):
+ scene = context.scene
+ layout = self.layout
- icon_1 = "TRIA_RIGHT" if not self.Enable_Tab_01 else "TRIA_DOWN"
- box = layout.box()
+ icon_1 = "TRIA_RIGHT" if not self.Enable_Tab_01 else "TRIA_DOWN"
+ box = layout.box()
- box.prop(self, "Enable_Tab_01", text="Info and Settings", emboss=False, icon=icon_1)
- if self.Enable_Tab_01:
- box.label(text="Carver Operator:", icon="LAYER_ACTIVE")
- box.label(text="Select a Mesh Object and press [CTRL]+[SHIFT]+[X] to carve",
- icon="LAYER_USED")
- box.label(text="To finish carving press [ESC] or [RIGHT CLICK]",
- icon="LAYER_USED")
- box.prop(self, "ProfilePrefix", text="Profile prefix")
- row = box.row(align=True)
- row.label(text="Line width:")
- row.prop(self, "LineWidth", text="")
+ box.prop(self, "Enable_Tab_01", text="Info and Settings", emboss=False, icon=icon_1)
+ if self.Enable_Tab_01:
+ box.label(text="Carver Operator:", icon="LAYER_ACTIVE")
+ box.label(text="Select a Mesh Object and press [CTRL]+[SHIFT]+[X] to carve",
+ icon="LAYER_USED")
+ box.label(text="To finish carving press [ESC] or [RIGHT CLICK]",
+ icon="LAYER_USED")
+ box.prop(self, "ProfilePrefix", text="Profile prefix")
+ row = box.row(align=True)
+ row.label(text="Line width:")
+ row.prop(self, "LineWidth", text="")
- icon_2 = "TRIA_RIGHT" if not self.Enable_Tab_02 else "TRIA_DOWN"
- box = layout.box()
- box.prop(self, "Enable_Tab_02", text="Keys", emboss=False, icon=icon_2)
- if self.Enable_Tab_02:
- split = box.split(align=True)
- box = split.box()
- col = box.column(align=True)
- col.label(text="Object Creation:")
- col.prop(self, "Key_Create", text="")
- col.label(text="Auto bevel update:")
- col.prop(self, "Key_Update", text="")
- col.label(text="Boolean operation type:")
- col.prop(self, "Key_Bool", text="")
- col.label(text="Brush Depth:")
- col.prop(self, "Key_BrushDepth", text="")
+ icon_2 = "TRIA_RIGHT" if not self.Enable_Tab_02 else "TRIA_DOWN"
+ box = layout.box()
+ box.prop(self, "Enable_Tab_02", text="Keys", emboss=False, icon=icon_2)
+ if self.Enable_Tab_02:
+ split = box.split(align=True)
+ box = split.box()
+ col = box.column(align=True)
+ col.label(text="Object Creation:")
+ col.prop(self, "Key_Create", text="")
+ col.label(text="Auto bevel update:")
+ col.prop(self, "Key_Update", text="")
+ col.label(text="Boolean operation type:")
+ col.prop(self, "Key_Bool", text="")
+ col.label(text="Brush Depth:")
+ col.prop(self, "Key_BrushDepth", text="")
- box = split.box()
- col = box.column(align=True)
- col.label(text="Brush Mode:")
- col.prop(self, "Key_Brush", text="")
- col.label(text="Help display:")
- col.prop(self, "Key_Help", text="")
- col.label(text="Instantiate object:")
- col.prop(self, "Key_Instant", text="")
- col.label(text="Random rotation:")
- col.prop(self, "Key_Randrot", text="")
+ box = split.box()
+ col = box.column(align=True)
+ col.label(text="Brush Mode:")
+ col.prop(self, "Key_Brush", text="")
+ col.label(text="Help display:")
+ col.prop(self, "Key_Help", text="")
+ col.label(text="Instantiate object:")
+ col.prop(self, "Key_Instant", text="")
+ col.label(text="Random rotation:")
+ col.prop(self, "Key_Randrot", text="")
- box = split.box()
- col = box.column(align=True)
- col.label(text="Close polygonal shape:")
- col.prop(self, "Key_Close", text="")
- col.label(text="Apply operation:")
- col.prop(self, "Key_Apply", text="")
- col.label(text="Scale object:")
- col.prop(self, "Key_Scale", text="")
- col.label(text="Subdiv add:")
- col.prop(self, "Key_Subadd", text="")
+ box = split.box()
+ col = box.column(align=True)
+ col.label(text="Close polygonal shape:")
+ col.prop(self, "Key_Close", text="")
+ col.label(text="Apply operation:")
+ col.prop(self, "Key_Apply", text="")
+ col.label(text="Scale object:")
+ col.prop(self, "Key_Scale", text="")
+ col.label(text="Subdiv add:")
+ col.prop(self, "Key_Subadd", text="")
- box = split.box()
- col = box.column(align=True)
- col.label(text="Gap rows:")
- col.prop(self, "Key_Gapy", text="")
- col.label(text="Gap columns:")
- col.prop(self, "Key_Gapx", text="")
- col.label(text="Depth / Solidify:")
- col.prop(self, "Key_Depth", text="")
- col.label(text="Subdiv Remove:")
- col.prop(self, "Key_Subrem", text="")
+ box = split.box()
+ col = box.column(align=True)
+ col.label(text="Gap rows:")
+ col.prop(self, "Key_Gapy", text="")
+ col.label(text="Gap columns:")
+ col.prop(self, "Key_Gapx", text="")
+ col.label(text="Depth / Solidify:")
+ col.prop(self, "Key_Depth", text="")
+ col.label(text="Subdiv Remove:")
+ col.prop(self, "Key_Subrem", text="")
- box = split.box()
- col = box.column(align=True)
- col.label(text="Grid Snap:")
- col.prop(self, "Key_Snap", text="")
+ box = split.box()
+ col = box.column(align=True)
+ col.label(text="Grid Snap:")
+ col.prop(self, "Key_Snap", text="")
addon_keymaps = []
def register():
- print("Registered Carver")
+ print("Registered Carver")
- bpy.utils.register_class(CarverPreferences)
- # Todo : Add an icon in the toolbat
- # bpy.utils.register_tool(CarverTool, separator=True, group=True)
- carver_operator.register()
+ bpy.utils.register_class(CarverPreferences)
+ # Todo : Add an icon in the toolbat
+ # bpy.utils.register_tool(CarverTool, separator=True, group=True)
+ carver_operator.register()
- # add keymap entry
- kcfg = bpy.context.window_manager.keyconfigs.addon
- if kcfg:
- km = kcfg.keymaps.new(name='3D View', space_type='VIEW_3D')
- kmi = km.keymap_items.new("carver.operator", 'X', 'PRESS', shift=True, ctrl=True)
- addon_keymaps.append((km, kmi))
+ # add keymap entry
+ kcfg = bpy.context.window_manager.keyconfigs.addon
+ if kcfg:
+ km = kcfg.keymaps.new(name='3D View', space_type='VIEW_3D')
+ kmi = km.keymap_items.new("carver.operator", 'X', 'PRESS', shift=True, ctrl=True)
+ addon_keymaps.append((km, kmi))
def unregister():
- # Todo : Add an icon in the toolbat
- # bpy.utils.unregister_tool(CarverTool)
- carver_operator.unregister()
- bpy.utils.unregister_class(CarverPreferences)
+ # Todo : Add an icon in the toolbat
+ # bpy.utils.unregister_tool(CarverTool)
+ carver_operator.unregister()
+ bpy.utils.unregister_class(CarverPreferences)
- print("Unregistered Carver")
+ print("Unregistered Carver")
- # remove keymap entry
- for km, kmi in addon_keymaps:
- km.keymap_items.remove(kmi)
- addon_keymaps.clear()
+ # remove keymap entry
+ for km, kmi in addon_keymaps:
+ km.keymap_items.remove(kmi)
+ addon_keymaps.clear()
if __name__ == "__main__":
- register()
+ register()