[Bf-committers] blender command port - blender python server and client

Chris Want cwant at ualberta.ca
Wed Jun 27 17:56:03 CEST 2007


This looks really interesting, although I haven't had a chance
to build/try it.

I wonder if it wouldn't make more sense to make 'blash'
a python module rather than a stand alone program, i.e.
you might do something like

$ python
 >>> import Blash
 >>> Blash.connect(host:7777)
 >>> from Blash import Blender.*

...

or such.

I really like the idea of being able to run arbitrary
blender API commands in a python interpreter -- it
would be even better if it could be done without
having to actually start blender as a separate
process though.

Anyways, cool work!

Regards,
Chris

Dietrich Bollmann wrote:
> Hi,
> 
> The appended patch makes it possible to start Blender in Python server
> mode.  Clients can connect and send Python commands via the command
> port to the server.
> 
>   - The Command Port allows to edit objects simultaneously using the
>     Blender GUI and one or more clients connected to Blender via the
>     command port.
>   - The patch also includes `blash', a Blender Python shell client.
>   - `blash' can be used with the emacs python mode - the result is a
>     formidable Blender Python development environment.
>   - Clients can be written in any language: lisp, Python, Perl, C,
>     C++, Java etc.
>   - The patch was only tested on Debian sid until now but should run
>     on any platform after a little customisation.
> 
> For a screen shot see http://formgames.org/blender/command-port/
> 
> Have fun,
> Dietrich
> 
> * Blender command port patch
> 
>   -
> https://projects.blender.org/tracker/index.php?func=detail&aid=6887&group_id=9&atid=127
> 
> * Example - a simple pyramid
> 
> The following example shows how the command port can be used to model
> a simple pyramid:
> 
>   - start the Blender server in some xterm
> 
>       $ blender --geometry 800x600+10+10 --bcp 6789 &
> 
>   - start blash in another xterm
> 
>       $ blash --port 6789
>       This is Blash - the GNU BLender-Again SHell :)
>       Connection to Blender Server established.   (IP address:
> 127.0.0.1, port: 6789)
> 
>   - enter blender python commands
> 
>       from Blender import *
> 
>       vertexes = [[1, 1, 0], [-1, 1, 0], [-1, -1, 0], [1, -1, 0], [0, 0,
> 1.27]]
>       faces    = [[3, 2, 1, 0], [0, 1, 4], [1, 2, 4], [2, 3, 4], [3, 0,
> 4]]
> 
>       mesh = Mesh.New('mesh')
>       mesh.verts.extend(vertexes)
>       mesh.faces.extend(faces)
> 
>       scene  = Scene.GetCurrent()
>       object = scene.objects.new(mesh, 'object')
>       Redraw()
> 
>       bye
> 
> 
> * Installation
> 
>   - make a directory to build Blender
> 
>       BCP=$HOME/bcp
>       mkdir -p $BCP
>       cd $BCP
> 
>   - download blender 2.44 sources
> 
>       wget http://download.blender.org/source/blender-2.44.tar.gz
>       wget http://download.blender.org/source/blender-2.44.tar.gz.md5sum
>       md5sum -c blender-2.44.tar.gz.md5sum
> 
>   - download blender command port patch
> 
>       wget
> http://formgames.org/blender/command-port/patches/blender-command-port-patch.2007-06-26.txt
> 
>   - unpack the blender sources
> 
>       gunzip blender-2.44.tar.gz
>       tar xvf blender-2.44.tar
> 
>   - patch them
> 
>       cd blender-2.44
>       patch -p0 < ../blender-command-port-patch.2007-06-26.txt
> 
>   - build blash and blender
> 
>       scons WITH_COMMAND_PORT=true blash
> 
>   - the (linux) binaries
> 
>       $BCP/install/linux2/blender
>       $BCP/install/linux2/blash
> 
> 
> _______________________________________________
> Bf-committers mailing list
> Bf-committers at blender.org
> http://lists.blender.org/mailman/listinfo/bf-committers
> 



More information about the Bf-committers mailing list