Тема: Как обращаться к графическим элементам схемы?

есть вопрос... необходимо  на программном уровне обрабатывать информацию, содержащуюся в файлах autocada (*.dwg), а именно: поиск текста внутри файла (с возможностью при необходимости извлекать этот текст) и если это возможно каким-то образом обращаться к графическим элементам самой схемы.
Сразу оговорюсь  в  autocade я чайник (работаю только с готовыми файлами, просматриваю) - и не думайте что вот человек захотел сразу всего и много(вынь да положь ему все готовое) Просто если я не ошибаюсь AUTOCAD имеет в своей объектной модели поддержку VBA и я буду рад любому обмену мнениями по этому вопросу и если возможны какие-то ссылки на источники и тем более примеры то буду очень благодарен всем откликнувшмся. Мне это необходимо для доработки написанного на VBA приложения. Еще раз спасибо за возможные советы, наводки , ссылки и тд.

Re: Как обращаться к графическим элементам схемы?

Собственно алгоритм в принципе, я думаю, не особо сложен:
1. Получить список dwg-файлов в указанном каталоге с учетом подкаталогов.
2. Получить доступ к файлу (вот здесь есть несколько вариантов, которые результат по быстродействию в десятки раз могут дать).
3. Изменить состав файла.
4. Очистить файл от мусора.
5. Сохранить и закрыть файл.
Вот именно пункт 2 и имеет в себе несколько вариантов.
- Просто выполнять File.Open (или что-то подобное, я не спец в VBA) в фоновом режиме.
- Работать через ObjectDBX (это уже в поиск, Олег jr., кажется, делал подобные штуки)
- Вставлять файл в текущий как блок; разбивать его; потом использовать команду _.wblock
Я б делал на лиспе, если честно.
В любом варианте надо предусматривать вариант уже открытого файла (в текущей сессии када; в другой сессии када, может быть, даже другим пользователем); каким-то образом предусматривать блокировку загружаемых приложений и т.п. В общем, подводных камней хватает

Re: Как обращаться к графическим элементам схемы?

kpblc пишет:

Я б делал на лиспе, если честно.

Я бы написал на VB и использовал библиотеки ACAD. Как это делается можно найти в C:\Program Files\AutoCAD*\Sample\

Re: Как обращаться к графическим элементам схемы?

Доступ к объектам чертежа осуществляется через
Application.Documents.Document().ModelSpace (чаще всего). Объекты могут находиться не только в ModelSpace, но и в PaperSpace, а так же в блоках: Blocks.Block().
Также, в объектной модели есть указатели на активные "среды": ActiveDocument, ActiveLayout, ActiveSpase и т.д.
Конкретных примеров в этом форуме предостаточно.
Возможность работы с файлами и папками через объектную модель автокада, на мой взгляд, сильно урезана.
И лучше бы вам все-таки немного изучить сам автокад, а то трудно будет понять модель, не зная Када.