fix major xall bug and bump version

This commit is contained in:
Dealga McArdle 2017-02-17 09:17:07 +01:00
parent dd5e311b73
commit ff8ef5cb12
2 changed files with 21 additions and 26 deletions

View File

@ -108,37 +108,30 @@ def get_intersection_dictionary(bm, edge_indices):
return d
def update_mesh(obj, d):
def update_mesh(bm, d):
''' Make new geometry (delete old first) '''
bpy.ops.mesh.delete(type='EDGE')
bpy.ops.object.editmode_toggle()
oe = obj.data.edges
ov = obj.data.vertices
vert_count = len(ov)
edge_count = len(oe)
oe = bm.edges
ov = bm.verts
new_verts = []
collect = new_verts.extend
for old_edge, point_list in d.items():
num_points = len(point_list)
num_edges_to_add = num_points - 1
num_edges_to_add = len(point_list)-1
for i in range(num_edges_to_add):
oe.add(1)
ov.add(2)
a = ov.new(point_list[i])
b = ov.new(point_list[i+1])
oe.new((a, b))
bm.normal_update()
collect([a, b])
ov[vert_count].co = point_list[i]
ov[vert_count + 1].co = point_list[i + 1]
bmesh.ops.delete(bm, geom=[edge for edge in bm.edges if edge.select], context=2) # 2 = edges
oe[edge_count].vertices = [vert_count, vert_count + 1]
vert_count = len(ov)
edge_count = len(oe)
#bpy.ops.mesh.remove_doubles(
# threshold=cm.CAD_prefs.VTX_DOUBLES_THRSHLD,
# use_unselected=False)
# set edit mode
bpy.ops.object.editmode_toggle()
bpy.ops.mesh.remove_doubles(
threshold=cm.CAD_prefs.VTX_DOUBLES_THRSHLD,
use_unselected=False)
bmesh.ops.remove_doubles(bm, verts=new_verts, dist=cm.CAD_prefs.VTX_DOUBLES_THRSHLD)
def unselect_nonintersecting(bm, d_edges, edge_indices):
@ -174,7 +167,9 @@ class TCIntersectAllEdges(bpy.types.Operator):
d = get_intersection_dictionary(bm, edge_indices)
unselect_nonintersecting(bm, d.keys(), edge_indices)
update_mesh(obj, d)
update_mesh(bm, d)
bmesh.update_edit_mesh(obj.data)
else:
print('must be in edit mode')

View File

@ -22,13 +22,13 @@
bl_info = {
"name": "tinyCAD Mesh tools",
"author": "zeffii (aka Dealga McArdle)",
"version": (1, 3, 0),
"version": (1, 3, 1),
"blender": (2, 7, 7),
"category": "Mesh",
"location": "View3D > EditMode > (w) Specials",
"wiki_url": "http://zeffii.github.io/mesh_tiny_cad/",
"tracker_url": "https://github.com/zeffii/mesh_tiny_cad/issues"
}
}
if "bpy" in locals():