I can't give you what you want, as there is no way to disable the ability to set a width or height, non-standard or otherwise. But you can have your Window identifying "mark" tied to a standard size associated with your Window style, and you can set up your Window Styles with as many or as few standard sizes as you want.
On the Standard Sizes tab when editing a Window Style, in addition to the Width and Height columns, there is a Description column. Enter the identification mark (A, B, etc.) here. Edit the Property Set Definition that holds the current property you use for the identification mark (in the out-of-the-box content, that is the WindowObjects Property Set Defintion and the Number property). Add a new automatic property, referencing the StandardSizeDescription property. Note: This property only applies to Windows - not Door/Window assemblies, since the latter do not have standard sizes, so if you need to combine Windows and Door/Window Assemblies in the same schedule, using the same property for the identification mark, this will not work for you (without some extra work, anyway).
Modify (a copy) of your Window Schedule Tag, changing the Tag of the attribute definition in the view block that displays the identification mark so that it references the StandardSizeDescription property. Using out-of-the-box content as an example, you would change the tag from WINDOWOBJECTS:NUMBER to WINDOWOBJECTS: STANADARDSIZEDESCRIPTION. (Your names may vary. Remove the space characters after the colon in the latter tag name; I added that to prevent the colon-S combination from becoming a smiley face :S.)
Modify your Window Schedule Table Style to delete the current column that displays the identification mark and add a column to display the StandardSizeDescription property.
While the above does not stop someone from entering a non-standard width/height combination, if someone does, the tag will display NA. If you leave standard sizes in the Windows Styles without adding text for an identification mark in the Description column and someone chooses that size, the tag will be blank (since the StandardSizeDescription value is a null string). With a little bit of staff training, this may be workable for you.
David Koch
AutoCAD Architecture and Revit User
Blog | LinkedIn
