[Bf-extensions-cvs] [c1ab9b4b] master: archipack: T52120 release to official

Stephen Leger noreply at git.blender.org
Sat Jul 22 13:26:22 CEST 2017


Commit: c1ab9b4b9c6c0226f8d7789b92efda9b0f33cfd1
Author: Stephen Leger
Date:   Sat Jul 22 13:25:28 2017 +0200
Branches: master
https://developer.blender.org/rBAc1ab9b4b9c6c0226f8d7789b92efda9b0f33cfd1

archipack: T52120 release to official

===================================================================

A	archipack/__init__.py
A	archipack/archipack_2d.py
A	archipack/archipack_autoboolean.py
A	archipack/archipack_door.py
A	archipack/archipack_fence.py
A	archipack/archipack_floor.py
A	archipack/archipack_gl.py
A	archipack/archipack_handle.py
A	archipack/archipack_keymaps.py
A	archipack/archipack_manipulator.py
A	archipack/archipack_object.py
A	archipack/archipack_polylib.py
A	archipack/archipack_preset.py
A	archipack/archipack_reference_point.py
A	archipack/archipack_rendering.py
A	archipack/archipack_slab.py
A	archipack/archipack_snap.py
A	archipack/archipack_stair.py
A	archipack/archipack_truss.py
A	archipack/archipack_wall.py
A	archipack/archipack_wall2.py
A	archipack/archipack_window.py
A	archipack/bitarray.py
A	archipack/bmesh_utils.py
A	archipack/icons/archipack.png
A	archipack/icons/detect.png
A	archipack/icons/door.png
A	archipack/icons/fence.png
A	archipack/icons/floor.png
A	archipack/icons/polygons.png
A	archipack/icons/selection.png
A	archipack/icons/slab.png
A	archipack/icons/stair.png
A	archipack/icons/truss.png
A	archipack/icons/union.png
A	archipack/icons/wall.png
A	archipack/icons/window.png
A	archipack/materialutils.py
A	archipack/panel.py
A	archipack/presets/archipack_door/160x200_dual.png
A	archipack/presets/archipack_door/160x200_dual.py
A	archipack/presets/archipack_door/400x240_garage.png
A	archipack/presets/archipack_door/400x240_garage.py
A	archipack/presets/archipack_door/80x200.png
A	archipack/presets/archipack_door/80x200.py
A	archipack/presets/archipack_fence/glass_panels.png
A	archipack/presets/archipack_fence/glass_panels.py
A	archipack/presets/archipack_fence/inox_glass_concrete.png
A	archipack/presets/archipack_fence/inox_glass_concrete.py
A	archipack/presets/archipack_fence/metal.png
A	archipack/presets/archipack_fence/metal.py
A	archipack/presets/archipack_fence/metal_glass.png
A	archipack/presets/archipack_fence/metal_glass.py
A	archipack/presets/archipack_fence/wood.png
A	archipack/presets/archipack_fence/wood.py
A	archipack/presets/archipack_floor/herringbone_50x10.png
A	archipack/presets/archipack_floor/herringbone_50x10.py
A	archipack/presets/archipack_floor/herringbone_p_50x10.png
A	archipack/presets/archipack_floor/herringbone_p_50x10.py
A	archipack/presets/archipack_floor/parquet_15x3.png
A	archipack/presets/archipack_floor/parquet_15x3.py
A	archipack/presets/archipack_floor/planks_200x20.png
A	archipack/presets/archipack_floor/planks_200x20.py
A	archipack/presets/archipack_floor/tiles_15x15.png
A	archipack/presets/archipack_floor/tiles_15x15.py
A	archipack/presets/archipack_floor/tiles_60x30.png
A	archipack/presets/archipack_floor/tiles_60x30.py
A	archipack/presets/archipack_floor/tiles_hex_10x10.png
A	archipack/presets/archipack_floor/tiles_hex_10x10.py
A	archipack/presets/archipack_floor/tiles_l+ms_30x30_15x15.png
A	archipack/presets/archipack_floor/tiles_l+ms_30x30_15x15.py
A	archipack/presets/archipack_floor/tiles_l+s_30x30_15x15.png
A	archipack/presets/archipack_floor/tiles_l+s_30x30_15x15.py
A	archipack/presets/archipack_stair/i_wood_over_concrete.png
A	archipack/presets/archipack_stair/i_wood_over_concrete.py
A	archipack/presets/archipack_stair/l_wood_over_concrete.png
A	archipack/presets/archipack_stair/l_wood_over_concrete.py
A	archipack/presets/archipack_stair/o_wood_over_concrete.png
A	archipack/presets/archipack_stair/o_wood_over_concrete.py
A	archipack/presets/archipack_stair/u_wood_over_concrete.png
A	archipack/presets/archipack_stair/u_wood_over_concrete.py
A	archipack/presets/archipack_window/120x110_flat_2.png
A	archipack/presets/archipack_window/120x110_flat_2.py
A	archipack/presets/archipack_window/120x110_flat_2_elliptic.png
A	archipack/presets/archipack_window/120x110_flat_2_elliptic.py
A	archipack/presets/archipack_window/120x110_flat_2_oblique.png
A	archipack/presets/archipack_window/120x110_flat_2_oblique.py
A	archipack/presets/archipack_window/120x110_flat_2_round.png
A	archipack/presets/archipack_window/120x110_flat_2_round.py
A	archipack/presets/archipack_window/180x110_flat_3.png
A	archipack/presets/archipack_window/180x110_flat_3.py
A	archipack/presets/archipack_window/180x210_flat_3.png
A	archipack/presets/archipack_window/180x210_flat_3.py
A	archipack/presets/archipack_window/180x210_rail_2.png
A	archipack/presets/archipack_window/180x210_rail_2.py
A	archipack/presets/archipack_window/240x210_rail_3.png
A	archipack/presets/archipack_window/240x210_rail_3.py
A	archipack/presets/archipack_window/80x80_flat_1.png
A	archipack/presets/archipack_window/80x80_flat_1.py
A	archipack/presets/archipack_window/80x80_flat_1_circle.png
A	archipack/presets/archipack_window/80x80_flat_1_circle.py
A	archipack/presets/missing.png
A	archipack/pyqtree.py

