You would need two systems to work out the flanges and webs separately. I'd try mapping the profiles and flanges in VB script, populating to rails and associated lengths. Using the Case operator you could select through various flange profiles or web patterns. Otherwise you could set up a series of component profiles and using the list index component, filter through component options and use the orient component in XForm using the rail tangents as alignments.
If you are thinking of interoperability between design / engineering software, XML seemed to be the best data structure to implement.
