Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'release/scripts/bpymodules/BPyAddMesh.py')
-rw-r--r--release/scripts/bpymodules/BPyAddMesh.py27
1 files changed, 17 insertions, 10 deletions
diff --git a/release/scripts/bpymodules/BPyAddMesh.py b/release/scripts/bpymodules/BPyAddMesh.py
index 6ffb394320a..901e68866cc 100644
--- a/release/scripts/bpymodules/BPyAddMesh.py
+++ b/release/scripts/bpymodules/BPyAddMesh.py
@@ -16,13 +16,17 @@ def add_mesh_simple(name, verts, edges, faces):
scn = bpy.data.scenes.active
if scn.lib: return
ob_act = scn.objects.active
-
+
+ is_editmode = EditMode()
+
cursor = GetCursorPos()
- try: quat = Blender.Mathutils.Quaternion(GetViewQuat())
- except: quat = None
+ quat = None
+ if is_editmode or Blender.Get('add_view_align'): # Aligning seems odd for editmode, but blender does it, oh well
+ try: quat = Blender.Mathutils.Quaternion(GetViewQuat())
+ except: pass
# Exist editmode for non mesh types
- if ob_act and ob_act.type != 'Mesh' and EditMode():
+ if ob_act and ob_act.type != 'Mesh' and is_editmode:
EditMode(0)
# We are in mesh editmode
@@ -64,10 +68,7 @@ def add_mesh_simple(name, verts, edges, faces):
else:
# Mesh with no data, unlikely
me.edges.extend(edges)
- me.faces.extend(faces)
-
- EditMode(1)
-
+ me.faces.extend(faces)
else:
# Object mode add new
@@ -90,8 +91,14 @@ def add_mesh_simple(name, verts, edges, faces):
ob_act.setMatrix(mat)
ob_act.loc = cursor
-
+
+ me.calcNormals()
+
+ if is_editmode or Blender.Get('add_editmode'):
EditMode(1)
+
+
+
def write_mesh_script(filepath, me):
@@ -106,7 +113,7 @@ def write_mesh_script(filepath, me):
file.write('#!BPY\n')
file.write('"""\n')
file.write('Name: \'%s\'\n' % name)
- file.write('Blender: 243\n')
+ file.write('Blender: 245\n')
file.write('Group: \'AddMesh\'\n')
file.write('"""\n\n')
file.write('import BPyAddMesh\n')