Поиск:

Ответ в темуСоздание новой темы Создание опроса
> конструктор чертежей 
:(
    Опции темы
m_maxser
Дата 7.10.2013, 09:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 77
Регистрация: 5.2.2008

Репутация: нет
Всего: нет



Здравствуйте,

На работе появилась задача разработать конструктор чертежей. Общее описание такое: загружается svg-документ, который содержит стилизованное изображение помещения, т.е. это просто фон. На этом изображении есть только неразрушаемые объекты (внешние/несущие стены, колоны, лестницы и т.п). Все остальное пространство должно заполняться пользователем. Пользователь может добавлять/удалять стены/двери, проводить линии коммуникаций (электропровод, водопровод, газо... и т.п.). Пользователей два типа: менеджер и инженер. Инженер может запретить изменять некоторые участки планировки.

Вижу решение так: создаю таблицы "Точки" и  "Линии". Думаю, что с первой таблицей все понятно - это координаты.  "Линии" - это связи из двух точек, у которых указывается тип (стена, водопровод и т.п.).  Потом все тупо отрисовывается по координатам. 

За неимением других идей, приступил к реализации этого метода. Хотел бы узнать как другие специалисты подошли бы к решению этой задачи.

Спасибо.

P.S.: это все разрабатывается под веб, пользователь работает с системой через браузер.
 

PM MAIL   Вверх
ksnk
Дата 7.10.2013, 10:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 7
Всего: 386



По интерфейсу - должно получится visio - довольно удобный инструмент для всякого разного чертильно-диаграмного.
В качестве онлайн альтернативы - можно посмотреть https://www.lucidchart.com/pages/tour/visio_alternative
Для самодельного проекта сложновато, но подсмотреть и потырить некоторые идеи и их браузерные реализации  вполне можно.



--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
m_maxser
Дата 7.10.2013, 11:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 77
Регистрация: 5.2.2008

Репутация: нет
Всего: нет



ksnk,  спасибо. ссылка интересная. Вопрос отрисовки меня пока не сильно беспокоит (использую fabric.js), мне сейчас куда важнее правильно спроектировать алгоритм.

Как правильно описать сущности (стены, линии коммуникаций, неразрушаемые объекты) со стороны фронтэнда и бекэнда?
Как сделать это все масштабируемым? Вдруг они захотят впоследствии еще и мебель там размещать?


Это сообщение отредактировал(а) m_maxser - 7.10.2013, 11:28
PM MAIL   Вверх
ksnk
Дата 7.10.2013, 12:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 7
Всего: 386



m_maxser, Есть "объекты" - столы, стулья  - они задаются контуром с фиксированным размером и центральной точкой. Могут вращаться. Есть коммуникации - провода, трубы, стены - задаются граничными точками, имеют ширину. При изменении граничных точек коммуникация перерисовываются.
Есть объекты - подписи, элементы блоксхем - задаются контуром и могут растягиваться по XY. 
По идее - этого может быть достаточно для начала.
Потом можно ввести "чертежные размеры" 


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
_Y_
Дата 7.10.2013, 17:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1651
Регистрация: 27.11.2006

Репутация: 8
Всего: 34



Существует море программ позволяющих расставлять мебель по кватрире: как на плане, так и в 3D. ИМХО идентичная задача - стОит покопаться в этом направлении - наврняка можно нарыть и готовый код и/или соответсвующие пакеты (ну чтобы велик не изобретать). 


--------------------
Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:)
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0780 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.