| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Преобразование DWG в SVG и обратно для работы в веб приложении.

Преобразование DWG в SVG и обратно для работы в веб приложении.

Ответ
Поиск в этой теме
Непрочитано 06.06.2012, 13:03 #1
Преобразование DWG в SVG и обратно для работы в веб приложении.
Василий Гнучев
 
архитектор
 
Москва
Регистрация: 06.06.2012
Сообщений: 8

Занимаемся разработкой веб приложения для рецензирования графических файлов - внесения поправок, комментариев, и т.д.
Сделали пока возможность работать с PDF и изображениями - JPG, PNG, GIF.

Хотим добавить поддержку формата DWG.
Видится это так: необходимо, чтобы программа работала по Linux и преобразовывала загруженные DWG файлы в SVG для работы с ними в нашем приложении, а потом могла сохранить обратно в DWG, но уже с внесенными правками.
Подскажите, есть ли надежное готовое решение?

Выяснилось, что DWG - закрытый формат, а потому "родных" инструментов для доступа к нему нет.

Сейчас рассматриваем варианты:

использовать библиотеки и программы от ODA - Teigha for DWG files
или CAD Import VCL от CADSoftTools

В первом варианте нравится, что вроде бы есть поддержка даже 2012 автокада, но требуется платить деньги даже за тестовый доступ к библиотекам...
Просмотров: 22003
 
Непрочитано 06.06.2012, 14:29
#2
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


как насчёт того, чтобы воспользоваться поиском в гугле: dwg to svg?
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 06.06.2012, 14:32
#3
Сергей Дубина


 
Регистрация: 06.04.2009
Сообщений: 705


Цитата:
Сообщение от Василий Гнучев Посмотреть сообщение
Выяснилось, что DWG - закрытый формат, а потому "родных" инструментов для доступа к нему нет.
Есть COM (ActiveX Automation) из любой среды програмирования можете получить доступ.
__________________
КазнитьØнельзяØпомиловать:eek:
Сергей Дубина вне форума  
 
Непрочитано 06.06.2012, 14:34
#4
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787


К файлу или к приложению, открывающему файл?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 06.06.2012, 15:32
#5
Василий Гнучев

архитектор
 
Регистрация: 06.06.2012
Москва
Сообщений: 8


Цитата:
Сообщение от hwd Посмотреть сообщение
как насчёт того, чтобы воспользоваться поиском в гугле: dwg to svg?
Искал, нашел и вот как раз пишу - Teigha или CAD Import.
Вопрос в том, пользовался ли кто-нибудь этими программами (библиотеками)?
И есть ли что-то лучшее, что Вы могли бы рекомендовать?

Цитата:
Сообщение от Сергей Дубина Посмотреть сообщение
Есть COM (ActiveX Automation) из любой среды програмирования можете получить доступ.
COM и ActiveX - это ведь Windows, не Linux.

Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
К файлу или к приложению, открывающему файл?
Если честно, не понял вопрос.
Но задача такая: пользователь загружает файл, мы его автоматически преобразуем в SVG и показываем в браузере.
Пользователь вносит изменения - мы сохраняем обратно в dwg с изменениями, сохраненными в отдельном слое.
Соответственно все описанное (кроме правки, конечно ;-) должно происходить полностью автоматически, без участия пользователя.

Параллельно возникает вопрос: если пространство модели удастся перевести в SVG, то как быть с Layout'ами?
Можно ли автоматизировать этот процесс?
Сохраняет ли DWG информацию о Layout'ах так, что их можно выдернуть из него, чтобы, к примеру, сохранить в отдельные файлы?
Василий Гнучев вне форума  
 
Непрочитано 06.06.2012, 15:41
#6
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381


Цитата:
Есть COM (ActiveX Automation) из любой среды програмирования можете получить доступ
Какой-такой павлин-мавлин COM под Linux?

Цитата:
CAD Import VCL от CADSoftTools
Весьма приличная библиотека. Но тоже не бесплатная. И какой VCL для Linux?

Цитата:
Выяснилось, что DWG - закрытый формат
Как-то "неожиданно" оно выяснилось. Вообще-то есть специальная банда альянс которая ломкой формата занимается. Кое-что там первая доза бесплатно. Но вообще-то в общак надо хорошо платить.

