Flatness tolerance is from the category of form tolerances. Flatness is the condition of a feature or derived median plane having all elements in one plane. It will never have datum reference in the feature control frame. Flatness tolerance applies to feature or noncylindrical feature size. The tolerance zone for the flatness is two parallel planes always.
Flatness was allowed to apply only for feature till ASME Y14.5M-1994 standard. Now it can be used for a noncylindrical feature size also from ASME Y14.5-2009 standard onwards. The application of flatness is on planar features only. It cannot control the form of non-planar features and cylindrical features.
As per below figure, the flatness applies to bottom surface or feature. This feature is a datum feature A. The value of flatness is 0.5 mm which means form variation allowed on datum feature A is 0.5mm. There will be two parallel planes 0.5mm apart in which the feature form will vary. The value of flatness tolerance must be less than size tolerance when it applies to feature. The flatness cannot override rule 1 in this case. The flatness value can be more than size variation when using stock or independency symbol.
As per below figure shown, the flatness applies to a noncylindrical feature size which is the width of the plate. MMC (maximum material condition) or LMC (least material condition) modifier is allowed if flatness applies to width. The benefit of additional geometric tolerance will be using MMC or LMC through bonus tolerance. The allowed flatness at MMC is 1 mm. The flatness can be more if the width is departing from MMC towards LMC. The maximum value of flatness will be at LMC. The benefit of using MMC is that an inspector can use a fixed functional gauge to inspect it. The gauge size will be the virtual condition. The gauge size will be 17 mm spread in which plate must pass. The flatness can have more value than size variation when it applies to a noncylindrical feature of size. In this case, flatness can override rule 1. Hope this blog clarifies what is flatness tolerance. Wish you very happy learning!!