Есть такая задача.
нужно сделать редактор так называемых "мнемосхем".
Мнемосхема — это набор блоков, связанных между собой линиями связи.
Мнемосхем может быть очень много, посему рисовать каждую по отдельности — вариант пеприемлемый.
Кадры мнемосхем рисовать по файлу, содержащему описание каждого блока и связи между ними. Сами файлы — вручную (неудобно),
или сделать редактор мнемосхем (сложно).
Вопрос такой: возможно, кто-либо сталкивался с такими задачами. Или видел где-то готовые решения (методы, алгоритмы).
В принципе, все вполне понятно и реализуемо, но хотелось бы не наступать на пока невидимые грабли
и не создавать велосипедов.
Буду благодарен за любые советы.
Здравствуйте, lexer_lx, Вы писали:
_>Есть такая задача. _>нужно сделать редактор так называемых "мнемосхем". _>Мнемосхема — это набор блоков, связанных между собой линиями связи. _>Мнемосхем может быть очень много, посему рисовать каждую по отдельности — вариант пеприемлемый. _>Кадры мнемосхем рисовать по файлу, содержащему описание каждого блока и связи между ними. Сами файлы — вручную (неудобно), _>или сделать редактор мнемосхем (сложно). _>Вопрос такой: возможно, кто-либо сталкивался с такими задачами. Или видел где-то готовые решения (методы, алгоритмы). _>В принципе, все вполне понятно и реализуемо, но хотелось бы не наступать на пока невидимые грабли _>и не создавать велосипедов. _>Буду благодарен за любые советы.
Возьмите Visio в качестве редактора мнемосхем — ИМХО он замечательно подходит для этой цели.
Вам мнемосхемы "живые" нужны или "статические"?
Т.е. в чем более глобальная задача?
Здравствуйте, bnk, Вы писали:
bnk>Возьмите Visio в качестве редактора мнемосхем — ИМХО он замечательно подходит для этой цели. bnk>Вам мнемосхемы "живые" нужны или "статические"? bnk>Т.е. в чем более глобальная задача?
Мнемосхемы нужны живые. Прога должна принимать данные, а мнемосхемы — отображать в реальном времени состояние
всех блоков и связей.
Здравствуйте, lexer_lx, Вы писали:
_>Здравствуйте, bnk, Вы писали:
bnk>>Возьмите Visio в качестве редактора мнемосхем — ИМХО он замечательно подходит для этой цели. bnk>>Вам мнемосхемы "живые" нужны или "статические"? bnk>>Т.е. в чем более глобальная задача?
_>Мнемосхемы нужны живые. Прога должна принимать данные, а мнемосхемы — отображать в реальном времени состояние _>всех блоков и связей.
ОК, понятно. Я например делал так (панель управления стенда)
1. Рисуем все в Visio (все состояния, свойства, текст и т.п.)
2. Экспортируем кучу EMF картинок (по картинке на каждое "состояние" объекта + фон + плюс файл "разметки" с координатами (куда какую картинку выводить), плюс координаты текстовых полей например.
Все это можно легко сделать на основе "мнтаданных" из Visio. Т.е. можно помечать "свои" фикурки, а при "экспорте" обрабатывать их специальным образом.
3. Дальше используем эти EMF в своей програмке, пользуем разметку для текста.
Альтернатива:
Можно ничего не экспотировать из Visio,
использовать прямо Visio Drawing Control через автоматизацию.
Недостаток тот что придется зависеть от Visio.
Еще альтернатива:
Можно еще нарисовать все на флеше, например.
Честно говоря не совсем понял задачу, что нужно, но рискну вставить свои пять копеек
Мы заканчиваем разработку специализированного векторного графического редактора, ориентированного в первую очередь на рисование схем (принципиальных, структурных, монтажных и т.д.) — Бета версию можно посмотреть на www.PlainCAD.com. В чем-то это аналог Visio, SmartDraw...
Есть понятие объекта, библиотеки объектов, связи между объектами. Для объекта возможно задание нескольких состояний или вариантов отображений. Есть встроенная среда разработки из которой можно получать доступ к объектам схемы и возможность расширять функционал программы через дополнительные plagin's.
Сейчас графический редактор больше ориентирован на создание схем объектов электрических сетей (однолинейные схемы подстанций, потребителей, схемы РЗА и т.д.), но интересно узнать, возможно ли применение в подобной задаче?
_>нужно сделать редактор так называемых "мнемосхем". _>Мнемосхема — это набор блоков, связанных между собой линиями связи. _>Мнемосхем может быть очень много, посему рисовать каждую по отдельности — вариант пеприемлемый. _>Кадры мнемосхем рисовать по файлу, содержащему описание каждого блока и связи между ними. Сами файлы — вручную (неудобно), _>или сделать редактор мнемосхем (сложно). _>Вопрос такой: возможно, кто-либо сталкивался с такими задачами. Или видел где-то готовые решения (методы, алгоритмы). _>В принципе, все вполне понятно и реализуемо, но хотелось бы не наступать на пока невидимые грабли