• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Чтение данных из Dwg файла

  • Автор темы FixeR
  • Дата начала
Статус
Закрыто для дальнейших ответов.
F

FixeR

Доброго времени суток!

Задача такая: нужно прочитать некоторые текстовые данные из dwg (AutoCAD) файла.
Например, пути (ссылки) к растровым изображениям, данные основной надписи.

Подключать это всё придется к VB (а точнее к LotusScript'у).

Я нашел библиотеку CADImporterDLL, демоверсию от Gold Soft, подключил её.
Заработали только 3 функции из заявленных 12.
В общем-то, на сайте прямо указано, что совместимость с VB частичная.
Да и самой нужной мне функции там все равно нет.

Также есть Open DWG Alliance, проводящие обратную разработку формата dwg, и продающие свои решения за $.
Но у них сейчас что-то с сайтом, даже контактов нет.

Кто-нибудь что-нибудь делал подобное?
 
N

nvyush

Наверняка есть на java. На форуме, в том числе в закреплённых темах, достаточно информации как использовать java из LS.
 

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
а просто открыть его бинарно и выдрать нужные данные?
 
F

FixeR

ToxaRat
в бинарном виде можно выдрать далеко не всё...

nvy
спасибо, посмотрю
 

VladSh

начинающий
Lotus Team
11.12.2009
1 786
157
BIT
78
FixeR
Чтобы выдирать данные и не было установленного AutoCAD на компе - не знаю...

Если AutoCAD есть на компе, то всё проще гораздо.
Касательно
пути (ссылки) к растровым изображениям
конкретного решения у меня нет, но пути такие:
1. VBA AutoCAD'а, оно достаточно хорошо совместимо с LS, объектная модель на VB позволяет многое, но не всё - надо смотреть (в AutoCAD запустить "Редактор VBA", в нём Справку и поискать "Object Model").
Код на VB/LS получается огромный, что нерационально! На практике, в основном, используется 2-й способ.
2. Lisp - внутренний скриптовый язык AutoCAD'а. Механика такая - на VB/LS/Delphi генерируется строка с параметрами и вызывается нужный lisp-файл, на этом роль VB/LS/Delphi заканчивается, дальше всё делает lisp, потом возвращает данные в прогу.
3. OA (ObjectARX в самом AutoCAD'е или ObjectDRX в IntelliCAD'ах на его основе) - это библиотеки на C++, с помощью которых можно делать всё, что угодно, что может AutoCAD; достаточно хорошо владеть C++ :) Библиотеки платные, но их можно легко найти в нэте ))

Касательно
данные основной надписи
дело в том, что тупо данные (в примитивах) уже давно никто не пишет, т.к. это примитивно (тавтология получилась )) ), в основном создают объекты, а работать с чужими объектами... надо знать их структуру. Да и не благодарное это дело, завязываться на какой-то определённый объект, т.к. разработчиков реально сотни, а файл теоретически может прийти откуда угодно...

Это всё очень сжато.. короче Вам сюда: Здесь есть богатая библиотека, с примерами работы с AutoCAD из VB/Delphi (при желании код без проблем можно переложить на LS), есть мощный форум!
Здесь раньше был целый раздел, посвящённый программированию, но что-то я его не вижу...

Что-то выдрать как из обычного файла не получится, т.к. dwg - представляет собой микро базу данных, (формат раньше был закрытым, сейчас не знаю), может быть зашифрованным, идентификация пользователя в этом случае производится с помощью самого AutoCAD.

P.S. Да, кстати, не советую тратить время на Java-решения.. может сейчас что-то и поменялось, но раньше это было невозможно, т.к. AutoDesk сильно завязана с M$, там даже проблемы были при работе из Borland C++, а не то, что из Java.
 
N

nvyush

... Здесь есть богатая библиотека, с примерами работы с AutoCAD из VB/Delphi ...
P.S. Да, кстати, не советую тратить время на Java-решения.. может сейчас что-то и поменялось, но раньше это было невозможно, т.к. AutoDesk сильно завязана с M$, там даже проблемы были при работе из Borland C++, а не то, что из Java.
Если мне не изменяет склероз, Delphi и Borland C++ есть продукты одной компании. Почему в первом случае проблем нет, а во втором — есть?
 

VladSh

начинающий
Lotus Team
11.12.2009
1 786
157
BIT
78
Если мне не изменяет склероз, Delphi и Borland C++ есть продукты одной компании. Почему в первом случае проблем нет, а во втором — есть?
Потому что так уж сложилось, что на Delphi под AutoCAD пишут используя объектную модель VBA (это считай что COM/OLE), а на Borland C++ - используя ObjectARX, т.е. С++ библиотеки.
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!