И не очень-то надейтесь на SVG, полученный из DWG. Тоже "неожиданно" выяснится, что возможна работа только с самыми примитивными DWG.
ShaggyDoc вне форума  
 
Автор темы   Непрочитано 06.06.2012, 15:55
#7
Василий Гнучев

архитектор
 
Регистрация: 06.06.2012
Москва
Сообщений: 8


Цитата:
Сообщение от ShaggyDoc Посмотреть сообщение
Тоже "неожиданно" выяснится, что возможна работа только с самыми примитивными DWG
Вот-вот, с этого места, если можно, поподробнее )
Как раз и интересует что можно а что нельзя и насколько стоит "глубоко копать".

Цитата:
Сообщение от ShaggyDoc Посмотреть сообщение
в общак надо хорошо платить.
Да в принципе можно и заплатить, если результат будет именно таким, каким хочется его видеть.
Например, возможность "вшивать" новую информацию в исходный dwg.

Если искать пример, то делаем нечто похожее на Autodesk Design Review, но независимо от автодеска и попроще (очень-очень сильно проще) - с единым представлением картинок, чертежей и прочих проектных материалов через веб.

Библиотеки ODA мы, честно говоря, купили уже (без права коммерческого использования, только для проверки то или не то). Но специалистов в DWG формате у нас нет, так что пока мы только в "банду" вступили, а "ломать формат" еще не начали )
Василий Гнучев вне форума  
 
Непрочитано 06.06.2012, 16:02
#8
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от Василий Гнучев Посмотреть сообщение
Вот-вот, с этого места, если можно, поподробнее )
Элементарно, Ватсон:
Цитата:
SVG (от англ. Scalable Vector Graphics — масштабируемая векторная графика) — язык разметки масштабируемой векторной графики, созданный Консорциумом Всемирной паутины (W3C) и входящий в подмножество расширяемого языка разметки XML, предназначен для описания двумерной векторной и смешанной векторно/растровой графики в формате XML.
Этого не достаточно? Повторяю: гугл рулит.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Автор темы   Непрочитано 06.06.2012, 16:06
#9
Василий Гнучев

архитектор
 
Регистрация: 06.06.2012
Москва
Сообщений: 8


Цитата:
Сообщение от hwd Посмотреть сообщение
Этого не достаточно
Ну, двумерности для нашего продукта (пока) более чем достаточно.
Так что это ограничение нас не ограничивает )
Василий Гнучев вне форума  
 
Непрочитано 06.06.2012, 16:06
#10
Сергей Дубина


 
Регистрация: 06.04.2009
Сообщений: 705


Цитата:
Сообщение от Василий Гнучев Посмотреть сообщение
COM и ActiveX - это ведь Windows, не Linux.
Извини, не внимательно прочитал.
__________________
КазнитьØнельзяØпомиловать:eek:
Сергей Дубина вне форума  
 
Непрочитано 06.06.2012, 16:12
#11
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от Василий Гнучев Посмотреть сообщение
Ну, двумерности для нашего продукта (пока) более чем достаточно.
Так что это ограничение нас не ограничивает )
для вас может и достаточно, но не для конечного пользователя, работающего с DWG.

UPD
Если уж нужна в браузере графика любой сложности, независимо от платформы, то смотреть следует в сторону monolight. Данные хранит в xml, поддерживает (помимо 2D и 3D) анимацию, освещение, текстуры и т.п. (опять же - гугл в помощь). Всё обрабатывается видеокартой, а не процессором.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:

Последний раз редактировалось hwd, 06.06.2012 в 16:18.
hwd вне форума  
 
Автор темы   Непрочитано 06.06.2012, 16:19
#12
Василий Гнучев

архитектор
 
Регистрация: 06.06.2012
Москва
Сообщений: 8


Дело в том, что я не предлагаю использовать наш продукт для "работы в dwg", а только для просмотра результатов работы.
То есть чертеж делается в автокаде или еще где-то, а на нашем сервере его можно будет посмотреть и прокомментировать.

Мне кажется, что если будет возможность не только ModelSpace, но и Layout'ы перевести в SVG и показать их через веб (например, заказчику) то это будет очень удобно. Я, разумеется, рассуждаю как архитектор. Возможны и другие точки зрения, и я их буду рад услышать и учесть при разработке.

