Gizmos add behaviour -- or -- make new Gizmos

Hi all,
I m searching for info and tutorial about gizmos:

I would like to customize some behaviour of our " Transform tool "
Clicking on the Toolbar for " Edit Source" will open the space_toolsystem_common.py , that for how far as i can understand, is only the script that handle the tool selection, am i right ?

When we click and drag the gizmos,
The gizmo will look for modifier too, “Ctrl” and “shift”
for run a specific altered operator/behaviour,


Lets say: i would like to scale Y Z when using Alt on X.
Basically the same behaviour we have on the normal scale tool
clicking on the little square between the arrows.

Someone have any info about this?


I tryed the blender template gizmo geometry … simple…
but i am unable to uderstand how make my own gizmo or
how they should properly build.

I have created a tool that use some location in space,
so for showing these location i am moving around some curves
i would like to know if i can make a gizmo with a boxes
to show the user where is the point A and B.

Schermata 2021-01-29 alle 11.18.52

So to conclude,
I would really love any kind of materials about making gizmos,
please if you have any , post it :slight_smile:

1 Like

For showing location using object :
I found a very useful feature of blender in a skinning tutorial,
In the same way you can “draw bones in front of the mesh”,
we can draw any object in front of all, there is an option in Object- viewport display - show in front
We can also use python to toggle it .

if bpy.context.object.show_in_front == True :
                    bpy.context.object.show_in_front = False
                else:
                     bpy.context.object.show_in_front = True

Show in front