poikilos
2 years ago
1 changed files with 80 additions and 0 deletions
@ -0,0 +1,80 @@ |
|||
import bpy |
|||
|
|||
# in Namaman, the chunk for Darkhorn is near 599000, 410000 to around 685000, 496000 |
|||
# (chunk_col = 6, chunk_row = 4, chunk_size = 100000 |
|||
chunk_size = 100000 |
|||
epsilon = .1 |
|||
for chunk_col in range(10): |
|||
for chunk_row in range(10): |
|||
chunk_left = chunk_col * chunk_size - epsilon |
|||
chunk_right = (chunk_col+1) * chunk_size + epsilon |
|||
# Lower number is bottom since cartesian: |
|||
chunk_bottom = chunk_row * chunk_size - epsilon |
|||
chunk_top = (chunk_row+1) * chunk_size + epsilon |
|||
bpy.ops.wm.tool_set_by_id(name="builtin.scale") |
|||
#clear scene, make mesh |
|||
#bpy.ops.object.mode_set(mode = 'OBJECT') |
|||
#bpy.ops.object.select_all(action='SELECT') |
|||
#bpy.ops.object.delete(use_global=False) |
|||
#bpy.ops.mesh.primitive_cube_add(size=2, enter_editmode=False, align='WORLD', location=(0, 0, 0), rotation=(1.5708, 1.5708, 0)) |
|||
#obj = bpy.data.objects["Cube"] |
|||
obj = bpy.context.object |
|||
|
|||
|
|||
#select vertex |
|||
obj = bpy.context.active_object |
|||
bpy.ops.object.mode_set(mode = 'EDIT') |
|||
bpy.ops.mesh.select_mode(type="VERT") |
|||
#bpy.ops.mesh.select_mode(type="EDGE") |
|||
# bpy.ops.mesh.select_mode(type="FACE") |
|||
bpy.ops.mesh.select_all(action = 'DESELECT') |
|||
bpy.ops.object.mode_set(mode = 'OBJECT') |
|||
# for i in range(len(bpy.context.object.data.vertices)): |
|||
for i in range(len(obj.data.vertices)): |
|||
# dir(obj.data.vertices[i]) |
|||
obj.data.vertices[i].select = False |
|||
#obj.data.edges[7].select = True |
|||
#obj.data.polygons[2].select = True |
|||
v = obj.data.vertices[i] |
|||
if v.co.x < chunk_left: |
|||
continue |
|||
if v.co.x > chunk_right: |
|||
continue |
|||
if v.co.y < chunk_bottom: |
|||
continue |
|||
if v.co.y > chunk_top: |
|||
continue |
|||
# v.select_set(False) |
|||
obj.data.vertices[i].select = True |
|||
|
|||
bpy.ops.object.mode_set(mode = 'EDIT') |
|||
bpy.ops.mesh.separate(type='SELECTED') |
|||
|
|||
'''makes a dumb square every time for some reason |
|||
import bmesh # for selecting in edit mode |
|||
# https://blender.stackexchange.com/a/188323 |
|||
context = bpy.context |
|||
|
|||
bpy.ops.mesh.primitive_plane_add( |
|||
enter_editmode=True) |
|||
ob = context.object |
|||
me = ob.data |
|||
bm = bmesh.from_edit_mesh(me) |
|||
|
|||
for i, v in enumerate(bm.verts): |
|||
v.select_set(False) |
|||
if v.co.x < chunk_left: |
|||
continue |
|||
if v.co.x > chunk_right: |
|||
continue |
|||
if v.co.y < chunk_bottom: |
|||
continue |
|||
if v.co.y > chunk_top: |
|||
continue |
|||
v.select_set(True) |
|||
|
|||
bm.select_mode |= {'VERT'} |
|||
bm.select_flush_mode() |
|||
|
|||
bmesh.update_edit_mesh(me) |
|||
''' |
Loading…
Reference in new issue