Андрей Бушман @Hwd
Программист C#, JavaScript, Typescript
Информация
- В рейтинге
- Не участвует
- Откуда
- Санкт-Петербург, Санкт-Петербург и область, Россия
- Дата рождения
- Зарегистрирован
- Активность
Специализация
Fullstack Developer
Lead
От 350 000 ₽
C#
ASP.Net
.NET Core
Docker
Linux
SQL
Git
Наиболее рациональный и быстрый способ итерации показан здесь в методе, имеющем сигнатуру:
public static Db.ObjectId[] GetDBObjectIds(this Db.Database db, Func<Db.ObjectId, Boolean> filter).
Как видим, перевод действительно отличается…
Однако следующий код работает:
Проверяю:
Здесь я перечислил четыре пункта, выполнение которых существенно повышает вероятность совместимости. Официальной информации по этому вопросу нет, насколько мне известно. То, что я пишу — основано на собственном опыте.
Вы невнимательно читали указанную мною ссылку — я ведь там пояснил, в каких случаях сборку можно компилировать как AnyCPU, а в каких собирать отдельно под x86 и x64. Пояснение: управляемые DLL файлы, подключаемые из Object ARX SDK я называю «заглушками» по той причине, что в процессе работы Ваше расширение будет использовать не их (Copy Local = False), но реальные одноимённые DLL файлы из каталога AutoCAD. Заглушки, как правило, не совпадают с «боевыми» DLL по размеру, что наводит на мысль, что они не идентичны по составу.
Обозначенный ответ не имеет никакого отношения к обозначенному вопросу. Обозначенный ответ относится к расширениям, написанным на C++. Для .NET расширений действуют иные «правила игры».
Неверно. Это набор библиотек, необходимых для написания расширений под AutoCAD (почувствуй разницу). Работать с AutoCAD можно и через COM, используя позднее связывание — в этом случае ObjectARX SDK не используется вовсе.
>Пока задачи перекомпилировать программу с другими библиотеками у меня не возникало. Думаю, что это хорошо: перспектива создавать отдельную версию продукта для других выпусков AutoCAD не радует совершенно.
Здесь, в комментарии от 11 сентября 2014 г. 12:19 рассказано, как это решается «малой кровью».
Это утверждение справедливо скорее к Wizard для C++, чем для .NET. Лично я при создании .NET расширений под AutoCAD предпочитаю не юзать «визард»…
Версию .NET целесообразно задавать в любом случае. Информация о совместимости приведена здесь
>Эти DLL-файлы находятся в папке с именем inc-<наименование_архитектуры>.
В более свежих версиях AutoCAD часть управляемых DLL находится в подкаталоге inc.
Рекомендую почитать это
Плохой «способ\метод». «Исчерпывающий перечень» тебе и не нужен — подключать следует только то, что тебе действительно необходимо. Как правило, это acdbmgd.dll, acmgd.dll, (acoremgd.dll — для AutoCAD 2013 или новее). Почитай это
Это смотря какие библиотеки подключаются… Почитай на тему TLB файлов здесь
Плохой способ, т.к. в этом случае существует вероятность в AutoCAD поймать Fatal Error. Вместо этого следует пользоваться статическими методами класса Autodesk.AutoCAD.ApplicationServices.Application: для WPF это методы ShowModalWindow и ShowModelessWindow, а для WinForms — методы ShowModalDialog и ShowModelessDialog.
По хорошему, «в скобках» должно указываться гораздо больше информации, которая определяет контекст работы команды (приложение или документ), локализованное имя команды, а так же связь с соответствующим разделом справочной системы. Альтернативный, более гибкий вариант управления локализациями команд AutoCAD обозначен здесь
отсутствует изображение.
отсутствует изображение.
отсутствует изображение.
С каких это пор AutoCAD стал «технологией»? AutoCAD — это программное обеспечение из категории САПР (Система Автоматизированного Проектирования). И, откровенно говоря, если заглянуть «под капот» этого ПО, то «тихий ужас» (по части качества его API) обеспечен: огромное количество багов, многое вовсе не тестируется прежде чем попадает в «продакшэн». Причём сей факт (плохое тестирование) компания Autodesk даже и не скрывает.
Оригинальный вариант — замечателен, но текущий локализованный вариант просто отвратителен. На форумах и знакомым программистам я настоятельно не рекомендую покупать её, ибо большая цена в данном случае вовсе не подразумевает соответствующего качества (к сожалению).
п.с. Книги по программированию должны переводить программисты, а не дилетанты, причём не просто программисты, а программисты хорошо знающие английский.
— Состою в браке :)