[Bf-extensions-cvs] [8bb3714e] master: Addon: Mesh Extra Objects: Added soft limiters in Gear and WormGear. Added restore materials if you go back to change parameters.
Spivak Vladimir cwolf3d
noreply at git.blender.org
Fri Sep 20 19:10:49 CEST 2019
Commit: 8bb3714e9570bfcd29bb61179d98e208a7bc1304
Author: Spivak Vladimir (cwolf3d)
Date: Fri Sep 20 20:10:08 2019 +0300
Branches: master
https://developer.blender.org/rBA8bb3714e9570bfcd29bb61179d98e208a7bc1304
Addon: Mesh Extra Objects: Added soft limiters in Gear and WormGear. Added restore materials if you go back to change parameters.
===================================================================
M add_mesh_extra_objects/add_mesh_gears.py
===================================================================
diff --git a/add_mesh_extra_objects/add_mesh_gears.py b/add_mesh_extra_objects/add_mesh_gears.py
index e92857b8..b4f92143 100644
--- a/add_mesh_extra_objects/add_mesh_gears.py
+++ b/add_mesh_extra_objects/add_mesh_gears.py
@@ -586,69 +586,69 @@ class AddGear(Operator):
number_of_teeth: IntProperty(name="Number of Teeth",
description="Number of teeth on the gear",
min=2,
- #max=265,
+ soft_max=1000,
default=12
)
radius: FloatProperty(name="Radius",
description="Radius of the gear, negative for crown gear",
- #min=-100.0,
- #max=100.0,
+ soft_min=-1000.0,
+ soft_max=1000.0,
unit='LENGTH',
default=1.0
)
addendum: FloatProperty(name="Addendum",
description="Addendum, extent of tooth above radius",
- #min=0.0,
- #max=100.0,
+ soft_min=-1000.0,
+ soft_max=1000.0,
unit='LENGTH',
default=0.1
)
dedendum: FloatProperty(name="Dedendum",
description="Dedendum, extent of tooth below radius",
- #min=0.0,
- #max=100.0,
+ soft_min=-1000.0,
+ soft_max=1000.0,
unit='LENGTH',
default=0.1
)
angle: FloatProperty(name="Pressure Angle",
description="Pressure angle, skewness of tooth tip",
- #min=0.0,
- #max=radians(45.0),
+ soft_min=radians(-45.0),
+ soft_max=radians(45.0),
unit='ROTATION',
default=radians(20.0)
)
base: FloatProperty(name="Base",
description="Base, extent of gear below radius",
- #min=0.0,
- #max=100.0,
+ soft_min=-1000.0,
+ soft_max=1000.0,
unit='LENGTH',
default=0.2
)
width: FloatProperty(name="Width",
description="Width, thickness of gear",
- #min=0.0,
- #max=100.0,
+ soft_min=-1000.0,
+ soft_max=1000.0,
unit='LENGTH',
default=0.2
)
skew: FloatProperty(name="Skewness",
description="Skew of teeth",
- #min=radians(-90.0),
- #max=radians(90.0),
+ soft_min=radians(-360.0),
+ soft_max=radians(360.0),
unit='ROTATION',
default=radians(0.0)
)
conangle: FloatProperty(name="Conical angle",
description="Conical angle of gear",
- #min=0.0,
- #max=radians(90.0),
+ soft_min=radians(-360.0),
+ soft_max=radians(360.0),
unit='ROTATION',
default=radians(0.0)
)
crown: FloatProperty(name="Crown",
description="Inward pointing extend of crown teeth",
- #min=0.0,
- #max=100.0,
+ soft_min=-1000.0,
+ soft_max=1000.0,
unit='LENGTH',
default=0.0
)
@@ -682,12 +682,18 @@ class AddGear(Operator):
if 'Gear' in obj.data.keys():
oldmesh = obj.data
oldmeshname = obj.data.name
+ oldmeshmaterials = obj.data.materials
+
mesh, verts_tip, verts_valley = AddGearMesh(self, context)
obj.data = mesh
try:
bpy.ops.object.vertex_group_remove(all=True)
except:
pass
+
+ for material in oldmeshmaterials:
+ obj.data.materials.append(material)
+
bpy.data.meshes.remove(oldmesh)
obj.data.name = oldmeshname
else:
@@ -787,69 +793,69 @@ class AddWormGear(Operator):
name="Number of Teeth",
description="Number of teeth on the gear",
min=1,
- #max=265,
+ soft_max=1000,
default=12
)
number_of_rows: IntProperty(
name="Number of Rows",
description="Number of rows on the worm gear",
min=0,
- #max=265,
+ soft_max=1000,
default=32
)
radius: FloatProperty(
name="Radius",
description="Radius of the gear, negative for crown gear",
- #min=-100.0,
- #max=100.0,
+ soft_min=-1000.0,
+ soft_max=1000.0,
unit='LENGTH',
default=1.0
)
addendum: FloatProperty(
name="Addendum",
description="Addendum, extent of tooth above radius",
- #min=0.01,
- #max=100.0,
+ soft_min=-1000.0,
+ soft_max=1000.0,
unit='LENGTH',
default=0.1
)
dedendum: FloatProperty(
name="Dedendum",
description="Dedendum, extent of tooth below radius",
- #min=0.0,
- #max=100.0,
+ soft_min=-1000.0,
+ soft_max=1000.0,
unit='LENGTH',
default=0.1
)
angle: FloatProperty(
name="Pressure Angle",
description="Pressure angle, skewness of tooth tip",
- #min=0.0,
- #max=radians(45.0),
+ soft_min=radians(-45.0),
+ soft_max=radians(45.0),
default=radians(20.0),
unit='ROTATION'
)
row_height: FloatProperty(
name="Row Height",
description="Height of each Row",
- #min=0.05,
- #max=100.0,
+ soft_min=-1000.0,
+ soft_max=1000.0,
unit='LENGTH',
default=0.2
)
skew: FloatProperty(
name="Skewness per Row",
description="Skew of each row",
- #min=radians(-90.0),
- #max=radians(90.0),
+ soft_min=radians(-360.0),
+ soft_max=radians(360.0),
default=radians(11.25),
unit='ROTATION'
)
crown: FloatProperty(
name="Crown",
description="Inward pointing extend of crown teeth",
- #min=0.0,
- #max=100.0,
+ soft_min=-1000.0,
+ soft_max=1000.0,
unit='LENGTH',
default=0.0
)
@@ -879,12 +885,18 @@ class AddWormGear(Operator):
if 'WormGear' in obj.data.keys():
oldmesh = obj.data
oldmeshname = obj.data.name
+ oldmeshmaterials = obj.data.materials
+
mesh, verts_tip, verts_valley = AddWormGearMesh(self, context)
obj.data = mesh
try:
bpy.ops.object.vertex_group_remove(all=True)
except:
pass
+
+ for material in oldmeshmaterials:
+ obj.data.materials.append(material)
+
bpy.data.meshes.remove(oldmesh)
obj.data.name = oldmeshname
else:
More information about the Bf-extensions-cvs
mailing list