===================================================================

diff --git a/archipack/__init__.py b/archipack/__init__.py
new file mode 100644
index 00000000..79ac9879
--- /dev/null
+++ b/archipack/__init__.py
@@ -0,0 +1,646 @@
+# -*- coding:utf-8 -*-
+
+# ##### BEGIN GPL LICENSE BLOCK #####
+#
+#  This program is free software; you can redistribute it and/or
+#  modify it under the terms of the GNU General Public License
+#  as published by the Free Software Foundation; either version 2
+#  of the License, or (at your option) any later version.
+#
+#  This program is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#  GNU General Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License
+#  along with this program; if not, write to the Free Software Foundation,
+#  Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# ##### END GPL LICENSE BLOCK #####
+
+# <pep8 compliant>
+
+# ----------------------------------------------------------
+# Author: Stephen Leger (s-leger)
+#
+# ----------------------------------------------------------
+
+bl_info = {
+    'name': 'Archipack',
+    'description': 'Architectural objects and 2d polygons detection from unordered splines',
+    'author': 's-leger',
+    'license': 'GPL',
+    'deps': 'shapely',
+    'version': (1, 2, 6),
+    'blender': (2, 7, 8),
+    'location': 'View3D > Tools > Create > Archipack',
+    'warning': '',
+    'wiki_url': 'https://github.com/s-leger/archipack/wiki',
+    'tracker_url': 'https://github.com/s-leger/archipack/issues',
+    'link': 'https://github.com/s-leger/archipack',
+    'support': 'COMMUNITY',
+    'category': 'Add Mesh'
+    }
+
+import os
+
+if "bpy" in locals():
+    import importlib as imp
+    imp.reload(archipack_snap)
+    imp.reload(archipack_manipulator)
+    imp.reload(archipack_reference_point)
+    imp.reload(archipack_autoboolean)
+    imp.reload(archipack_door)
+    imp.reload(archipack_window)
+    imp.reload(archipack_stair)
+    imp.reload(archipack_wall)
+    imp.reload(archipack_wall2)
+    imp.reload(archipack_slab)
+    imp.reload(archipack_fence)
+    imp.reload(archipack_truss)
+    imp.reload(archipack_floor)
+    imp.reload(archipack_rendering)
+    try:
+        imp.reload(archipack_polylib)
+        HAS_POLYLIB = True
+    except:
+        HAS_POLYLIB = False
+        pass
+
+    print("archipack: reload ready")
+else:
+    from . import archipack_snap
+    from . import archipack_manipulator
+    from . import archipack_reference_point
+    from . import archipack_autoboolean
+    from . import archipack_door
+    from . import archipack_window
+    from . import archipack_stair
+    from . import archipack_wall
+    from . import archipack_wall2
+    from . import archipack_slab
+    from . import archipack_fence
+    from . import archipack_truss
+    from . import archipack_floor
+    from . import archipack_rendering
+    try:
+        """
+            polylib depends on shapely
+            raise ImportError when not meet
+        """
+        from . import archipack_polylib
+        HAS_POLYLIB = True
+    except:
+        print("archipack: shapely not found, using built in modules only")
+        HAS_POLYLIB = False
+        pass
+
+    print("archipack: ready")
+
+# noinspection PyUnresolvedReferences
+import bpy
+# noinspection PyUnresolvedReferences
+from bpy.types import (
+    Panel, WindowManager, PropertyGroup,
+    AddonPreferences, Menu
+    )
+from bpy.props import (
+    EnumProperty, PointerProperty,
+    StringProperty, BoolProperty,
+    IntProperty, FloatProperty, FloatVectorProperty
+    )
+
+from bpy.utils import previews
+icons_collection = {}
+
+
+# ----------------------------------------------------
+# Addon preferences
+# ----------------------------------------------------
+
+def update_panel(self, context):
+    try:
+        bpy.utils.unregister_class(TOOLS_PT_Archipack_PolyLib)
+        bpy.utils.unregister_class(TOOLS_PT_Archipack_Tools)
+        bpy.utils.unregister_class(TOOLS_PT_Archipack_Create)
+    except:
+        pass
+    prefs = context.user_preferences.addons[__name__].preferences
+    TOOLS_PT_Archipack_PolyLib.bl_category = prefs.tools_category
+    bpy.utils.register_class(TOOLS_PT_Archipack_PolyLib)
+    TOOLS_PT_Archipack_Tools.bl_category = prefs.tools_category
+    bpy.utils.register_class(TOOLS_PT_Archipack_Tools)
+    TOOLS_PT_Archipack_Create.bl_category = prefs.create_category
+    bpy.utils.register_class(TOOLS_PT_Archipack_Create)
+
+
+class Archipack_Pref(AddonPreferences):
+    bl_idname = __name__
+
+    tools_category = StringProperty(
+        name="Tools",
+        description="Choose a name for the category of the Tools panel",
+        default="Tools",
+        update=update_panel
+    )
+    create_category = StringProperty(
+        name="Create",
+        description="Choose a name for the category of the Create panel",
+        default="Create",
+        update=update_panel
+    )
+    create_submenu = BoolProperty(
+        name="Use Sub-menu",
+        description="Put Achipack's object into a sub menu (shift+a)",
+        default=True
+    )
+    max_style_draw_tool = BoolProperty(
+        name="Draw a wall use 3dsmax style",
+        description="Reverse clic / release cycle for Draw a wall",
+        default=True
+    )
+    # Arrow sizes (world units)
+    arrow_size = FloatProperty(
+            name="Arrow",
+            description="Manipulators arrow size (blender units)",
+            default=0.05
+            )
+    # Handle area size (pixels)
+    handle_size = IntProperty(
+            name="Handle",
+            description="Manipulators handle sensitive area size (pixels)",
+            min=2,
+            default=10
+            )
+    # Font sizes and basic colour scheme
+    feedback_size_main = IntProperty(
+            name="Main",
+            description="Main title font size (pixels)",
+            min=2,
+            default=16
+            )
+    feedback_size_title = IntProperty(
+            name="Title",
+            description="Tool name font size (pixels)",
+            min=2,
+            default=14
+            )
+    feedback_size_shortcut = IntProperty(
+            name="Shortcut",
+            description="Shortcuts font size (pixels)",
+            min=2,
+            default=11
+            )
+    feedback_shortcut_area = FloatVectorProperty(
+            name="Background Shortcut",
+            description="Shortcut area background color",
+            subtype='COLOR_GAMMA',
+            default=(0, 0.4, 0.6, 0.2),
+            size=4,
+            min=0, max=1
+            )
+    feedback_title_area = FloatVectorProperty(
+            name="Background Main",
+            description="Title area background color",
+            subtype='COLOR_GAMMA',
+            default=(0, 0.4, 0.6, 0.5),
+            size=4,
+            min=0, max=1
+            )
+    feedback_colour_main = FloatVectorProperty(
+            name="Font Main",
+            description="Title color",
+            subtype='COLOR_GAMMA',
+            default=(0.95, 0.95, 0.95, 1.0),
+            size=4,
+            min=0, max=1
+            )
+    feedback_colour_key = FloatVectorProperty(
+            name="Font Shortcut key",
+            description="KEY label color",
+            subtype='COLOR_GAMMA',
+            default=(0.67, 0.67, 0.67, 1.0),
+            size=4,
+            min=0, max=1
+            )
+    feedback_colour_shortcut = FloatVectorProperty(
+            name="Font Shortcut hint",
+            description="Shortcuts text color",
+            subtype='COLOR_GAMMA',
+            default=(0.51, 0.51, 0.51, 1.0),
+            size=4,
+            min=0, max=1
+            )
+
+    def draw(self, context):
+        layout = self.layout
+        box = layout.box()
+        row = box.row()
+        col = row.column()
+        col.label(text="Tab Category:")
+        col.prop(self, "tools_category")
+        col.prop(self, "create_category")
+        col.prop(self, "create_submenu")
+        col.prop(self, "max_style_draw_tool")
+        box = layout.box()
+        row = box.row()
+        split = row.split(percentage=0.5)
+        col = split.column()
+        col.label(text="Colors:")
+        row = col.row(align=True)
+        row.prop(self, "feedback_title_area")
+        row = col.row(align=True)
+        row.prop(self, "feedback_shortcut_area")
+        row = col.row(align=True)
+        row.prop(self, "feedback_colour_main")
+        row = col.row(align=True)
+        row.prop(self, "feedback_colour_key")
+        row = col.row(align=True)
+        row.prop(self, "feedback_colour_shortcut")
+        col = split.column()
+        col.label(text="Font size:")
+        col.prop(self, "feedback_size_main")
+        col.prop(self, "feedback_size_title")
+        col.prop(self, "feedback_size_shortcut")
+        col.label(text="Manipulators:")
+        col.prop(self, "arrow_size")
+        col.prop(self, "handle_size")
+
+
+# ----------------------------------------------------
+# Archipack panels
+# ----------------------------------------------------
+
+
+class TOOLS_PT_Archipack_PolyLib(Panel):
+    bl_label = "Archipack 2d to 3d"
+    bl_idname = "TOOLS_PT_Archipack_PolyLib"
+    bl_space_type = "VIEW_3D"
+    bl_region_type = "TOOLS"
+    bl_category = "Tools"
+    bl_context = "objectmode"
+    
+    @classmethod
+    def poll(self, context):
+
+        global archipack_polylib
+        return HAS_POLYLIB and ((archipack_polylib.vars_dict['select_polygons'] is not None) or
+                (context.object is not None and context.object.type == 'CURVE'))
+
+    def draw(self, context):
+        global icons_collection
+        icons = icons_collection["main"]
+        layout = self.layout
+        row = layout.row(align=True)
+        box = row.box()
+        row = box.row(align=True)
+        row.operator(
+            "archipack.polylib_detect",
+            icon_value=icons["detect"].icon_id,
+            text='Detect'
+            ).extend = context.window_manager.archipack_polylib.extend
+        row.

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-extensions-cvs mailing list