Как сделать AutoCAD Addon запустить во многих версиях AutoCAD

StackOverflow https://stackoverflow.com/questions/9320959

  •  26-10-2019
  •  | 
  •  

Вопрос

Я делаю AutoCAD ADD с помощью Dot Net 3.50, и я ссылаюсь на ACDBMGD.DLL, ACMGD.DLL из AutoCAD 2012, что я могу сделать, чтобы он запустил как на AutoCAD 2010, так и на AutoCAD 2011, если мне следует ссылаться на ACDBMGD.DLL, ACMGD. DLL от AutoCAD 2010, где я могу получить этот DLL, пока у меня просто AutoCAD 2012

Это было полезно?

Решение

Я добился некоторого успеха, используя библиотеки 2008 года в AutoCAD 2010, поэтому использование библиотек из AutoCAD 2010, вероятно, является вашим лучшим выбором, хотя не гарантированно будет работать. Это будет зависеть от того, что вы делаете.

Вы можете скачать библиотеки как часть пакета ObjectArx 2010 из Autodesk Developer Center (внизу страницы). Вы также можете получить ObjectArx 2011, если это необходимо.

Другие советы

Моя удача с долговечностью Autocad Addons была с Autolisp. У меня есть инструменты, которые я написал в 1995 году, которые все еще готовит сильные сейчас без модификации.

API .NET более совместим, чем ActiveX, но все еще есть некоторые различия.

Вы всегда можете использовать отражение, чтобы вызвать функции (вызовать их по имени), но будет выполнена куча чеков, и для вашего приложения будет много работы. Реактируйте одинаково на всех версиях.

Лучше всего (что я бы сделал, по крайней мере), - это сделать класс обертки для каждой функции, которую вы хотите. Например, я бы создал класс «MyCircle» для манипулирования кругами, а затем, внутри этого класса, выполнить общую функцию (Ex.: «Чанэтик (int newthickness)») и выполните код своего отражения, так что вы можете Управляйте, как выполняется вызов в зависимости от версий установленных версий AutoCAD (например, не вызовать определенную функцию в определенной версии AutoCAD, потому что она содержит ошибку). Это сделает расширяемый слой, который вы сможете повторно использовать во всей версии AutoCAD, и вы сможете поддержать любые изменения в API.

Я делаю это на 2012 и 2013 годы. Между ними есть некоторая разница.

Я обычно начинаю два Project One с Wizard 2012 Acad.net и другой с Wizard 2013 Acad .net.

Обновите оба одновременно

В большинстве случаев его просто копировать некоторые случаи, что он будет отличаться, если в 2013 году API развивался, например, в Civil3d 2012, нет никаких API-интерфера Полога к работе в 2013 году.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top