generating objects of a type from a name.

chris.lyon at spritenote.co.uk chris.lyon at spritenote.co.uk
Fri Jul 27 03:23:43 EDT 2007


On Jul 27, 1:59 am, tsuraan <tsur... at gmail.com> wrote:
> I'm not sure what a visual object is, but to create an instance of an
> object whose name is known, you can use "eval":
>
> >>> oname = 'list'
> >>> obj = eval(oname)()
> >>> obj
> []
> >>> type(obj)
>
> <type 'list'>
>
> Hope that helps!
>
> On 26/07/07, chris.l... at spritenote.co.uk <chris.l... at spritenote.co.uk> wrote:
>
> > I'm trying to generate visual python objects from django objects and
> > therefore have objects called  'Ring' and 'Cylinder' as django objects
> > and I want to create objects of those names in visual.
> > I can cludge it in varius ways by using dir and lots of if lookups but
> > is there a  way of doing this that allows the name to generate a
> > visual object of the appropriate name or fail nicely if the visual
> > object doesn't exist?
>
> > --
> >http://mail.python.org/mailman/listinfo/python-list

Thanks for that.

That's the answer.

visual python is an fine programme for generating 3D objects (http://
www.vpython.org/)
which generates an image from simple python code.

import visual
a = visual.sphere()

generates a window with a 3D lit rendering of a white sphere which you
can easily fly around with the mouse.
a.blue = 0  makes it  a yellow sphere
and a.x = 1 moves it one unit along the x axis.

I'm using it to create a visual representative of objects stored in
the database, so I'm mapping the database objects to visual objects.

Thanks once again. I hadn't considered eval, but once it's pointed
out, it's obvious.

Chris




More information about the Python-list mailing list