Our first pycao file.

In this page, we shall see how to set up pycao and run our first file.

Installation perequisites:

  • pycao requires povray,python, scipy, numpy and pygobject (gi). Please install them on your system.


  • I suppose that you install Pycao in “/home/myName” Please adapt the following to your directory name.

  • Download the pycao.tar on github https://github.com/evainlau/pycao

    and drop it off in /home/myName/

  • Open the file /home/myName/pycao/template.py and change the first line of this file so that the value of the variable pycaoDir=”/home/myName” by what corresponds to your case

  • Save the file and exit.

Run your first file:

  • copy the file /home/myName/pycao/template.py to /home/myName/theFileNameOfYourChoice.py
  • in a terminal, run the command “python /home/myName/theFileNameOfYourChoice.py” and you should see the first 3D picture you have created with pycao
# a plane represented graphically as a half space
ground=plane(Z,origin) # a plane with normal the vector Z=vector(0,0,1) containing the origin
ground.color='Gray' # The possible colors are the colors described in colors.inc in povray or a rgb color.

wall=Cube(1,2,3) # The two opposite corners of the cube are origin and point(1,2,3)
wall.move_at(origin+1.5*Z) # the cube is moved above the plane

cyl=Cylinder(start=origin+2*Y,end=origin+2*Y+Z,radius=0.5) # a vertical Cylinder

cyl2=ICylinder(axis,0.5) #an infinite cylinder of radius 0.5
cyl2.material="pigment { brick Black Green brick_size 2 mortar 0.2 }"


light=Light() # a light

camera.povraylights="light_source {<"+ str(light.location[0])+","+str(light.location[1])+","+str(light.location[2])+ "> color White " + "}\n\n"
camera.actors=[wall,ground,cyl,cyl2,s] # what is seen by the camera

camera.shoot # takes the photo, ie. creates the povray file, and stores it in camera.file
camera.show # show the photo, ie calls povray.

Make a few changes to the file and see the result:

  • open theFileNameOfYourChoice.py with an editor
  • increase the value of the camera.zoom
  • run the command “python theFileNameOfYourChoice.py” again and you should see the same 3D picture as above, but larger


  • The file we played with has plenty of comments. Read them and try to modify some values to see how this impacts the 3D picture.
  • The file cameras.py shows other options for the camera. Read them, and, if you are interested, change the options in your file.