[Bf-extensions-cvs] [0aa23a4d] master: object_fracture_crack: remove duplicate addon: T66585
meta-androcto
noreply at git.blender.org
Tue Jul 9 01:32:49 CEST 2019
Commit: 0aa23a4d6177bed4c12392c81d0b767a8b35fe61
Author: meta-androcto
Date: Tue Jul 9 09:32:34 2019 +1000
Branches: master
https://developer.blender.org/rBAC0aa23a4d6177bed4c12392c81d0b767a8b35fe61
object_fracture_crack: remove duplicate addon: T66585
===================================================================
D object_fracture_crack/__init__.py
D object_fracture_crack/crack_it.py
D object_fracture_crack/materials/materials1.blend
D object_fracture_crack/operator.py
===================================================================
diff --git a/object_fracture_crack/__init__.py b/object_fracture_crack/__init__.py
deleted file mode 100644
index 3e3ec838..00000000
--- a/object_fracture_crack/__init__.py
+++ /dev/null
@@ -1,148 +0,0 @@
-# ##### 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 Crack It",
- "author": "Nobuyuki Hirakata",
- "version": (0, 1, 2),
- "blender": (2, 78, 5),
- "location": "View3D > Toolshelf > Create Tab",
- "description": "Displaced Cell Fracture Addon",
- "warning": "Make sure to enable 'Object: Cell Fracture' Addon",
- "wiki_url": "https://wiki.blender.org/index.php/Extensions:2.6/"
- "Py/Scripts/Object/CrackIt",
- "category": "Object"
-}
-
-if 'bpy' in locals():
- import importlib
- importlib.reload(operator)
-
-else:
- from . import operator
-
-import bpy
-from bpy.types import PropertyGroup
-from bpy.props import (
- BoolProperty,
- EnumProperty,
- FloatProperty,
- IntProperty,
- PointerProperty,
- )
-import os
-
-
-class CrackItProperties(PropertyGroup):
- # Input on toolshelf before execution
- # In Panel subclass, In bpy.types.Operator subclass,
- # reference them by context.scene.crackit
-
- fracture_childverts: BoolProperty(
- name="From Child Verts",
- description="Use child object's vertices and position for origin of crack",
- default=False
- )
- fracture_scalex: FloatProperty(
- name="Scale X",
- description="Scale X",
- default=1.00,
- min=0.00,
- max=1.00
- )
- fracture_scaley: FloatProperty(
- name="Scale Y",
- description="Scale Y",
- default=1.00,
- min=0.00,
- max=1.00
- )
- fracture_scalez: FloatProperty(
- name="Scale Z",
- description="Scale Z",
- default=1.00,
- min=0.00,
- max=1.00
- )
- fracture_div: IntProperty(
- name="Max Crack",
- description="Max Crack",
- default=100,
- min=0,
- max=10000
- )
- fracture_margin: FloatProperty(
- name="Margin Size",
- description="Margin Size",
- default=0.001,
- min=0.000,
- max=1.000
- )
- extrude_offset: FloatProperty(
- name="Offset",
- description="Extrude Offset",
- default=0.10,
- min=0.00,
- max=2.00
- )
- extrude_random: FloatProperty(
- name="Random",
- description="Extrude Random",
- default=0.30,
- min=-1.00,
- max=1.00
- )
- # Path of the addon
- material_addonpath = os.path.dirname(__file__)
- # Selection of material preset
- # Note: you can choose the original name in the library blend
- # or the prop name
- material_preset: EnumProperty(
- name="Preset",
- description="Material Preset",
- items=[
- ('crackit_organic_mud', "Organic Mud", "Mud material"),
- ('crackit_mud1', "Mud", "Mud material"),
- ('crackit_tree1_moss1', "Tree Moss", "Tree Material"),
- ('crackit_tree2_dry1', "Tree Dry", "Tree Material"),
- ('crackit_tree3_red1', "Tree Red", "Tree Material"),
- ('crackit_rock1', "Rock", "Rock Material")
- ]
- )
- material_lib_name: BoolProperty(
- name="Library Name",
- description="Use the original Material name from the .blend library\n"
- "instead of the one defined in the Preset",
- default=True
- )
-
-
-def register():
- bpy.utils.register_module(__name__)
- bpy.types.Scene.crackit = PointerProperty(
- type=CrackItProperties
- )
-
-
-def unregister():
- del bpy.types.Scene.crackit
- bpy.utils.unregister_module(__name__)
-
-
-if __name__ == "__main__":
- register()
diff --git a/object_fracture_crack/crack_it.py b/object_fracture_crack/crack_it.py
deleted file mode 100644
index 68857908..00000000
--- a/object_fracture_crack/crack_it.py
+++ /dev/null
@@ -1,255 +0,0 @@
-# gpl: author Nobuyuki Hirakata
-
-import bpy
-
-import bmesh
-from random import (
- gauss,
- seed,
- )
-from math import radians
-from mathutils import Euler
-
-
-# Allow changing the original material names from the .blend file
-# by replacing them with the UI Names from the EnumProperty
-def get_ui_mat_name(mat_name):
- mat_ui_name = "CrackIt Material"
- try:
- # access the Scene type directly to get the name from the enum
- mat_items = bpy.types.Scene.crackit[1]["type"].bl_rna.material_preset[1]["items"]
- for mat_id, mat_list in enumerate(mat_items):
- if mat_name in mat_list:
- mat_ui_name = mat_items[mat_id][1]
- break
- del mat_items
- except Exception as e:
- error_handlers(
- False, "get_ui_mat_name", e,
- "Retrieving the EnumProperty key UI Name could not be completed", True
- )
- pass
-
- return mat_ui_name
-
-
-def error_handlers(self, op_name, error, reports="ERROR", func=False):
- if self and reports:
- self.report({'WARNING'}, reports + " (See Console for more info)")
-
- is_func = "Function" if func else "Operator"
- print("\n[Cell Fracture Crack It]\n{}: {}\nError: "
- "{}\nReport: {}\n".format(is_func, op_name, error, reports))
-
-
-# -------------------- Crack -------------------
-# Cell fracture and post-process:
-def makeFracture(child_verts=False, division=100, noise=0.00,
- scaleX=1.00, scaleY=1.00, scaleZ=1.00, recursion=0, margin=0.001):
-
- # Get active object name and active layer
- active_name = bpy.context.view_layer.objects.active.name
- active_layer = bpy.context.scene.active_layer
-
- # source method of whether use child verts
- if child_verts is True:
- crack_source = 'VERT_CHILD'
- else:
- crack_source = 'PARTICLE_OWN'
-
- bpy.ops.object.add_fracture_cell_objects(
- source={crack_source}, source_limit=division, source_noise=noise,
- cell_scale=(scaleX, scaleY, scaleZ), recursion=recursion,
- recursion_source_limit=8, recursion_clamp=250, recursion_chance=0.25,
- recursion_chance_select='SIZE_MIN', use_smooth_faces=False,
- use_sharp_edges=False, use_sharp_edges_apply=True, use_data_match=True,
- use_island_split=True, margin=margin, material_index=0,
- use_interior_vgroup=False, mass_mode='VOLUME', mass=1, use_recenter=True,
- use_remove_original=True, use_layer_index=0, use_layer_next=False,
- group_name="", use_debug_points=False, use_debug_redraw=True, use_debug_bool=False
- )
-
- _makeJoin(active_name, active_layer)
-
-
-# Join fractures into an object
-def _makeJoin(active_name, active_layer):
- # Get object by name
- bpy.ops.object.select_all(action='DESELECT')
- bpy.ops.object.select_pattern(pattern=active_name + '_cell*')
- fractures = bpy.context.selected_objects
-
- if fractures:
- # Execute join
- bpy.context.view_layer.objects.active = fractures[0]
- fractures[0].select_set(True)
- bpy.ops.object.join()
- else:
- error_handlers(
- False, "_makeJoin", "if fractures condition has not passed",
- "Warning: No objects could be joined", True
- )
-
- # Change name
- bpy.context.view_layer.objects.active.name = active_name + '_crack'
-
- # Change origin
- bpy.ops.object.origin_set(type='GEOMETRY_ORIGIN')
-
-
-# Add modifier and setting
-def addModifiers():
- bpy.ops.object.modifier_add(type='DECIMATE')
- decimate = bpy.context.object.modifiers[-1]
- decimate.name = 'DECIMATE_crackit'
- decimate.ratio = 0.4
-
- bpy.ops.object.modifier_add(type='SUBSURF')
- subsurf = bpy.context.object.modifiers[-1]
- subsurf.name = 'SUBSURF_crackit'
-
- bpy.ops.object.modifier_add(type='SMOOTH')
- smooth = bpy.context.object.modifiers[-1]
- smooth.name = 'SMOOTH_crackit'
-
-
-# -------------- multi extrude --------------------
-# var1=random offset, var2=random rotation, var3=random scale
-def multiExtrude(off=0.1, rotx=0, roty=0, rotz=0, sca=1.0,
- var1=0.01, var2=0.3, var3=0.3, num=1, ran=0):
-
- obj = bpy.context.object
- bpy.context.tool_settings.mesh_select_mode = [False, False, True]
-
- # bmesh operations
- bpy.ops.object.mode_set()
- bm = bmesh.new()
- bm.from_mesh(obj.data)
- sel = [f for f in bm.faces if f.select]
-
- # faces loop
- for i, of in enumerate(sel):
- rot = _vrot(r=i, ran=ran, rotx=rotx, var2=var2, roty=roty, rotz=rotz)
- off = _vloc(r=i, ran=ran, off=off, var1=var1)
- of.normal_update()
-
- # extrusion loop
- for r in range(num):
- nf = of.copy()
- nf.normal_update()
- no = nf.normal.copy()
- ce = nf.calc_center_bounds()
- s = _vsca(r=i + r, ran=ran, var3=var3, sca=sca)
-
- for v in nf.verts:
- v.co -= ce
- v
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-extensions-cvs
mailing list