Фиберы и AutoCAD Civil 3D 2015

Автор Тема: Фиберы и AutoCAD Civil 3D 2015  (Прочитано 9967 раз)

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

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

  • Administrator
  • *****
  • Сообщений: 10235
  • Карма: 1300
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Фиберы и AutoCAD Civil 3D 2015
« Ответ #15 : 08-10-2014, 17:25:47 »
Я не смог воспроизвести ситуацию с отключенным FIBERWORD и неработающим контекстным меню в AutoCAD Civil 3D 2015 Russian:
https://screencast.autodesk.com/main/details/6b2db5f9-848d-4eb3-b535-eeb6ccbd731e
Это версия с SP1:

Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Дмитрий ЗагорулькинАвтор темы

  • ADN
  • *
  • Сообщений: 2131
  • Карма: 562
  • LISP/C#, AutoCAD/Civil 3D
  • Skype: zagor_dmtr
Re: Фиберы и AutoCAD Civil 3D 2015
« Ответ #16 : 08-10-2014, 17:40:40 »
Стойте, Вы жмете ПКМ во время выполнения команды, а я показывал ее поведение, когда команда не выполняется.

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

  • Administrator
  • *****
  • Сообщений: 10235
  • Карма: 1300
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Фиберы и AutoCAD Civil 3D 2015
« Ответ #17 : 08-10-2014, 18:00:47 »
Стойте, Вы жмете ПКМ во время выполнения команды, а я показывал ее поведение, когда команда не выполняется.
А так: https://screencast.autodesk.com/Main/Details/283940ed-41e6-4ba8-b2c9-d6e7dfd4e2cd ?
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Дмитрий ЗагорулькинАвтор темы

  • ADN
  • *
  • Сообщений: 2131
  • Карма: 562
  • LISP/C#, AutoCAD/Civil 3D
  • Skype: zagor_dmtr
Re: Фиберы и AutoCAD Civil 3D 2015
« Ответ #18 : 08-10-2014, 18:28:33 »
Александр Наумович, большое спасибо за проверку! Благодаря Вам, нашел-таки причину.
Такое поведение наблюдается, если имела место попытка NETLOAD из LISP файла. Возникает какая-то внутренняя ошибка и дальше Civil ведет себя таким безобразным образом.
Опять же, не всякая попытка NETLOAD из LISP вводит Civil в ступор. Попробовал выполнить загрузку одиночного DLL файла - выполнилось успешно. Когда же LISP грузит "пачку" DLL - возникает ошибка... Буду разбираться!
Еще раз спасибо!

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

  • Administrator
  • *****
  • Сообщений: 10235
  • Карма: 1300
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Фиберы и AutoCAD Civil 3D 2015
« Ответ #19 : 08-10-2014, 18:45:54 »
Такое поведение наблюдается, если имела место попытка NETLOAD из LISP файла.
Этот лисп ты запускал вручную после того как Civil 3D полностью загрузился или он запускается автоматически при загрузке? Если автоматически при загрузке, то каким образом (есть с десяток разных способов)?
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Дмитрий ЗагорулькинАвтор темы

  • ADN
  • *
  • Сообщений: 2131
  • Карма: 562
  • LISP/C#, AutoCAD/Civil 3D
  • Skype: zagor_dmtr
Re: Фиберы и AutoCAD Civil 3D 2015
« Ответ #20 : 08-10-2014, 18:56:34 »
В последний раз я запускал LISP через инструмент загрузки приложений (_APPLOAD). Мой LISP-загрузчик выдал ошибку при загрузке. После этого, я создал простой LISP в котором практически одной строчкой грузил одну DLL - он загрузился без ошибок.
Тогда я убрал из своего старого LISP-загрузчика установки значений переменных (GETVAR, SETVAR), вывод сообщений в командную строку (PRINC) и функцию итераций по списку (MAPCAR) - он стал грузиться без ошибок.
Вот теперь методом исключения пытаюсь понять, что же вызывает ошибку.

Оффлайн Дмитрий ЗагорулькинАвтор темы

  • ADN
  • *
  • Сообщений: 2131
  • Карма: 562
  • LISP/C#, AutoCAD/Civil 3D
  • Skype: zagor_dmtr
