For a straight edge on a planar face i would store the end points as XYZ fields along with the offset vector from the element's location so that you can always calculate where the edge should be. If the reference became invalid i would calculate the expected edge position and check it against all edges found in the element untill an overlapping coincident edge of similar length was found. It's more of a heuristic method though as false positive are possible depending on what geometric changes have happened. Your problem sounds similar to one i sometimes come upon with stable face references that return a face with zero edges. For me it happens when a window or door in a wall is modified and i attempt to investigate the opening cut faces within a dynamic updater.
↧