изображение под чертежом [новая функция]
Считаю, что одна из причин по которой многие конструкторы смотрят скептически на программу Валентина - это отсутствие возможности перенести свои наработки в эту программу. Представьте, что Вы конструктор с многолетним опытом и у Вас есть десятки разработанных моделей. За годы Вы отточили каждую линию в моделях, на это ушла куча времени и много прошиваний, работа с людьми - примерки. Вы хотите перенести свои чертежи в Валентину и параметризовать их. Как это сделать? На данный момент никак (поправьте меня если не прав). Возможно только начать всё строить с нуля "на глазок" пытаясь повторить свои наработки. То есть мерить -> строить. Что бы проверить - прикладывать лекала к экрану или их распечатывать и сверять. Оба способа очень не эффективны. Как можно решить эту проблему? Один из вариантов, который как мне кажется является самым доступным и простым - это сделать возможность загружать картинки как фон рабочей области в Валентина. Может быть загружать DXF было бы точнее, но вариант с изображениями реализовать точно проще. А со стороны пользователя - сделать screenshot можно в любом САПР или другой программе, пользователю это труда не составит, в добавок некоторые программы позволяют сохранить чертёж как изображение.
Далее в Валентина нужен виджет с управлением изображениями, необходимый функционал:
-(а) open/close image [загрузка изображения]
-(б) zoom in/zoom out image или set zoom factor [масштаб отображения изображения относительно масштаба чертежа Валентина]
-(в) set image base point [точка на картинке по которой она будет сопоставляться с чертежом. Выбираем точку на картинке, а потом из выпадающего списка выбираем точку на чертеже Валентина с которой требуется сопоставить точку на картинке]
-(г) set image scale [масштаб картинки надо сопоставить с масштабом чертежа, это можно сделать выбрав две точки на картинке и из выпадающего списка выбрать соответствующую линию на чертеже Валентина (На картинке должен быть отрезок с известной длинной, а в Валентина должна быть заранее построена линия равная отрезку по длине.) После того, как выполнено сопоставление масштаба, масштаб картинки должен меняться вместе с изменение масштаба чертежа Валентина ]
//После того как выполнено (в) и (г), функции (б), (в) и (г) должны стать не активными.
-(д) отвязать картинку от чертежа [функция нужна на тот случай, если картинка не правильно привязана к чертежу (не верная базовая точка (в) или неверный масштаб (г) ) и требуется повторить процедуру привязки. По нажатию активирует функции (б), (в) и (г)]
-(е) сохранить привязку [сохраняет настройки привязки для дальнейшего повторного использования (на пример это нужно закрыв чертёж и открыв его заново. Можно сохранять записи о привязках в новой секции файла .val )]
-(ё) загрузить привязку [загружает настройки сохранённые в функции (е), выбор из списка возможных привязок]
Попытался найти подходящие инструменты для реализации такой задачи, нашёл вот этот Image Viewer Example . Правда я никогда не работал с QT и не знаю совместимы ли эти элементы с теми, что уже использованы в Валентина. Или может возможно их «подложить» под уже используемые и сделать белый фон на чертеже прозрачным. Прикладываю пример, где чертёж прозрачный (и немного затемнённый), а под ним видно изображение:
Много написал, а теперь о главном. Роман, как Вы считаете:
- востребовано ли это?
- если да, то приоритетна ли реализация? (понятно, что на всё время не хватает)
