[Productivity] Blender-UI

Skill name: Blender-UI

User story:

As a 3d modeler I want this Skill to have a mode so I can run blender operators (The GUIs buttons) so that I can quickly create and manipulate objects without having to remember where menus are.

What third party services, data sets or platforms will the Skill interact with?
The Blender Python API. https://docs.blender.org/api/blender2.8/

Are there similar Mycroft Skills already?

No simlar skill from what I have seen so far.

What will the user Speak to trigger the Skill?

“Help me use blender”|“Help me 3d model”
“Create a cube”
“Move the cube up 3 inchs”
“Resize the cube to be 3 inchs longer”
“What can I do with this cube?”
“Stop helping me”

What phrases will Mycroft Speak?
“Let me know what you want me to do”
*With no blender instance
“There is no blender instance up, would you like me to open it up for you?”
“You can resize, change texture, move or delete this cube, would you like to know more?”

What Skill Settings will this Skill need to store?

None I would think

Other comments?

I think there might need to an accomponing Blender plugin to proccess mycroft message bus requests (or whatever method is used)

1 Like

Cool idea!

The blender python API should make it pretty straightforward to integrate some simple things you mentioned like creating a cube.

For things like textures I could see it being possible, but would definitely be more complicated as would trying to move things around (though both seem like they could be done after a short inspection of the API).

We use Blender quite a bit and could see a skill like this being pretty useful. If we have time to knock out a proof of concept I’ll make sure to post a link to try it out in this thread.


Hi, @FruityWelsh. Did you ever make any progress with this? If so, how was your experience with it? Was it useful?

So I managed to send a message (sending a json message after connecting to Mycroft’s websocket) from inside of blenders python area, but I’m not sure how to make a loop that doesn’t interfere with the main process.

(I’ve tried some basic threading with no luck) I’ll have to look into some more :slight_smile:

I guess I should add, I think we’ll need a blender addon as well to actually connect the two, because by default blender does not accept commands from outside the program, hence the work on trying to get messages sent from the blender instance, after that the goal will be to get blender to accept messages from outside using that same websocket type connection.

Then the mycroft skill just has to process the voice cmds and turn them into these blender commands.

At least this is what I am thinking.