Re: Фиберы и AutoCAD Civil 3D 2015
« Ответ #21 : 08-10-2014, 19:36:33 »
В общем, получается, что проблема возникает при совместном использовании MAPCAR, LAMBDA, VL-CMDF и NETLOAD. Уж в чем тут проблема - непонятно.
Вот такой код вызывает ошибку:
Код - Auto/Visual Lisp [Выбрать]
  1. (mapcar (function (lambda (a) (vl-cmdf "_netload" a)))
  2.         (list
  3.           "zlib.net.dll"
  4.           "ProjectorSupport.dll"
  5.           "ProjectorWinFormLib.dll"))
А его "развернутый" аналог - нет:
Код - Auto/Visual Lisp [Выбрать]
  1. (vl-cmdf "_netload" "zlib.net.dll")
  2. (vl-cmdf "_netload" "ProjectorSupport.dll")
  3. (vl-cmdf "_netload" "ProjectorWinFormLib.dll")
В видео первая минута - один сеанс, где я запускал первый код, начиная с 00:01:02 - другой сеанс, где я запускал второй код. Эдакий видеомонтаж :)
https://screencast.autodesk.com/Main/Details/9f186a70-af9c-457e-8f69-c12e06ba103c

Если же фиберы включить, то ошибки не происходит.
https://screencast.autodesk.com/Main/Details/f2604c51-a010-4529-b46a-1e46a162203f

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

  • Administrator
  • *****
  • Сообщений: 10235
  • Карма: 1300
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Фиберы и AutoCAD Civil 3D 2015
« Ответ #22 : 08-10-2014, 19:38:14 »
начни с замены (vl-cmdf ...) на (command ...)
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Дмитрий ЗагорулькинАвтор темы

  • ADN
  • *
  • Сообщений: 2131
  • Карма: 562
  • LISP/C#, AutoCAD/Civil 3D
  • Skype: zagor_dmtr
Re: Фиберы и AutoCAD Civil 3D 2015
« Ответ #23 : 08-10-2014, 19:46:01 »
начни с замены (vl-cmdf ...) на (command ...)
Не помогло. К тому же, vl-cmdf есть в обоих вариантах.
Mapcar тоже отдельно работает - проверял. А вот именно в комбинации mapcar+netload+vl-cmdf "что-то не того" происходит.
В принципе, я спокойно могу обойтись и без таких конструкций, заменив циклы на развернутые аналоги.

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

  • Administrator
  • *****
  • Сообщений: 10235
  • Карма: 1300
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Фиберы и AutoCAD Civil 3D 2015
« Ответ #24 : 08-10-2014, 19:51:42 »
Я бы посоветовал грузить один dll-файл, который будет грузить все остальные. Список кого нужно грузить можно оформить в виде xml-файла в той же папке, что dll-файл. Мне кажется, что так должно быть надежнее. Кстати можно будет делать это всё из главного потока (Thread), что должно быть более корректным: http://adn-cis.org/ispolzovanie-potokov-dlya-fonovoj-obrabotki.html
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Дмитрий ЗагорулькинАвтор темы

  • ADN
  • *
  • Сообщений: 2131
  • Карма: 562
  • LISP/C#, AutoCAD/Civil 3D
  • Skype: zagor_dmtr
Re: Фиберы и AutoCAD Civil 3D 2015
« Ответ #25 : 09-10-2014, 09:28:09 »
начни с замены (vl-cmdf ...) на (command ...)
Заменил на command-s (новая LISP функция для синхронного выполнения команды), проблема пропала.
Я бы посоветовал грузить один dll-файл, который будет грузить все остальные. Список кого нужно грузить можно оформить в виде xml-файла в той же папке, что dll-файл. Мне кажется, что так должно быть надежнее. Кстати можно будет делать это всё из главного потока (Thread), что должно быть более корректным: http://adn-cis.org/ispolzovanie-potokov-dlya-fonovoj-obrabotki.html
О... эта тема отдельной ветки. Вообще, сейчас в моде Bundle, как я понял :)

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

  • Administrator
  • *****
  • Сообщений: 10235
  • Карма: 1300
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Фиберы и AutoCAD Civil 3D 2015
« Ответ #26 : 09-10-2014, 11:49:44 »
Заменил на command-s (новая LISP функция для синхронного выполнения команды), проблема пропала.
О! Отлично.
Вообще, сейчас в моде Bundle, как я понял :)
Сейчас да, но это если ты поддерживаешь AutoCAD начиная не ранее чем 2012-ым.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение