Можно ли работать с ObjectArx, не запуская Автокад

Автор Тема: Можно ли работать с ObjectArx, не запуская Автокад  (Прочитано 12156 раз)

0 Пользователей и 2 Гостей просматривают эту тему.

Оффлайн Борис_САвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 238
  • Карма: 3
А как получить Database?
Я правильно понимаю, что выгружать текущий документ не нужно?
Достаточно выполнить оператор Database.ReadDwgFile(...)?

Оффлайн Борис_САвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 238
  • Карма: 3
И еще один вопрос. Как закрыть accoreconsole?

Оффлайн pavka_97

  • ADN OPEN
  • ***
  • Сообщений: 150
  • Карма: 3
Как закрыть accoreconsole?
Можно попробовать в скрипте написать _quit. Или с потоком поиграться (Thread.Start()).

Database.ReadDwgFile(...)?
А имеет ли смысл использовать в консоли  Database.ReadDwgFile? Я сильно не эксперементировал, но что напрямую работать с файлом в консоли, что загружать его в базу одинаково по времени получалось (может у меня файлы легкие попадались).

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Можно попробовать в скрипте написать _quit.
Да. Это один из вариантов.
А имеет ли смысл использовать в консоли  Database.ReadDwgFile?
Это если нужно работать одновременно не с одним файлом.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Борис_САвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 238
  • Карма: 3
Почему оператор Autodesk.AutoCAD.ApplicationServices.Core.Application.Quit(); не закрывает accoreconsole?

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Борис_С,
Наверное потому, что это не оператор, а метод. :-)
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Борис_САвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 238
  • Карма: 3
Хорошо. Почему метод Autodesk.AutoCAD.ApplicationServices.Core.Application.Quit(); не закрывает accoreconsole?

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Хорошо. Почему метод Autodesk.AutoCAD.ApplicationServices.Core.Application.Quit(); не закрывает accoreconsole?
Ну наверное ты запускаешь его не из того контекста. Впрочем, не исключаю, что он и не должен работать в консоли.
Поэтому завершай его из scr-файла командой _QUIT.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Борис_САвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 238
  • Карма: 3
Поискал на форуме и нашел вариант:
Код - C# [Выбрать]
  1. foreach (var process in System.Diagnostics.Process.GetProcessesByName("accoreconsole"))
  2. process.Kill();
  3.  

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Жесткий вариант. :-)
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Борис_САвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 238
  • Карма: 3
Но работает.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Но работает.
Важно чтобы в этот момент всё было сохранено. Ну и плюс этот код убивает все процессы "accoreconsole". А нужно только текущий:
Process.GetCurrentProcess
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Борис_САвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 238
  • Карма: 3
У меня другая задача. Мне нужно только вытащить информацию из чертежа. Модифицировать мне ничего не нужно.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
У меня другая задача. Мне нужно только вытащить информацию из чертежа. Модифицировать мне ничего не нужно.
Если тебе нужно обработать сразу несколько чертежей, то можно запустить сразу несколько accoreconsole, которые будут выполнять свою работу параллельно. Так вот в этом случае твой код убъёт сразу все процессы accoreconsole.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение