Я работал в САПР-приложении 3 года назад, и вот несколько советов, которые я запомнил, мы сделали (Кстати: приложение бесплатное, вы можете скачать его, зарегистрировать свою копию, и использовать функции в редакторе фермы) :
1- Вы можете добавить кнопки для рисования фигур, например: кнопку для линии, кнопку для полилинии, прямоугольника и т. Д.
2- Создайте переменную, которая будет содержать текущее состояние вашего приложения (может быть перечислением): готово, точка рисования, линия рисования, полилиния рисования, круг рисования и т. Д.
3- Когда пользователь нажимает кнопку рисования, система переходит в соответствующее состояние из упомянутых выше.
4 - система возвращается в «режим готовности» после завершения рисования, которое может быть автоматически определено по ожидаемому количеству точек (1 для точки, 2 для линии, 3 для эллипса и т. Д.) Или когда пользователь нажимает клавишу Esc или щелкает правой кнопкой мыши область рисования (если ожидаемое количество точек неизвестно, например: полилиния). Вы также можете закончить рисование ломаной линии, если пользователь повторно щелкнул первую точку и нарисовал 3+ точки.
5- Система может отменить текущую операцию рисования, если пользователь завершает операцию до завершения числа ожидаемых точек.
...