Ephestos – Using and Coding Blender from inside Pharo

Kilon announced Ephetos: a bridge to Blender. Here is its announce.

Its far from production ready but I am too excited to keep to myself. I present to you Ephestos. 

Ephestos is a socket bridge that communicates with Blender the most popular and most powerful open source 3d application. 
The goal is to expose Blender coders to the power of Pharo and Pharo to the power of Blender. As you can imagine the potential is huge but I rather talk what Ephestos can do already. 
Even though Ephestos is in total less than 200 lines of code it can already communicate with blender and affect blender properties. Blender properties are basically instance variables for any kind of blender object, 3d object, material, textures etc So already you can affect a huge deal of blender .
Unfortunately Blender operators seem to crash Blender , probably I am doing something stupid that I will fix. Blender operators are for performing blender actions so they are very important.
I have made a simple video demo of it that can be watched here
To use it you need first the Blender addon which can be found here
The code should be inside a folder named “pyEphestos” and placed in Blender addons directory which is located for Macos in Application Support/Blender/VersionsOfBlender/scripts/addons and in Windows should be in App Data/Roaming/….. or you can place it inside the blender folder in similar sub directory
You also need the Pharo code which can be found here
As I said it is far from production ready , but it works. 
The good news is that the socket communication is blazing fast, at least compared to what I expected. I was able to perform 1000 connections under a second. And each connection carries a 1024 bytes messages , thats a lot of code. Should be possible to pass thousands of lines of code under a second to Blender. 
My only worry is blender itself since it tends to be very crashy in the areas I am pushing. 
By the way Always press esc after you enable Ephestos in Blender to close the socket or else it wont free it and next time you wont be able to open the socket and you will have to restart your OS. And do not make an error with the string passed . I need to add an exception for it so it wont crash blender.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: