[Bf-extensions-cvs] [eedce73] master: Update mesh_extra_objects: T48640

meta-androcto noreply at git.blender.org
Mon Jun 13 03:14:02 CEST 2016


Commit: eedce73b26ad84af51b8582a93efe7539b6310ce
Author: meta-androcto
Date:   Mon Jun 13 11:13:28 2016 +1000
Branches: master
https://developer.blender.org/rBAeedce73b26ad84af51b8582a93efe7539b6310ce

Update mesh_extra_objects: T48640

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

A	add_mesh_extra_objects/Wallfactory.py
M	add_mesh_extra_objects/__init__.py
A	add_mesh_extra_objects/add_mesh_beam_builder.py
A	add_mesh_extra_objects/geodesic_domes/__init__.py
A	add_mesh_extra_objects/geodesic_domes/add_shape_geodesic.py
A	add_mesh_extra_objects/geodesic_domes/forms_271.py
A	add_mesh_extra_objects/geodesic_domes/geodesic_classes_271.py
A	add_mesh_extra_objects/geodesic_domes/third_domes_panel_271.py
A	add_mesh_extra_objects/geodesic_domes/vefm_271.py
A	add_mesh_extra_objects/mesh_discombobulator.py

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

diff --git a/add_mesh_extra_objects/Wallfactory.py b/add_mesh_extra_objects/Wallfactory.py
new file mode 100644
index 0000000..8c7fb93
--- /dev/null
+++ b/add_mesh_extra_objects/Wallfactory.py
@@ -0,0 +1,647 @@
+# ***** BEGIN GPL LICENSE BLOCK *****
+#
+# This program is free software; you may 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
+#
+# or go online at: http://www.gnu.org/licenses/ to view license options.
+#
+# ***** END GPL LICENCE BLOCK *****
+
+#
+# This module contains the UI definition, display, and processing (create mesh)
+# functions.
+#
+# The routines to generate the vertices for the wall are found in the "Blocks" module.
+#
+
+
+import bpy
+import mathutils
+from bpy.props import *
+from add_mesh_building_objects.Blocks import *
+#from add_mesh_walls.preset_utils import *
+
+
+#
+class add_mesh_wallb(bpy.types.Operator):
+    """Add a wall mesh"""
+    bl_idname = "mesh.wall_add"
+    bl_label = "Add A Masonry Wall"
+    bl_options = {'REGISTER', 'UNDO'} # removes object, does not reset to "last" modification.
+    bl_description = "adds a block wall"
+
+    # UI items - API for properties - User accessable variables... 
+# not all options are via UI, and some operations just don't work yet.
+
+    # only create object when True
+    # False allows modifying several parameters without creating object
+    ConstructTog = BoolProperty(name="Construct",
+                                description="Generate the object",
+                                default = True)
+
+# need to modify so radial makes a tower (normal); want "flat" setting to make disk (alternate)
+    # make the wall circular - if not sloped it's a flat disc
+    RadialTog = BoolProperty(name="Radial",
+                             description="Make masonry radial",
+                             default = False)
+
+    # curve the wall - if radial creates dome.
+    SlopeTog = BoolProperty(name="Curved",
+                            description="Make masonry sloped, or curved",
+                            default = False)
+
+#need to review defaults and limits for all of these UI objects.
+
+    # wall area/size
+    WallStart = FloatProperty(name="Start",
+                              description="Left side, or start angle",
+                              default=-10.0, min=-100, max=100.0)
+    WallEnd = FloatProperty(name="End",
+                            description="Right side, or end angle",
+                            default=10.0, min=0.0, max=100.0)
+    WallBottom = FloatProperty(name="Bottom",
+                               description="Lower height or radius",
+                               default=0.0, min=-100, max=100)
+    WallTop = FloatProperty(name="Top",
+                            description="Upper height or radius",
+                            default=15.0, min=0.0, max=100.0)
+    EdgeOffset = FloatProperty(name="Edging",
+                               description="Block staggering on wall sides",
+                               default=0.6, min=0.0, max=100.0)
+
+    # block sizing
+    Width = FloatProperty(name="Width",
+                          description="Average width of each block",
+                          default=1.5, min=0.01, max=100.0)
+    WidthVariance = FloatProperty(name="Variance",
+                                  description="Random variance of block width",
+                                  default=0.5, min=0.0, max=100.0)
+    WidthMinimum = FloatProperty(name="Minimum",
+                                 description="Absolute minimum block width",
+                                 default=0.5, min=0.01, max=100.0)
+    Height = FloatProperty(name="Height",
+                           description="Average Height of each block",
+                           default=0.7, min=0.01, max=100.0)
+    HeightVariance = FloatProperty(name="Variance",
+                                   description="Random variance of block Height",
+                                   default=0.3, min=0.0, max=100.0)
+    HeightMinimum = FloatProperty(name="Minimum",
+                                  description="Absolute minimum block Height",
+                                  default=0.25, min=0.01, max=100.0)
+    Depth = FloatProperty(name="Depth",
+                          description="Average Depth of each block",
+                          default=2.0, min=0.01, max=100.0)
+    DepthVariance = FloatProperty(name="Variance",
+                                  description="Random variance of block Depth",
+                                  default=0.1, min=0.0, max=100.0)
+    DepthMinimum = FloatProperty(name="Minimum",
+                                 description="Absolute minimum block Depth",
+                                 default=1.0, min=0.01, max=100.0)
+    MergeBlock = BoolProperty(name="Merge Blocks",
+                              description="Make big blocks (merge closely adjoining blocks)",
+                              default = False)
+
+    # edging for blocks
+    Grout = FloatProperty(name="Thickness",
+                          description="Distance between blocks",
+                          default=0.1, min=-10.0, max=10.0)
+    GroutVariance = FloatProperty(name="Variance",
+                                  description="Random variance of block Grout",
+                                  default=0.03, min=0.0, max=100.0)
+    GroutDepth = FloatProperty(name="Depth",
+                          description="Grout Depth from the face of the blocks",
+                          default=0.1, min=0.0001, max=10.0)
+    GroutDepthVariance = FloatProperty(name="Variance",
+                                  description="Random variance of block Grout Depth",
+                                  default=0.03, min=0.0, max=100.0)
+    GroutEdge = BoolProperty(name="Edging",
+                             description="Grout perimiter",
+                             default = False)
+
+    #properties for openings
+    Opening1Tog = BoolProperty(name="Opening(s)",description="Make windows or doors", default = True)
+    Opening1Width = FloatProperty(name="Width",
+                                  description="The Width of opening 1",
+                                  default=2.5, min=0.01, max=100.0)
+    Opening1Height = FloatProperty(name="Height",
+                                   description="The Height of opening 1",
+                                   default=3.5, min=0.01, max=100.0)
+    Opening1X = FloatProperty(name="Indent",
+                              description="The x position or spacing of opening 1",
+                              default=5.0, min=-100, max=100.0)
+    Opening1Z = FloatProperty(name="Bottom",
+                              description="The z position of opening 1",
+                              default=5.0, min=-100, max=100.0)
+    Opening1Repeat = BoolProperty(name="Repeat",
+                                  description="make multiple openings, with spacing X1",
+                                  default=False)
+    Opening1TopArchTog = BoolProperty(name="Top Arch",
+                                      description="Add an arch to the top of opening 1",
+                                      default=True)
+    Opening1TopArch = FloatProperty(name="Curve",
+                                    description="Height of the arch on the top of the opening",
+                                    default=2.5, min=0.001, max=100.0)
+    Opening1TopArchThickness = FloatProperty(name="Thickness",
+                                             description="Thickness of the arch on the top of the opening",
+                                             default=0.75, min=0.001, max=100.0)
+    Opening1BtmArchTog = BoolProperty(name="Bottom Arch",
+                                      description="Add an arch to the bottom of opening 1",
+                                      default=False)
+    Opening1BtmArch = FloatProperty(name="Curve",
+                                    description="Height of the arch on the bottom of the opening",
+                                    default=1.0, min=0.01, max=100.0)
+    Opening1BtmArchThickness = FloatProperty(name="Thickness",
+                                             description="Thickness of the arch on the bottom of the opening",
+                                             default=0.5, min=0.01, max=100.0)
+    Opening1Bevel = FloatProperty(name="Bevel",
+                                             description="Angle block face",
+                                             default=0.25, min=-10.0, max=10.0)
+
+
+    # openings on top of wall.
+    CrenelTog = BoolProperty(name="Crenels",
+                             description="Make openings along top of wall",
+                             default = False)
+    CrenelXP = FloatProperty(name="Width %",
+                             description="Gap width in wall based % of wall width",
+                             default=0.25, min=0.10, max=1.0)
+    CrenelZP = FloatProperty(name="Height %",
+                             description="Crenel Height as % of wall height",
+                             default=0.10, min=0.10, max=1.0)
+
+
+    # narrow openings in wall.
+#need to prevent overlap with arch openings - though inversion is an interesting effect.
+    SlotTog = BoolProperty(name="Slots",
+                           description="Make narrow openings in wall",
+                           default = False)
+    SlotRpt = BoolProperty(name="Repeat",
+                           description="Repeat slots along wall",
+                           d

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-extensions-cvs mailing list