[Bf-extensions-cvs] [fffaf5d2] master: object_fracture_cell: return to release: T61901 T63750 f7c91d3382ea
meta-androcto
noreply at git.blender.org
Mon Jul 1 11:30:18 CEST 2019
Commit: fffaf5d2759d38d4166f608eab8871fcd59a7e11
Author: meta-androcto
Date: Mon Jul 1 19:29:56 2019 +1000
Branches: master
https://developer.blender.org/rBAfffaf5d2759d38d4166f608eab8871fcd59a7e11
object_fracture_cell: return to release: T61901 T63750 f7c91d3382ea
===================================================================
A object_fracture_cell/__init__.py
A object_fracture_cell/operator.py
A object_fracture_cell/process/cell_calc.py
A object_fracture_cell/process/cell_functions.py
A object_fracture_cell/process/cell_main.py
A object_fracture_cell/process/crack_functions.py
A object_fracture_cell/process/material_functions.py
A object_fracture_cell/process/materials/materials1.blend
A object_fracture_cell/utilities.py
===================================================================
diff --git a/object_fracture_cell/__init__.py b/object_fracture_cell/__init__.py
new file mode 100644
index 00000000..d7adc80f
--- /dev/null
+++ b/object_fracture_cell/__init__.py
@@ -0,0 +1,420 @@
+# ##### 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 #####
+
+bl_info = {
+ "name": "Cell Fracture",
+ "author": "ideasman42, phymec, Sergey Sharybin, Nobuyuki Hirakata",
+ "version": (1, 0, 1),
+ "blender": (2, 80, 0),
+ "location": "View3D > Sidebar > Transform tab",
+ "description": "Fractured Object, or Cracked Surface",
+ "warning": "Work in Progress",
+ "wiki_url": "http://wiki.blender.org/index.php/Extensions:2.6/Py/"
+ "Scripts/Object/CellFracture",
+ "category": "Object"}
+
+
+if "bpy" in locals():
+ import importlib
+ importlib.reload(operator)
+
+else:
+ from . import operator
+
+import bpy
+from bpy.props import (
+ StringProperty,
+ BoolProperty,
+ IntProperty,
+ FloatProperty,
+ FloatVectorProperty,
+ EnumProperty,
+ BoolVectorProperty,
+ PointerProperty,
+ )
+
+from bpy.types import (
+ Panel,
+ PropertyGroup,
+ )
+
+
+class FRACTURE_PT_Menu(Panel):
+ bl_idname = 'FRACTURE_PT_Menu'
+ bl_label = "Fracture Cell"
+ bl_space_type = "VIEW_3D"
+ bl_region_type = "UI"
+ bl_category = "Transform"
+ bl_context = 'objectmode'
+ bl_options = {"DEFAULT_CLOSED"}
+
+ def draw(self, context):
+ # Show pop-upped menu when the button is hit.
+ layout = self.layout
+ #layout.label(text="Cell Fracture:")
+ layout.operator(operator.FRACTURE_OT_Cell.bl_idname,
+ text="1. Cell Fracture")
+ layout.operator(operator.FRACTURE_OT_Crack.bl_idname,
+ text="2. Cell to Crack")
+
+ material_props = context.window_manager.fracture_material_props
+ layout.separator()
+ box = layout.box()
+ col = box.column()
+ row = col.row(align=True)
+ row.label(text="Material Preset:")
+ '''
+ row_sub = row.row()
+ row_sub.prop(material_props, "material_lib_name", text="",
+ toggle=True, icon="LONGDISPLAY")
+ '''
+ row = box.row()
+ row.prop(material_props, "material_preset", text="")
+
+ row = box.row()
+ row.operator(operator.FRACTURE_OT_Material.bl_idname, icon="MATERIAL_DATA",
+ text="Append Material")
+
+
+class FractureCellProperties(PropertyGroup):
+ # -------------------------------------------------------------------------
+ # Source Options
+ source_vert_own: IntProperty(
+ name="Own Verts",
+ description="Use own vertices",
+ min=0, max=2000,
+ default=100,
+ )
+ source_vert_child: IntProperty(
+ name="Child Verts",
+ description="Use child object vertices",
+ min=0, max=2000,
+ default=0,
+ )
+ source_particle_own: IntProperty(
+ name="Own Particles",
+ description="All particle systems of the source object",
+ min=0, max=2000,
+ default=0,
+ )
+ source_particle_child: IntProperty(
+ name="Child Particles",
+ description="All particle systems of the child objects",
+ min=0, max=2000,
+ default=0,
+ )
+ source_pencil: IntProperty(
+ name="Annotation Pencil",
+ description="Annotation Grease Pencil",
+ min=0, max=2000,
+ default=0,
+ )
+ source_random: IntProperty(
+ name="Random",
+ description="Random seed position",
+ min=0, max=2000,
+ default=0,
+ )
+ '''
+ source_limit: IntProperty(
+ name="Source Limit",
+ description="Limit the number of input points, 0 for unlimited",
+ min=0, max=5000,
+ default=100,
+ )
+ '''
+ # -------------------------------------------------------------------------
+ # Transform
+ source_noise: FloatProperty(
+ name="Noise",
+ description="Randomize point distribution",
+ min=0.0, max=1.0,
+ default=0.0,
+ )
+ margin: FloatProperty(
+ name="Margin",
+ description="Gaps for the fracture (gives more stable physics)",
+ min=0.0, max=1.0,
+ default=0.001,
+ )
+ cell_scale: FloatVectorProperty(
+ name="Scale",
+ description="Scale Cell Shape",
+ size=3,
+ min=0.0, max=1.0,
+ default=(1.0, 1.0, 1.0),
+ )
+ pre_simplify : FloatProperty(
+ name="Simplify Base Mesh",
+ description="Simplify base mesh before making cell. Lower face size, faster calculation",
+ default=0.00,
+ min=0.00,
+ max=1.00
+ )
+ use_recenter: BoolProperty(
+ name="Recenter",
+ description="Recalculate the center points after splitting",
+ default=True,
+ )
+ use_island_split: BoolProperty(
+ name="Split Islands",
+ description="Split disconnected meshes",
+ default=True,
+ )
+ # -------------------------------------------------------------------------
+ # Recursion
+ recursion: IntProperty(
+ name="Recursion",
+ description="Break shards recursively",
+ min=0, max=2000,
+ default=0,
+ )
+ recursion_source_limit: IntProperty(
+ name="Fracture Each",
+ description="Limit the number of input points, 0 for unlimited (applies to recursion only)",
+ min=2, max=2000, # Oviously, dividing in more than two objects is needed, to avoid no fracture object.
+ default=8,
+ )
+ recursion_clamp: IntProperty(
+ name="Max Fracture",
+ description="Finish recursion when this number of objects is reached (prevents recursing for extended periods of time), zero disables",
+ min=0, max=10000,
+ default=250,
+ )
+ recursion_chance: FloatProperty(
+ name="Recursion Chance",
+ description="Likelihood of recursion",
+ min=0.0, max=1.0,
+ default=1.00,
+ )
+ recursion_chance_select: EnumProperty(
+ name="Target",
+ items=(('RANDOM', "Random", ""),
+ ('SIZE_MIN', "Small", "Recursively subdivide smaller objects"),
+ ('SIZE_MAX', "Big", "Recursively subdivide bigger objects"),
+ ('CURSOR_MIN', "Cursor Close", "Recursively subdivide objects closer to the cursor"),
+ ('CURSOR_MAX', "Cursor Far", "Recursively subdivide objects farther from the cursor"),
+ ),
+ default='SIZE_MIN',
+ )
+ # -------------------------------------------------------------------------
+ # Interior Meshes Options
+ use_smooth_faces: BoolProperty(
+ name="Smooth Faces",
+ description="Smooth Faces of inner side",
+ default=False,
+ )
+ use_sharp_edges: BoolProperty(
+ name="Mark Sharp Edges",
+ description="Set sharp edges when disabled",
+ default=False,
+ )
+ use_sharp_edges_apply: BoolProperty(
+ name="Edge Split Modifier",
+ description="Add edge split modofier for sharp edges",
+ default=False,
+ )
+ use_data_match: BoolProperty(
+ name="Copy Original Data",
+ description="Match original mesh materials and data layers",
+ default=True,
+ )
+ material_index: IntProperty(
+ name="Interior Material Slot",
+ description="Material index for interior faces",
+ default=0,
+ )
+ use_interior_vgroup: BoolProperty(
+ name="Vertex Group",
+ description="Create a vertex group for interior verts",
+ default=False,
+ )
+ # -------------------------------------------------------------------------
+ # Scene Options
+ use_collection: BoolProperty(
+ name="Use Collection",
+ description="Use collection to organize fracture objects",
+ default=True,
+ )
+ new_collection: BoolProperty(
+ name="New Collection",
+ description="Make new collection for fracture objects",
+ default=True,
+ )
+ collection_name: StringProperty(
+ name="Name",
+ description="Collection name.",
+ default="Fracture",
+ )
+ original_hide: BoolProperty(
+ name="Hide Original",
+ description="Hide original object after cell fracture.",
+ default=False,
+ )
+ cell_relocate : BoolProperty(
+ name="Move Beside Original",
+ description="Move cells beside the original object.",
+ default=False,
+ )
+ # -------------------------------------------------------------------------
+ # Custom Property Options
+ use_mass: BoolProperty(
+ name="Mass",
+ d
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-extensions-cvs
mailing list