ImpEntity - что это, и как с ним работать?

Автор Тема: ImpEntity - что это, и как с ним работать?  (Прочитано 7614 раз)

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

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

  • ADN OPEN
  • Сообщений: 39
  • Карма: 0
Добрый день!
При разборе на составляющие вхождения блока, наткнулся на такую сущность. Конкретной информации о том что это такое не нашёл, скорее только недоумение. Вопрос в следующем:
1. Что это за тип сущности?
2. Как определить, что мы имеем дело с ImpEntity? При попытке использовать синтаксис типа: if (entity is ImpEntity)... говорится что доступа нет к внутреннему классу.
Спасибо.

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
1. Что это за тип сущности?
Вероятнее всего для него нет .NET "обертки"
2. Как определить, что мы имеем дело с ImpEntity? При попытке использовать синтаксис типа: if (entity is ImpEntity)... говорится что доступа нет к внутреннему классу.
Ну ты же на него как-то наткнулся? Попробуй через сравнение RXClass.GetClass(typeof(ImpEntity)) и entity.GetRXClass()
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN OPEN
  • Сообщений: 39
  • Карма: 0
Александр, я выяснил что это за объекты такие - оказалось что это MPolygon'ы. Внезапно(!) они стали определяться как ImpEntity. Хотя раньше всё было ок. Может есть какая-то настройка или что-то в этом роде?
Нашёл тему на форуме за 2010 год http://forums.autodesk.com/t5/autocad-map-3d-developer/problem-with-mpolygon-observed-as-impentity/td-p/2122208. Однако до конца не довели проблему. Насколько я понял автор обнаружил, что если сбросить профиль в автокаде и импортировать его с машины где всё нормально, то проблема исчезает. Т.е. скорее всего с настройками что-то.
« Последнее редактирование: 02-02-2015, 08:44:49 от MikhailTAP »

Оффлайн trir

  • ADN Club
  • ****
  • Сообщений: 475
  • Карма: 63
http://adndevblog.typepad.com/autocad/2012/08/create-a-mpolygon-in-autocad-using-net.html
    ' Make sure that AcMPolygonObj19.dbx is loaded for MPolygon
    ' the 19 version number is valid for AutoCAD 2013
    Autodesk.AutoCAD.Runtime.SystemObjects.DynamicLinker.LoadModule("AcMPolygonObj19.dbx", False, False)

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

  • ADN OPEN
  • Сообщений: 39
  • Карма: 0
Я попробовал добавить в инициализацию плагина SystemObjects.DynamicLinker.LoadModule("AcMPolygonObj18.dbx", false, false) но результата нет. Созданные МПолигоны так же как и раньше видны как ImpEntity.

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Я попробовал добавить в инициализацию плагина SystemObjects.DynamicLinker.LoadModule("AcMPolygonObj18.dbx", false, false) но результата нет. Созданные МПолигоны так же как и раньше видны как ImpEntity.
А какая версия AutoCAD? Ну и неплохо бы загрузить AcMPolygonMGD.dll - это и есть .NET обертка для MPolygon
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN OPEN
  • Сообщений: 39
  • Карма: 0
Версия Автокада 2012. AcMPolygonMGD.dll подгружал. Но всё равно МПолигоны отображаются как ImpEntity.

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

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