This is an experimental copy for testing Poikilos' issue mirroring system. Note that Gitea's migration tool can import issues, but the "Issues" checkbox is disabled when "This repository will be a mirror" is enabled (it is for this repo).
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

80 lines
2.6 KiB

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)
'''