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

ADN Club => AutoCAD .NET API => Тема начата: Привалов Дмитрий от 17-07-2019, 14:59:09

Название: Наложение геометрических зависимостей
Отправлено: Привалов Дмитрий от 17-07-2019, 14:59:09
Можно ли программно создавать геометрические зависимости(Geometric Constraints)?
Имеется ли API для этого?

Хотелось привязать 2 блока друг к другу по точкам. Вручную зависимости накладываются как надо.

Название: Re: Наложение геометрических зависимостей
Отправлено: Александр Ривилис от 17-07-2019, 15:03:05
Можно ли программно создавать геометрические зависимости(Geometric Constraints)?
Имеется ли API для этого?
Можно. Имеется, но не в AutoCAD .NET API, а в чистом ObjectARX. Вот тут как использовать в .NET: https://adndevblog.typepad.com/autocad/2013/01/a-simplified-net-api-for-accessing-autocad-parameters-and-constraints.html

P.S.: Прицепил исходники.
Название: Re: Наложение геометрических зависимостей
Отправлено: Привалов Дмитрий от 17-07-2019, 15:51:29
P.S.: Прицепил исходники.
Спасибо за исходники, а то заметил что в статье ссылка не доступна :-)
Название: Re: Наложение геометрических зависимостей
Отправлено: Александр Ривилис от 17-07-2019, 15:56:50
Спасибо за исходники, а то заметил что в статье ссылка не доступна :-)
Нужно будет автору написать. О! Уже доступно. Выложу и эти. Исходники, которые я выкладывал в предыдущем сообщении, я брал в блоге Киана.
Название: Re: Наложение геометрических зависимостей
Отправлено: exilerus от 30-12-2019, 15:39:31
Здравствуйте, Коллеги.
Нет ни у кого собранной dll под AutoCAD 2016-2020?
Собрать не получается по исходникам, к сожалению(

Заранее спасибо!
Название: Re: Наложение геометрических зависимостей
Отправлено: Александр Ривилис от 30-12-2019, 17:55:46
Здравствуйте, Коллеги.
Нет ни у кого собранной dll под AutoCAD 2016-2020?
Собрать не получается по исходникам, к сожалению(

Заранее спасибо!
Увы, но тут нужна не одна dll, а по две на каждую из указанных версий AutoCAD.
Название: Re: Наложение геометрических зависимостей
Отправлено: Александр Ривилис от 31-12-2019, 00:49:37
Я сделал вариант для AutoCAD 2017. Думаю, что на основе его ты сможешь сделать и для остальных версий. Например, для 2018:
1. Вместо переменной окружения ARX2017 (она описывает путь к ObjectARX SDK 2017) нужно будет создать ARX2018 и назначить ей путь к ObjectARX SDK 2018. Во всех файлах *.vcxproj и *.csproj заменить ARX2017 на ARX2018
2. Установить правильный Platform Toolset (для AutoCAD 2017 и 2018 это v140)
Код - XML [Выбрать]
  1.     <PlatformToolset>v140</PlatformToolset>
3. Установить правильный .NET Framework Version (для AutoCAD 2017 это 4.6, для AutoCAD 2018 это 4.7):
Код - XML [Выбрать]
  1.     <TargetFrameworkVersion>v4.7</TargetFrameworkVersion>
4. Контекстно заменить 21.lib на 22.lib в файлах *.vcxproj
Вроде бы перечислил всё.
Название: Re: Наложение геометрических зависимостей
Отправлено: exilerus от 07-01-2020, 23:40:47
Спасибо вам большое!
Очень сильно выручили меня!
Название: Re: Наложение геометрических зависимостей
Отправлено: Александр Ривилис от 07-01-2020, 23:43:06
Спасибо вам большое!
Очень сильно выручили меня!
Протестировал?
Название: Re: Наложение геометрических зависимостей
Отправлено: exilerus от 07-01-2020, 23:44:11
Сообщение заметил, просто не было оповещения почему-то. 9-го все проверю, дома нет Автокада
Сообщу.
В любом случае спасибо большое
Название: Re: Наложение геометрических зависимостей
Отправлено: exilerus от 09-01-2020, 10:26:22
Спасибо большое!
Пересобрал под AutoCAD 2019, все работает. Постараюсь к концу выходных дополнить то, что Вы писали по поводу инструкции, мне пришлось еще некоторые манипуляции провести.
1)Как оказалось, важна битность кода. Под MixedPlatforms Автокад не загружал. Пересобрал под x64 - все запустилось.
2)Необходимо было изменить вот это, так как SDK такого у меня не было, как в проекте было прописано.
Код - XML [Выбрать]
  1. <WindowsTargetPlatformVersion>10.0.18362.0</WindowsTargetPlatformVersion>

Пока собралось и работает. Попробую еще на другие платформы собрать и более полно описать процесс