Need some help about picking (it's very important)

I have an important project to realize, a CAD file viewer like *.STL. But even if I have already done the model visualisation, I must now implement selection of face (and probably vertex and lines). So I need some help about the picking technic. First my objective is to change color of selected faces.
Thanks to all who can help me.

PS: Sorry for my bad english but i’m french

The easiest method that I know of doing selection is the one outlined in the OpenGL Redbook. I.e. encode identifiers for your objects as rgba values and draw the scene using these encoded values as the colors, but do not swap buffers. Then, when the user clicks at a point, you can grab the rgba value at the mouse point from the back buffer, decode the color and get back to your object identifier.

Good luck.

I thank U very much. But I have a problem, my mesh is a CAD model and have no color (it musn’t use color -> the client is king).
I have heard a technic which consist in creating a line (Z axis parallel) and select all the faces which intersect with this line.
I wonder now how know which are these faces.
Thanks again.