Skip to content

Instantly share code, notes, and snippets.

@zeffii
Created November 4, 2016 08:07
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save zeffii/165b33ba16c7f7790aa3ee8cac9bdd78 to your computer and use it in GitHub Desktop.
Save zeffii/165b33ba16c7f7790aa3ee8cac9bdd78 to your computer and use it in GitHub Desktop.
# B E W A R E
#
# 1) requires a 3dview to be open
import bpy
sce = bpy.context.scene
def get_override():
for window in bpy.context.window_manager.windows:
screen = window.screen
for area in screen.areas:
if area.type == 'VIEW_3D':
override = {'window': window, 'screen': screen, 'area': area}
return override
def my_handler(sce):
sce.objects.active = bpy.data.objects['Alpha_0']
co = (0.0, 0.0, 0.0)
no = (0.0, 0.0, 1.0)
# xstart=24, xend=223, ystart=506, yend=519)
override = get_override()
if override:
bpy.ops.object.mode_set(override, mode='EDIT', toggle=False)
bpy.ops.mesh.bisect('INVOKE_DEFAULT', plane_co=co, plane_no=no, clear_inner=True, clear_outer=True)
bpy.ops.object.mode_set(override, mode='OBJECT', toggle=False)
bpy.ops.object.convert('INVOKE_DEFAULT', target='Curve')
bpy.context.active_object.data.fill_mode = 'FULL'
bpy.context.active_object.data.bevel_depth = 0.03
# sce.update() <-- crashes blender
def register():
bpy.app.handlers.render_pre.append(my_handler)
register()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment