Сообщество программистов Autodesk в СНГ

ADN Club => AutoCAD .NET API => Тема начата: bender от 16-03-2015, 18:21:18

Название: MPolygon в AutoCAD 2010
Отправлено: bender от 16-03-2015, 18:21:18
У кого-нибудь есть опыт использования MPolygon в 2010-й версии?

В 2013-2015:

1. Подключаю к проекту AcMPolygonMGD.dll
2. При инициализации приложения загружаю AcMPolygonObjXX.dbx
3. Всё создается и рисуется.

В 2010, все тоже самое. При попытке создать MPolygon ошибка FileLoadException

System.IO.FileLoadException was caught
  Message=acmpolygonobj18d.dbx
  Source=AcMPolygonMGD
  StackTrace:
       в LoadMPoly()
       в Autodesk.AutoCAD.DatabaseServices.MPolygon..ctor()

Грешил на конкретную установку. Проверил на двух разных машинах 7-ка х64 и XP 32 - результат один и тот же.
Название: Re: MPolygon в AutoCAD 2010
Отправлено: Алексей Кулик от 16-03-2015, 19:35:41
Ничего не понял. Так рисуется или нет? Если руками загружать AcMPolygonObjXX.dbx, он загружается?
Если в проекте указывать не просто AcMPolygonObjXX.dbx, а его полное имя (т.е. с путем) - все будет работать или нет?
Название: Re: MPolygon в AutoCAD 2010
Отправлено: bender от 16-03-2015, 20:05:47
Так рисуется или нет?
В 2010-м нет, не рисуется. В 2013-1015 рисуется.
Если руками загружать AcMPolygonObjXX.dbx, он загружается?
Загружается и "руками" и программно, без ошибок. В списке загруженных приложений присутствует.
Если в проекте указывать не просто AcMPolygonObjXX.dbx, а его полное имя (т.е. с путем) - все будет работать или нет?
Без разницы, как указывать.
Название: Re: MPolygon в AutoCAD 2010
Отправлено: Александр Ривилис от 16-03-2015, 20:20:35
В AutoCAD 2010 проверить не могу - он у меня не установлен. А вот в 2012 точно работает. Вот этот исходник: http://adn-cis.org/forum/index.php?topic=975.msg4289#msg4289
Название: Re: MPolygon в AutoCAD 2010
Отправлено: bender от 16-03-2015, 20:42:12
В AutoCAD 2010 проверить не могу - он у меня не установлен. А вот в 2012 точно работает. Вот этот исходник: http://adn-cis.org/forum/index.php?topic=975.msg4289#msg4289

Да я в общем-то особо и не сомневался, что в 2012-м работать будет. А в 2010-м не работает, FileLoadException.
Название: Re: MPolygon в AutoCAD 2010
Отправлено: Александр Ривилис от 16-03-2015, 20:56:24
Ты не обратил внимание на странность в названии (лишняя буква d после 18 в имени файла):
acmpolygonobj18d.dbx
Название: Re: MPolygon в AutoCAD 2010
Отправлено: bender от 16-03-2015, 21:02:39
Ты не обратил внимание в странность в названии (лишняя буква d после 18 в имени файла):
acmpolygonobj18d.dbx


Почему-же обратил.


(https://adn-cis.org/forum/proxy.php?request=http%3A%2F%2Fs17.postimg.org%2Fa73jdnybv%2Fimage.jpg&hash=9b4202d26703a4d1ae221a308cf34844) (http://postimg.org/image/a73jdnybv/)
Название: Re: MPolygon в AutoCAD 2010
Отправлено: Александр Ривилис от 16-03-2015, 21:03:43
Ну тогда обрати внимание на эту тему: http://forums.autodesk.com/t5/autocad-map-3d-developer/map-2010-vb-net-2008-create-mpolygon-error/td-p/2502725
Название: Re: MPolygon в AutoCAD 2010
Отправлено: Александр Ривилис от 16-03-2015, 21:07:29
P.S.: Надеюсь AutoCAD 2010 SP2 установлен?
Название: Re: MPolygon в AutoCAD 2010
Отправлено: bender от 16-03-2015, 21:09:15
Обращю. Самый прикол-то в том, что если переименовать файл, и добавить вот эту d, то все будет работать.
Название: Re: MPolygon в AutoCAD 2010
Отправлено: bender от 16-03-2015, 21:10:09
P.S.: Надеюсь AutoCAD 2010 SP2 установлен?

Конечно.
Название: Re: MPolygon в AutoCAD 2010
Отправлено: Александр Ривилис от 16-03-2015, 22:00:31
Самый прикол-то в том, что если переименовать файл, и добавить вот эту d, то все будет работать.
Я честно говоря подозревал, что это должно сработать.
Название: Re: MPolygon в AutoCAD 2010
Отправлено: Алексей Кулик от 16-03-2015, 22:01:58
Что-то я в загоне жутком, не очень понимаю: а код не проще переделать на учет нормального имени файла?
Название: Re: MPolygon в AutoCAD 2010
Отправлено: Александр Ривилис от 16-03-2015, 22:05:02
а код не проще переделать на учет нормального имени файла?
Не прокатит, так как из managed AcMPolygonMGD.dll вызывается acmpolygonobj18d.dbx (там это четко прописано). Так что или переименовывать, или писать какие-то хуки, которые позволят подменить файл.
Название: Re: MPolygon в AutoCAD 2010
Отправлено: Александр Ривилис от 16-03-2015, 22:14:00
Кстати для AutoCAD Map3D 2010 эту проблему решили: http://knowledge.autodesk.com/sites/default/files/file_downloads/autocad_map_3d_2010_update_2_rus.html
Название: Re: MPolygon в AutoCAD 2010
Отправлено: Александр Ривилис от 16-03-2015, 22:27:36
Я вытащил оттуда исправленные AcMPolygonMGD.dll для x86 и x64 и прицепил к этому посту. Попробуй с ними.
Название: Re: MPolygon в AutoCAD 2010
Отправлено: bender от 16-03-2015, 22:46:24
При первом вызове приложения выдается ошибка. Но несмотря на это всё работает так, как надо. Спасибо.

Правда надо подумать, чего лучше: переименованный файл dbx со "своими" dll-ками в одной куче "таскать" или с админами договариваться, чтобы АКАД пофиксили....


(https://adn-cis.org/forum/proxy.php?request=http%3A%2F%2Fs8.postimg.org%2Flie3ihwn5%2Fimage.jpg&hash=f9ed749c4f1e705940b910990804bbed) (http://postimg.org/image/lie3ihwn5/)