Skip to content

изображение под чертежом [новая функция]

Считаю, что одна из причин по которой многие конструкторы смотрят скептически на программу Валентина - это отсутствие возможности перенести свои наработки в эту программу. Представьте, что Вы конструктор с многолетним опытом и у Вас есть десятки разработанных моделей. За годы Вы отточили каждую линию в моделях, на это ушла куча времени и много прошиваний, работа с людьми - примерки. Вы хотите перенести свои чертежи в Валентину и параметризовать их. Как это сделать? На данный момент никак (поправьте меня если не прав). Возможно только начать всё строить с нуля "на глазок" пытаясь повторить свои наработки. То есть мерить -> строить. Что бы проверить - прикладывать лекала к экрану или их распечатывать и сверять. Оба способа очень не эффективны. Как можно решить эту проблему? Один из вариантов, который как мне кажется является самым доступным и простым - это сделать возможность загружать картинки как фон рабочей области в Валентина. Может быть загружать 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 и не знаю совместимы ли эти элементы с теми, что уже использованы в Валентина. Или может возможно их «подложить» под уже используемые и сделать белый фон на чертеже прозрачным. Прикладываю пример, где чертёж прозрачный (и немного затемнённый), а под ним видно изображение:

пример_прозрачного_чертежа

Много написал, а теперь о главном. Роман, как Вы считаете:

  • востребовано ли это?
  • если да, то приоритетна ли реализация? (понятно, что на всё время не хватает)