Trying to assign a material to text object

I’m having some problems, and hoping someone here can show me where I’m going wrong or confirm I’m not going insane.
Running this script gives me a green square:-


import Blender
from Blender import NMesh, Material

#Let's make a square
square = NMesh.GetRaw()
f = NMesh.Face()

v = NMesh.Vert(0.0, 0.0, 0.0)
square.verts.append(v)
v = NMesh.Vert(1.0, 0.0, 0.0)
square.verts.append(v)
v = NMesh.Vert(1.0, 1.0, 0.0)
square.verts.append(v)
v = NMesh.Vert(0.0, 1.0, 0.0)
square.verts.append(v)

#Fill in the face
for i in range (0, 4):
	f.v.append(square.verts[i])
square.faces.append(f)

mat = Material.Get("Green") #assuming we have a material called green in the scene
print mat

square.setMaterials([mat])
squareObj = NMesh.PutRaw(square, "square", 1)

Blender.Redraw()

So far so good. However, I want some green text:-


import Blender
from Blender import Curve, Object, Scene, Text3d, Window, Material

#To Create a Text3d object
txt = Text3d.New("Text1")
txt.setText("ABC123")
cur = Scene.getCurrent()
obj = Object.New("Text")

mat = Material.Get("Green") #assuming we have a material called green in the scene
print mat

#obj.setMaterials([mat])

obj.link(txt)
cur.link(obj)
obj.makeDisplayList()
Window.RedrawAll()

Uncommenting the setMaterials line will cause blender to crash. (Windows XP home SP2, blender 2.37a). Is this the correct way to assign a material to a text object? Is there other code I should be using?
Any comments gratefully received.

Thanks,
Chris

Link the object to the scene first .

import Blender
from Blender import Curve, Object, Scene, Text3d, Window, Material

#To Create a Text3d object
txt = Text3d.New("Text1")
txt.setText("ABC123")
cur = Scene.getCurrent()
obj = Object.New("Text")

obj.link(txt)
cur.link(obj)

mat = Material.Get("Green") #assuming we have a material called green in the scene
print mat
obj.setMaterials([mat])

obj.makeDisplayList()
Window.RedrawAll() 

Merci beaucoup, Jean-michel!
I should have guessed that from the error mesage :wink:
By the way, thankyou also for your tutorials - they’ve been very helpful getting me as far as I’ve gotten.

Chris