We use "PropertyEditorSpec" mentioned above and it's great for the most part because it is easy to add or delete the properties depending on your company standards. The only gripe I have with it is that if you have a property linked to a dimension, the dimension does not update.
For example, if you have a property called "length", and it is linked to the length of a tube, you can change the length of the tube, but PropertyEditorSpec does not recognize the change. Other than that quirk, it is a great macro, especially since other property macros such as "Propagator" are not free, or are not easily modified.
Flores