Interop в Autocad 2014

Автор Тема: Interop в Autocad 2014  (Прочитано 21270 раз)

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

Оффлайн Андрей Бушман

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
Re: Interop в Autocad 2014
« Ответ #15 : 06-06-2016, 09:11:08 »
У меня в коде много на lisp работы с ActiveX (получение объектов и другого,но это надо пробывать). До этого accoreconsole.exe не пользовался.
Попробовал?

Оффлайн prajdziswetАвтор темы

  • ADN OPEN
  • Сообщений: 32
  • Карма: 0
Re: Interop в Autocad 2014
« Ответ #16 : 06-06-2016, 11:05:13 »
1) К сожалению не пробовал (сам тоже читал, что не поддерживает, хоть загрузку команды vl-load-com поддерживает (я про accoreconsole.exe)).

Все больше прихожу к мысли, что проще реализовать через свой загрузочник-lisp (он у меня работает со всеми типами lsp,vlx,arx,dll можно сказать что-то "аля" accoreconsole.exe с помещением в автозагрузку или на один раз, с выгрузкой и удалением файлов если надо) => то есть поместить строку выполнения лиспа в текстовый файл не проблема.
+ не зависит от версии автокад
- теряю контроль, в плане загрузка, выполнение, закрытие осуществляется самим автокадом. и программа получается тупо ждет ответа.

2) Полностью согласен с проверкой на null (ту же не совершенный код, да и работаю с com autocad первый раз). Да и Acad.Documents.Add(t) теоретически автокад сам должен был бы, если в Acad.Documents. метода New не вижу. Вопрос сам как бы напрашивается : если добавляете как его добавить, если пустой или другой чертеж не открыт? (открылся сам автокад).

п.с Да и библиотека честно говоря отвратительная - в плане если взять работу с вордом через ком, там при введении метода - подсказки. Тут чисто из-за названия ориентироваться, я понимаю если я её писал. Ато вы же для людей пишете(разработчики автокад), то добавить подсказки на c# или  c++ это не так сложно
п.с2 Андрею лучше не читать, ато снова к грамматическим ошибкам придерется )). - прошу прощения

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

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

Оффлайн Андрей Бушман

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
Re: Interop в Autocad 2014
« Ответ #18 : 06-06-2016, 11:41:51 »
1) К сожалению не пробовал (сам тоже читал, что не поддерживает, хоть загрузку команды vl-load-com поддерживает (я про accoreconsole.exe)).
Что мешает попробовать? Запустить accoreconsole.exe и указать ему в качестве параметра твой лисп файл - это занимает несколько секунд времени.
Все больше прихожу к мысли, что проще реализовать через свой загрузочник-lisp (он у меня работает со всеми типами lsp,vlx,arx,dll можно сказать что-то "аля" accoreconsole.exe с помещением в автозагрузку или на один раз, с выгрузкой и удалением файлов если надо) => то есть поместить строку выполнения лиспа в текстовый файл не проблема.
На мой взгляд, имеет смысл изобретать велосипед, если вариант с accoreconsole.exe у тебя точно не будет работать. Но, как я уже выше писал, нет смысла гадать "годится/не годится" не попробовав то, что было предложено.

Не стоит так же сбрасывать со счетов тот факт, что accoreconsole.exe, в отличие от acad.exe, запускается и завершает работу (после выполнения твоего лиспа) почти мгновенно. Т.е. не приходится ждать 15-45 секунд пока оно "прокашляется" и будет готово к работе (как это обычно имеет место с acad.exe).
п.с2 Андрею лучше не читать, ато снова к грамматическим ошибкам придерется )). - прошу прощения
Это надо было писать в начале сообщения, а не в конце. :)

Оффлайн prajdziswetАвтор темы

  • ADN OPEN
  • Сообщений: 32
  • Карма: 0
Re: Interop в Autocad 2014
« Ответ #19 : 06-06-2016, 12:33:07 »
Вечером(после работы) если не буду занят проверю. Просто на мой основной лисп подвешен еще диалог и это все скомпилировано одним файлом vlx -  и мне надо убрать диалог, чтобы он без него сразу запускался(для проверки accoreconsole.exe ).
п.с как проверю отпишусь

Оффлайн prajdziswetАвтор темы

  • ADN OPEN
  • Сообщений: 32
  • Карма: 0
Re: Interop в Autocad 2014
« Ответ #20 : 06-06-2016, 16:29:41 »
Проверил, в принципе что и требовалось доказать:
1) скрин - простым подсовыванием не получилось, сразу дать accoreconsole.exe свой лисп  (это неважно смотрите второй скрин)
2) скрин - как видно vla-object возвращает nil





п.с спасибо Александру Ривилису за ссылки на ошибки
« Последнее редактирование: 07-06-2016, 12:21:52 от prajdziswet »

Оффлайн Алексей Кулик

  • Administrator
  • *****
  • Сообщений: 1115
  • Карма: 173
Re: Interop в Autocad 2014
« Ответ #21 : 21-06-2016, 23:12:13 »
Прошу прощения, был лишен сети...
Старое, но, похоже, не потерявшее актуальности: http://autolisp.ru/2014/03/04/accoreconsole-lisp-debug/
Все, что сказано - личное мнение.

Правила форума существуют не просто так!

Приводя в сообщении код, не забывайте про его форматирование!

Оффлайн prajdziswetАвтор темы

  • ADN OPEN
  • Сообщений: 32
  • Карма: 0
Re: Interop в Autocad 2014
« Ответ #22 : 23-06-2016, 07:01:26 »
Большое спасибо и вправду не потерявшее актуальности ссылка.
Думал редактор vlide в консоли не работает....

Большое спасибо. :)