[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