[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