Но пока больше интересуют именно практические вопросы - как лучше всего автоматом на линуксе переводить dwg в svg и как при этом еще и Layout'ы из него распознавать и вытаскивать.

Очень буду признателен за советы.
Василий Гнучев вне форума  
 
Непрочитано 06.06.2012, 16:23
#13
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Во первых - глянь "UPD" моего предыдущего сообщения.
Цитата:
Сообщение от Василий Гнучев Посмотреть сообщение
То есть чертеж делается в автокаде или еще где-то, а на нашем сервере его можно будет посмотреть и прокомментировать.
как он просмотрит, если содержимое модели в 3D, а содержимое листов отображает проекции этой 3D на нужные плоскости?
Цитата:
Сообщение от Василий Гнучев Посмотреть сообщение
Но пока больше интересуют именно практические вопросы
если уж обозначенная проблема с 3D - это не "практический" вопрос, то я умываю руки
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 06.06.2012, 16:33
#14
trir


 
Регистрация: 18.12.2010
Сообщений: 5,047


Задача значительно упростится, если её перефразировать - dxf to svg ;=)
trir вне форума  
 
Автор темы   Непрочитано 06.06.2012, 16:36
#15
Василий Гнучев

архитектор
 
Регистрация: 06.06.2012
Москва
Сообщений: 8


Цитата:
Сообщение от hwd Посмотреть сообщение
содержимое листов отображает проекции этой 3D
Погодите, последовательность действий вроде бы несколько иная.

Шаг 1.
Я беру DWG файл и открываю его средствами какой-то программы (собственно, в этом и заключается мой вопрос - какую выбрать?).
Эта программа читает DWG (Model Space), и переводит его в 2D SVG.

Шаг 2.
Тут вопрос в том, есть ли возможность и готовые программные решения, позволяющие открыть DWG и построить листы проекций,
а уже после этого перевести их в SVG?

Цитата:
Сообщение от trir Посмотреть сообщение
Задача значительно упростится, если её перефразировать - dxf to svg ;=)
Возможно. Но кто работает с dxf?
Василий Гнучев вне форума  
 
Непрочитано 06.06.2012, 16:41
#16
trir


 
Регистрация: 18.12.2010
Сообщений: 5,047


Все, у кого есть AutoCAD
trir вне форума  
 
Автор темы   Непрочитано 06.06.2012, 16:46
#17
Василий Гнучев

архитектор
 
Регистрация: 06.06.2012
Москва
Сообщений: 8


Цитата:
Сообщение от trir Посмотреть сообщение
Все, у кого есть AutoCAD
Могут работать, согласен.
Но сохраняют в dwg по умолчанию.

Цитата:
Сообщение от hwd Посмотреть сообщение
monolight
Наверное, Moonlight? Если да, то не нравится. Microsoft Silverlight для Linux? (
HTML5 - наша технология.
Василий Гнучев вне форума  
 
Непрочитано 06.06.2012, 20:27
#18
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381


Цитата:
Вот-вот, с этого места, если можно, поподробнее )
Как раз и интересует что можно а что нельзя и насколько стоит "глубоко копать".
Думаете вы первые придумали такую "простую" задачу - опубликовать какой-то векторный чертеж в Интернет, да ещё чтобы пометки можно было ставить? Да ещё сразу решили, что этот векторный чертеж должен быть в DWG. Ну, допустим, архитектор хочет публиковать свои работы для всеобщего или только заказчикова обозрения. И, прослышав про SVG, решает - "вот оно, дерево". Осталось, мол, самое простое - найти или написать программу перевода.

Задачу публикации чертежей Autodesk решает с момента появления Интернета. И решение было найдено и очень неплохое - DWF (Drawing Web Format). Это открытый формат векторной графики, специально заточенный для Интернет. Сохраняется в DWF прямо из AutoCAD. Было два вида DWF - текстовый и двоичный. Когда-то я на своем сайте подробно расписывал про создание и публикацию DWF.

Было даже специальное сообщество в Интернет где сотни архитекторов публиковали свои работы. Для просмотра DWF использовались или специальные программы, или объекты (модуль Whip), встроенные в веб-страницу. Даже в те времена медленного интернета все работало очень быстро. У меня была в сети векторный план всего города М1:500 со всей детализацией. С гиперссылками, привязанной информацией.

