Как сделать стар платинум реквием в autocad
Решил рассказать о своем опыте работы с AutoCAD. Может быть, кому-то это поможет – ну или хотя бы интересным покажется.
Предыстория
Началось все достаточно просто: в очередной раз почувствовав острую нехватку денег, я решил, что пора бы уже начать их где-нибудь разыскивать. И вот после пары недель поиска на «Фрилансим» обнаружилась вакансия разработчика для создания программы, взаимодействующей с AutoCAD.
Скажу сразу: до того дня общаться с AutoCAD мне не доводилось. Однако объявление содержало в себе фразу «Опыт работы не требуется», которая наполнила мою душу надеждой. Я связался с разместившим вакансию человеком и получил тестовое задание.
Для пробы предлагалось создать на чертеже пару объектов, а также вывести текст. Несколько дней я искал информацию об API и пытался подружиться с непривычной программой. В конце концов фигуры были нарисованы, текст выведен, а тестовое задание отправлено на проверку. И через несколько дней я неожиданно узнал, что принят! Чудеса, да и только.
1. Подготовка необходимых инструментов
1.1. Собственно AutoCAD
Тут все понятно. Качайте с официального сайта Autodesk, ставьте, 30 дней наслаждайтесь прекрасным инструментом. Потом узнайте цену покупки и повесьтесь. Для разработчиков действует специальная программа ADN , по которой можно получать девелоперские лицензии на продукты Autodesk. Стоимость базовой версии подписки, как указано на сайте, составляет от 700 долларов в год.
1.2. ObjectARX SDK – набор библиотек, необходимых для работы с AutoCAD
Последние три-четыре версии библиотек можно бесплатно скачать тут после регистрации. Более ранние придется поискать – скажем, тут. На всякий случай продублирую список прямо здесь – не такой уж он и длинный:
ссылки для загрузки ObjectARX SDK для версий AutoCAD 2000 – 2011Версия SDK и ссылка для загрузки | Совместимость с версиями AutoCAD |
---|---|
2011 | 2011, 2012 |
2010 | 2010, 2011, 2012 |
2009 | 2009 |
2008 x86 | 2008, 2009 x86 |
2008 x64 | 2008, 2009 x64 |
2007 | 2007, 2008, 2009 x86 |
2006 | 2006 |
2005 | 2005, 2006 |
2004 | 2004, 2005, 2006 |
2002 | 2002 |
2000i | 2000i, 2002 |
2000 | 2000, 2000i, 2002 |
R14 | R14 |
Лично меня в свое время очень заинтересовал вопрос обратной совместимости ObjectARX. Как-то раз заказчик спросил: «А с какими версиями AutoCAD сможет работать программа?», и мне пришлось изрядно времени потратить на поиски ответа. В целом, ответ звучит так: «Autodesk поддерживает обратную совместимость в течение трех лет ». Какие версии совместимы между собой, можно посмотреть под спойлером выше.
Пока задачи перекомпилировать программу с другими библиотеками у меня не возникало. Думаю, что это хорошо: перспектива создавать отдельную версию продукта для других выпусков AutoCAD не радует совершенно.
1.3. MS Visual Studio 2013 Express
Великолепная IDE! Больше про нее и говорить-то нечего. Ссылок для скачивания масса – например, вот.
Можно, конечно, использовать и более ранние версии. Я начинал работу над проектом в MS Visual Studio 2010, но потом решил перейти на более современный выпуск.
1.4. Поисковик, усидчивость, здравый смысл
- нет привычных всплывающих подсказок о назначении класса, свойства или метода;
- нет подробной справки.
В конце этой статьи приведен список ресурсов, на которых можно позадавать вопросы и, если повезет, получить на них ответы.
2. Создание проекта библиотеки
Вкратце продублирую основные этапы:
2.1. Создать проект «Библиотека классов» («Class Library»)
Эти DLL-файлы находятся в папке с именем inc-<наименование_архитектуры>. Так, в моем случае я добавляю ссылки на библиотеки из папки C:\ObjectARX 2010\inc-win32.
у меня дома установлена 32-разрядная ОС, у заказчика – 64-разрядная. Пока серьезных проблем с совместимостью не возникало. Но однажды я все же напоролся на то, что у меня функция возвращала Int32 , а у заказчика – Int64 . Линковщик ОЧЕНЬ расстраивался. Нужно иметь эту особенность в виду.Первое знакомство с API у меня заключалось в лихорадочных попытках скомпилировать хоть какой-нибудь из примеров, щедро разбросанных по Сети. И что сλка характерно, компилироваться они упорно не хотели, ругаясь на неизвестные пространства имен и классы. В попытках собрать свой первый проект я с горя включил в него чуть ли не все DLL-файлы, которые шли с ObjectARX. Плохой способ – так делать не надо.
Ну, это вопрос не ко мне. Я только могу сказать, что в начале примеров обычно идет перечисление используемых пространств имен – скажем, так:
То, что начинается со слова «Autodesk», – это и есть те дроиды пространства имен, которые мы ищем. Теперь осталось разыскать контейнеры, которые их содержат. Исчерпывающего перечня сопоставлений я найти не смог, поэтому все проверялось методом научного тыка. Если есть более правильный способ, было бы интересно его узнать…
А пока – вот список DLL-файлов, которые я использую в проекте, и содержащихся в них пространств имен:
Теперь в любом месте этого файла можно вместо Autodesk.AutoCAD.ApplicationServices.Application писать acadApp .
Есть смысл провернуть такую операцию с наиболее часто употребляемыми классами. Непременно так делайте, код будет компактнее и понятнее. Цинизм данного совета заключается в том, что к тому моменту, когда вы наконец поймете, какие же классы являются у вас наиболее часто употребляемыми, что-то менять будет уже сильно лень.
2.3. Написать код плагина
Все очень просто. Вначале мы указываем необходимые пространства имен. Нам потребуются два.
Таким образом, всего необходимо добавить три ссылки:
UPD. 09.04.2018. Важное дополнение от lasteran: В новых версиях (предположительно начиная с AutoCAD 2013) класс CommandMethod содержится не в AcDBMgd.dll, а в AcCoreMgd.dll, так что придётся добавить ссылку ещё и на эту библиотеку. Учтите это, если работаете с новой версией!
Затем мы объявляем класс Commands . Именно он и будет «отправной точкой» плагина. Наш класс унаследован от интерфейса IExtensionApplication , поэтому в нем могут быть реализованы методы Initialize и Terminate . Первый из них автоматически выполняется при загрузке плагина, второй – при выгрузке.
AutoCAD не предоставляет разработчику возможность выгрузить плагин после того, как он будет загружен. Поэтому реально метод Terminate будет вызываться только в одном случае – при закрытии самого AutoCAD.
Почитать поподробнее про методы Initialize и Terminate можно тут (rus) и там (англ.).
Чтобы «превратить» созданный метод в команду AutoCAD, применяется атрибут CommandMethod . В скобках после него указывается имя создаваемой команды, которое можно будет использовать непосредственно в среде AutoCAD.
После сборки этого проекта у нас получится готовый к употреблению плагин.
2.4. Загрузить созданный плагин
Нужно запустить AutoCAD и выполнить команду «NETLOAD»:
Затем в открывшемся окне указать путь к файлу плагина:
Если при загрузке плагина произошла критическая ошибка, она будет выведена в консоль AutoCAD:
Теперь, когда плагин загружен, можно выполнить нашу тестовую команду:
… и увидеть результат:
Работает. Теперь можно закрывать AutoCAD.
2.5. Отладить плагин (при необходимости)
Процедура запуска плагина для отладки очень хорошо расписана в этом посте Tepliuk.
Стрелка Реквиема YBA поможет вам продвинуть четыре стенда, чтобы превратиться в Стенд Реквиема.
- Требования Стрелки Реквиема YBA
- Стенды Реквиема YBA
- Faq
- Квесты Стрелы Реквиема
- Примечания
Требования Стрелы Реквиема YBA
Стрела Реквиема при использовании открывает скрытый потенциал в вашем стенде.
- Вы можете получить его, выполнив квест Prestige Master Will на карте Steel Ball Run.
- Как и обычные стрелки, он требует достоинства работать и имеет шанс потерпеть неудачу, если вам не хватит. Я рекомендовал вам иметь Worthiness V.
- Чтобы использовать его, вы должны быть Prestige I.
Стенды YBA Requiem
YBA Requiem Arrow продвигает следующие стенды:
, если вы используете YBA Стрела Реквиема на стенде, которая не может превратиться в Реквием, стрелка скажет:
«Стрела не отвечает».
Как получить стрелы Реквиема в YBA?
вы можете получить стрелы Реквиема в YBA, выполнив квесты Requiem Arrow, которые являются квестом Изабель Стрелка и amp; Квест Prestige Master Will (версия SBR).
Что делает Стрела Реквиема в YBA?
Стрела Реквиема помогает вам продвинуть Четыре трибуны до их наивысшего потенциала
Стрела Реквиема Квесты
Вот как получить Стрелу Реквиема:
В Steel Ball Run вы можете взять квест у NPC по имени Prestige Master Will на SBRкарта для прохождения квеста
Для выполнения этого квеста вы должны:
- получить его у Prestige Master Will (версия SBR),
- выиграть Steel Ball Run,
- получите 7500 долларов и Таинственную стрелу,
- , а затем поговорите с Изабель Стрелка.
Изабель - ключевой квестовый NPC для получения Стрелы Реквиема.
Изабель Квест Стрелка
Когда нормальные люди говорят с Изабель, она отвечает диалогом:
Однако, если вы поговорите с ней после выполнения квеста Стрела Реквиема, данного Prestige Master Will (версия SBR), вы можете обменять у нее Таинственную стрелу и 7500 долларов на Стрелу Реквиема. .
Ниже приводится диалог, который у вас будет с Изабель после всего этого.
- «Привет? »
- « Эй! Уилл послал меня к вам ».
- « Ах, за эту дурацкую стрелу? »
- « Да, я так считаю. Он сказал, что у тебя есть для меня мистическая стрела ».
- « Хех… Я шутил, что это глупо. Не думаю, что у вас есть все, что нужно, чтобы противостоять истинной силе стрелы ».
- « Если бы я этого не сделал, почему бы меня послал бы единственный и неповторимый Prestige Master? »
- « Вы правы . Но вы действительно думали, что я просто отдам это? Мне понадобится таинственная стрела и 7500 долларов взамен ».
После выполнения требований у вас теперь будет Стрела Реквиема.
Prestige Master Will (Версия SBR) Задание
При разговоре с Prestige Master Will (версия SBR) он скажет следующее:
- «Вы прошли долгий путь с тех пор, как я впервые встретил вас».
«Спасибо за вашучения, сенсей, я достиг 3-го престижа » - « В любом случае, мне кажется, что я получил в свои руки награду »
« Что? » - « Вы » Ты тоже здесь, чтобы участвовать в гонках по стальному шару, верно? Выиграйте его, и я покажу, что я получил »
« Понятно, сенсей ». - « Не разочаровывай меня ».
В разговоре с Prestige Master Will (Версия SBR), когда вы уже держите Стрелу Реквиема, он скажет следующее:
- «Итак, у вас есть стрела, а? Помните, в нем великая сила, доступная только достойным ».
Примечания
Вы можете удержать до 5 реквиемных стрел, хотя получить их будет невозможно. в первую очередь много стрел реквиема.
Вот видео, объясняющее, как получить стрелки реквиема
Для всех рабочих кодов для списка кодов YBA
Эксперт по играм
Привет, я Макс, я главный редактор портала. Если есть вопросы, пишите на почту.
Читайте также: