[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