Creating "sharp" chamfer in blender fast

This is pretty common way of chamfering hard edges in CAD modelling different product casing. I was wondering is there an addon, script or blender function out there that i don't know that can automatically make sharp corner chamfering like that?

1. usual chamfering with bevel in blender
2. chamfering with sharp corners that i want to do automatically

How this particular type of chamfering is called? I struggle to find info on it without the name. Maybe there reason is it's not that common after all...

This is a four main way it can be modelled by hand.

For Cube like shapes through inset with equal thicnkess\depth

For most non symmetrical shapes with 3 edges - with a help from Tiny Cad. addon: tinyCAD Mesh tools. Included in blender by default.

The longest way for any possible shape with boolean. addon: booltool. Included in blender

When modelling for close-ups Ngons \ chamfer planes created through this process needs to be flat, so just beveling\chamfering in several stages won't do.

DISCLAIMER: If you want faces, created by chamfer to be flat, this won't work for you.

As far as I know, there isn't any way integrated into Blender to do this, but you can do it really simply yourself.

If you have three edges coming together, select two of them and do a regular, one segment bevel (Ctrl-B) and remember the offset value (0.2 in my case). Then, select the third edge and do the same bevel, with the same offset to it. If you want, you can get rid of the excess edge with Delete > Edge dissolve.

A gif of this: Imgur

The chamfer on the cube was done in 2 steps and the one on the pyramid was done in 3 steps (without dissolving excess edges).

• But it needs to be flat surface to not cause any problem in future or when seeing it in close-ups. When, there is absolutely no need to see this place up close, sure this can work. But dissolving excess edges won't make ngon into a flat surface. When doing it this way, you need a third step of extending edge from the first chamfer operation to the plane created through the second chamfer operation. This mean boolean modifiers or tinycad addon function "extend edge to face". I think i'll update the question on flat surface matter. Aug 10 '17 at 10:09
• I have to admit that checking if the surface is flat didn't even occur to me. And, yes, you are right about this. I will try if there's an easy way to do it with flat faces. Aug 10 '17 at 11:30

Bmesh Script.

...decided on extrude, dissolving edges and moving old corners. Currently not producing coplanar ngons, will need to get my head around it later.

Select default cube, and in edit mode, run script.

import bpy
import bmesh
from mathutils import Vector

context = bpy.context

obj = context.edit_object
me = obj.data
bm = bmesh.from_edit_mesh(me)

verts = [v for v in bm.verts]
faces = [f for f in bm.faces]
edges = [e for e in bm.edges]

# create new insets (could set return val give list of created faces]
[bmesh.ops.inset_region(bm, faces=[f], thickness=0.2) for f in faces]

verts = [v for e in edges for v in e.verts]
# dissolve original edges.
bmesh.ops.dissolve_edges(bm, edges=edges)

# move the corners

for v in verts: