Clarifying unfamiliar tools in a toolbox

If you use Adobe Photoshop to edit your images, there's this toolbox, from which you can select the tool you want to use.


(source: www.un.org)

I'm designing a similar program than manipulates blueprints instead of images, and I want to use the same model, where the user selects a tool that will affect the current blueprint. The catch is that the tools will necessarily be nonstandard, use unfamiliar icons, and be hard to understand, at least at first.

When a user is unfamiliar with tools that a program is capable of, what is the best way to help the user to understand exactly what a tool does?