You can use "use-case points" or "class points" as a size metric in object-oriented projects. You can estimate the size of the project with the use of these metrics.
Actually, this is a suitable approach. However, this requires a certain amount of empirical data of previous projects. You need to relate the data to previous projects. Depending on the style of designing and the granularity level (e.g. in class diagrams) different people tend to design the same problem in a different way. In a manner of speaking, some people will use more interfaces and abstract classes while others will use more concrete classes. So you need to keep in mind several criteria:
The person / team who designed the diagrams (the style of design, see above)
Previous data on UML diagrams
If it is technical diagrams, the target development language
The development plattform
Probably it would be best to draft a small quality model relating the corresponding metrics to each other.
You may find these links useful. The first uses the old historical projects to estimate the future ones. The second uses complexity and other metrics to calculate maintainability indexes. Hoping they help.