Maybe I did not understand the problem as a whole. Locking, afaiu, means avoiding the tangency to flip from internal to external. This I think is a wanted feature. I have seen the real pro users complaining about this. Flipping is something they hate, because it does not do a sketch robust.DeepSOIC wrote: My suggestion to solve it for tangency and perpendicularity is to not save the lockdown to the file, but recalculate all lockdowns upon file load. This may be a bit tricky with angle-via-point constraint (messing with datum values... may be not great in some circumstances).
This "locking", IMO, should, in the future, be accesible to the user, that should be able to select between internal or external (or any other option you provide). This can preferably be done by using the "datum" to store it, because there is a datum edition functionality in place (which may need some extension for the case geoid3!=GeoUndef).
It is unavoidable that if we make mistakes, problems may arise in the future. We have to try not to make mistakes (starting by me not making mistakes ), and if we did, try to provide the user with a way to fix it, e.g. specific code to handle sketches created with that tool, e.g. deploying a function to ignore the stored datum.
Look at it on the bright side, there aren't thousand users out there using AngleViaPoint yet, and by chance I implemented some functionality that you tried to use and realized about it, so you can fix it before deploying it...