Но потом Autodesk всё испортила. Сначала начала "улучшать" DWF, создав другую версию (забросила Whip, придумала Dwf Toolkit). Навесила "рюшечек" всяких, 3D. В результате для Интернет всё стало малопригодно.

Потом решили использовать модный XML. Придумали DesignXML, и LandXML - именно для публикаций. Чтобы прямо в браузере рисовалось. Однако всё оказалось чрезвычайно медленно. Загружались только простейшие демонстрационные "квадратики". А потом фирма и сама испугалась, что натворила. Ведь при открытом формате чертежа в XML с ним смогут все работать, и зачем тогда Autodesk с закрытым DWG будет нужна.

SVG очень интересное и полезное решение. Но с чертежами будут те же проблемы, даже если только про 2D думать. За SVG сразу ухватились для создания электронных карт. "Вот оно, дерево". Однако посмотрите в Интернет примеры SVG-карт - всё весьма примитивно. Просто показывается, что "в принципе можно".

Не знаю, какая у вас конечная задача показа, но я бы сделал совсем просто - публикация в PDF. Из DWG печатаются прекрасные PDF с возможностью масштабирования. А там и до пометок недалеко.

А если уж совсем "по-взрослому", так вообще не работать ни с каким графическим форматом, а держать всю информацию в базе данных. Оттуда уже публиковать, технологии есть. Они отработаны на картах, но любой чертеж (как изображение) принципиально от карты не отличается.
ShaggyDoc вне форума  
 
Непрочитано 06.06.2012, 22:00
#19
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от ShaggyDoc Посмотреть сообщение
В результате для Интернет всё стало малопригодно.
DWFx?
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Автор темы   Непрочитано 06.06.2012, 23:02
#20
Василий Гнучев

архитектор
 
Регистрация: 06.06.2012
Москва
Сообщений: 8


Цитата:
Сообщение от ShaggyDoc Посмотреть сообщение
Не знаю, какая у вас конечная задача показа
Задача отображать любой формат в форме "картинки", грубо говоря, распечатки.
Чтобы заказчик мог "почиркать" и дать замечания.

Цитата:
Сообщение от ShaggyDoc Посмотреть сообщение
DWG печатаются прекрасные PDF
А есть ли автоматические решения? (для Linux, опять же)
Ну и вопрос с Layout'ами остается.

Цитата:
Сообщение от ShaggyDoc Посмотреть сообщение
возможностью масштабирования
Тут вообще придется уйти немножко в оффтоп. Мы сейчас, наоборот, pdf печатаем в картинку.
Но с ними проще - pdf'ы обычно все же размером с лист бумаги, можно рискнуть отображать его и не векторным, благо каналы связи сейчас позволяют.
А вот dwg может быть почти бесконечным, тут уж никак на растр нельзя решится. Поэтому и хотели переводить его в svg.
Хотелось бы отображать и pdf векторным, но мы пока приемлемого варианта не нашли :-(

Цитата:
Сообщение от ShaggyDoc Посмотреть сообщение
А если уж совсем "по-взрослому", так вообще не работать ни с каким графическим форматом, а держать всю информацию в базе данных. Оттуда уже публиковать, технологии есть. Они отработаны на картах, но любой чертеж (как изображение) принципиально от карты не отличается.
Интересная, отличная идея, и я ее полностью разделяю и поддерживаю! Если я правильно Вас понял, то мы именно этого и хотим добиться.
В принципе, все комментарии у нас и хранятся в собственной БД. Они как бы "на кальке" получаются, не связанны изначально с исходным файлом.
То есть мы предлагаем пользователю своего рода возможность "рисовать на световом столе" - что бы ни было "подложено снизу", мы рисуем поверх, собственными средствами.
Если бы можно было потом эту информацию вставить новым слоем в dwg, чтобы проектировщики видели изменения в своем файле, это было бы идеальным решением!
Но как?
Василий Гнучев вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Преобразование DWG в SVG и обратно для работы в веб приложении.

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Документация Проектировщику на Torrents DEM Разное 262 24.02.2024 17:19
Разрешение на разработку ППРк allexandk Технология и организация строительства 4 20.03.2012 17:50
Что именно нужно относить к СМР? Mylene Технология и организация строительства 6 29.08.2011 11:50
Альтернативная бесплатная 2D САПР для работы с dwg Xefan Прочее. Программное обеспечение 6 05.04.2009 09:49