Тема: Обработка dwg файлов без их открытия

Здравствуйте!
Обрабатываю n  файлов dwg. Каждый файл открывается в АвтоКаде, обрабатывается и закрывается. А как добраться до содержимого файла dwg, не открывая его? Или хотя бы не показывать открытый файл на экране?
Спасибо за ответы.

Re: Обработка dwg файлов без их открытия

> Аноним
Попробуй поиск по форуму: ObjectDBX
~'J'~

Re: Обработка dwg файлов без их открытия

fixo (2008-10-28 12:35:57)
Спасибо за ответ.
А через VBA это сделать можно?
А то я только VBA знаю...

Re: Обработка dwg файлов без их открытия

В референсах подключай библу соответствующую, например - AutoCAD/ObjectDBX Common 17.0 Type Library
Потом примерно так:

Dim objDBXDoc As AXDBLib.AxDbDocument

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

Re: Обработка dwg файлов без их открытия

Я неправильно вопрос поставил.
AutoCad пусть загружается, и файлы dwg тоже пусть загружаются, нужно только чтобы на экране файлы не отображались. Если, например, там сообщения пользователю будут какие-нибудь, или ошибки.
Сейчас я загружаю dwg файл так:

Set mdoc = Application.Documents.Open("d:\1dwg")

А как сделать, чтобы файлы на экране не отображались?

Re: Обработка dwg файлов без их открытия

Отключить монитор?

Re: Обработка dwg файлов без их открытия

Когда я работаю с dwg файлом из других приложений (Excel или Access), я использую свойство MyAutoCAD.Visible = False. См. нижеприведенный пример. Правда, он написан давно… Поэтому, как всегда, его надо бы усовершенствовать…
Думаю, что так же можно сделать и при обращении из AutoCAD
Option Explicit
    Dim wasAutoCADOpen As Boolean
    Dim MyAutoCAD As AcadApplication
    Public AcadFiles() As String  'массив Acadфайлов
Private Function AutoCADOpen()
    'Разработал В.Г. Тимаков 16.01.2007
    'Цель: Открытие AutoCAD'приложения
    'попытка работать с открытым AutoCAD-приложением
        On Error GoTo StartAutoCAD
        Set MyAutoCAD = GetObject(, "AutoCAD.Application")
        'Внимание! Имеют место нюансы, связанные с версией AutoCAD'а, к которому ты обращаешься.
            'Если это AutoCAD2006, например, то вместо "AutoCAD.Application"
            'следует писать "AutoCAD.Application.16.2"
        wasAutoCADOpen = True
StartAutoCAD:
    If Err.Number = 429 Then 'если нет открытого AutoCAD-приложения
        'вставить здесь запуск окна с текстом "Подождите, пожалуйста. Идет загрузка приложения AutoCAD"
        Set MyAutoCAD = CreateObject("AutoCAD.Application")
    End If
    Err.Clear
    MyAutoCAD.Visible = True
или
    MyAutoCAD.Visible = False
End Function

Re: Обработка dwg файлов без их открытия

Timak, спасибо за ответ, это именно то, что было нужно!
Благодарю за помощь!