ARXDBG и MGDDBG - утилиты для анализа AutoCAD, чертежа и т.д.

Автор Тема: ARXDBG и MGDDBG - утилиты для анализа AutoCAD, чертежа и т.д.  (Прочитано 141288 раз)

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

Оффлайн Александр РивилисАвтор темы

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Редактировать можно только те свойства, значения которых жирным шрифтом:





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

Оффлайн Привалов Дмитрий

  • ADN Club
  • *****
  • Сообщений: 546
  • Карма: 119
Я перекомпилировал для версий начиная с 2012. Для более ранних наверное работать не будет.
У нас 2010.  :-D
Я написал некий прототип программы ARXDBG основанный на рефлексии, только для целей просмотра структуры dwg и свойств объектов.
Только довести до ума времени нет. :-D


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

  • ADN
  • *
  • Сообщений: 2531
  • Карма: 737
А чем MGDDBG плох? Зачем свой велосипед?

Оффлайн Привалов Дмитрий

  • ADN Club
  • *****
  • Сообщений: 546
  • Карма: 119
А чем MGDDBG плох? Зачем свой велосипед?
Общий ответ - для удобства изучения проблем в файлах.

По крайней мере в старой версии MGDDBG
1. Не было рефлексии, т.е. всех свойств
2. Значения показывались округленными
3. Структуру показывал не всю
4. Мало влезало свойств на экран.
5. Кое-где неудобен, приходиться много тыкать, чтоб посмотреть свойства того, что нужно.

Конечно это не полноценный аналог и задумывался только как средство более быстрого и удобного просмотра свойств. Использую совместно с MGDDBG.
Естественно недоделанный, и мало что умеет.
Ну и может упасть, т.к. считывает значения методов вида int GetValues()....не все методы, не всех объектов можно так бездумно вызывать.

Оффлайн Александр РивилисАвтор темы

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

Оффлайн Александр РивилисАвтор темы

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

Оффлайн Привалов Дмитрий

  • ADN Club
  • *****
  • Сообщений: 546
  • Карма: 119
Она там была всегда. Только нужно было знать как её найти.
И как ее найти? Контекстного меню у меня на выбранных объектах нет. Это я первым делом проверил. :-(

Там все исходники - перекомпилируй для себя под AutoCAD 2010.
хм. ну если найду vs2008, то попробую.

Исходники скачивать от сюда?
http://adn-cis.org/assets/gallery/AutoCAD/MgdDbg.zip

Оффлайн Александр РивилисАвтор темы

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
И как ее найти? Контекстного меню у меня на выбранных объектах нет. Это я первым делом проверил. :-(


хм. ну если найду vs2008, то попробую.
Зачем именно эту версию? Это для ObjectARX (и соотвественно ARXDBG) нужна конкретная версия. А для .NET такого ограничения нет.
Исходники скачивать от сюда?
http://adn-cis.org/assets/gallery/AutoCAD/MgdDbg.zip
Именно.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Привалов Дмитрий

  • ADN Club
  • *****
  • Сообщений: 546
  • Карма: 119
Зачем именно эту версию? Это для ObjectARX (и соотвественно ARXDBG) нужна конкретная версия. А для .NET такого ограничения нет.
...Извиняюсь. Все перепутал, думал речь про ARXDBG.
MgdDbg не пользовался, один раз посмотрел и подумал, что он налог ARXDBG.
А в MgdDbg есть еще полезные отличия от ARXDBG?

Оффлайн Александр РивилисАвтор темы

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

Оффлайн Владимир Шу

  • ADN Club
  • *****
  • Сообщений: 624
  • Карма: 158
    • ПГСу Бложик
Рылся в блогах автодеска и с удивлением узнал, что оказывается существует или существовала версия MgdDbg для архитектурного автокада: MgdDbgAec ссылка: https://adndevblog.typepad.com/aec/2012/08/flat-migrated-mgddbgaec.html
Исходники там есть и их даже можно подправить и заставить работать в современных версиях, только там видимо что то не дописано  и просматривать свойства AEC объектов у меня так и не получилось =(

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

  • ADN
  • *
  • Сообщений: 2531
  • Карма: 737
Сейчас игрался с переменной STARTUP, выставил её в 2 и словил критические ошибки в ARXMGDARXDBG при открытии AutoCAD (Civil 3D) 2019  :-\

Оффлайн Александр РивилисАвтор темы

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

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

  • ADN
  • *
  • Сообщений: 2531
  • Карма: 737

Оффлайн Александр РивилисАвтор темы

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Дмитрий Загорулькин,
Я нашел ошибку и исправил для AutoCAD 2019...2022. Для более ранних версий не вижу смысла.
На всякий случай укажу исправленный код:
Файл App\ArxDbgApp.cpp. Вместо:
Код - C++ [Выбрать]
  1. acedGetAcadDwgView()->Invalidate();
  2. acedGetAcadDwgView()->UpdateWindow();
должно быть:
Код - C++ [Выбрать]
  1. if (acedGetAcadDwgView()) { // Проверка на то, что есть окно документа
  2.    acedGetAcadDwgView()->Invalidate();
  3.    acedGetAcadDwgView()->UpdateWindow();
  4. }

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