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

ADN Club => AutoCAD .NET API => Тема начата: Андрей Бушман от 11-03-2015, 18:00:45

Название: Единый шаблон управляемого расширения для AutoCAD любой версии, новее 2008
Отправлено: Андрей Бушман от 11-03-2015, 18:00:45
Собственно реализация идеи показана на видео, обозначенного далее по ссылке, т.к. порой лучше один раз увидеть, как это работает, чем 100 раз порассуждать о сферических конях в вакууме. Конструктивные замечания к обозначенному мною варианту решения данного вопроса, а так же демонстрация своих реализаций решения приветствуются. Тынц (http://www.theswamp.org/index.php?topic=49039.0). То, как это работает, показано на примере "Hello World" для наглядности, т.к. прежде всего важно именно то, как это работает в итоге (т.е. насколько это удобно и просто в использовании, если вообще удобно и просто).

Шаблон создавался для решения следующих задач:

1. Быстрое переключение одного и того же исходного проекта (csproj) между разными версиями AutoCAD для отладки. При этом должны автоматом переподключаться все references, в соответствии с целевой версией AutoCAD, а так же изменяться настройки проекта и отладки.

2. Простая возможность запустить пакетную компиляцию одного и того же csproj под все нужные версии AutoCAD.

3. Дополнительно должна генерироваться "точка входа (http://bushman-andrey.blogspot.ru/2014/06/dll-autocad.html)".

4. Проект должен легко переноситься с компьютера на компьютер, без необходимости выполнения переподключения references под текущее расположение ObjectARX SDK на той или иной машине. Это особенно актуально, когда переносится не один проект, но много.

5. Возможность легко изменять общие настройки сразу всех проектов (существующих и тех, что будут создаваться в дальнейшем). Делается путём вынесения общих настроек в общий внешний конфигурационный файл. Т.о. меняя его, применяем изменения ко всему, что имеем.
Название: Re: Единый шаблон управляемого расширения для AutoCAD любой версии, новее 2008
Отправлено: Александр Ривилис от 11-03-2015, 18:04:32
Я так понимаю, что ты собирался дать ссылку на это видео, которое по твоей ссылке не так просто найти:

Название: Re: Единый шаблон управляемого расширения для AutoCAD любой версии, новее 2008
Отправлено: Андрей Бушман от 11-03-2015, 18:07:50
Нет, я дал именно то, что хотел дать: ссылку на краткое описание (пусть и на буржуйском, но понять не сложно) того, что демонстрируется в видео (для более чёткого представления о теме пьессы). Там же дана и конечная ссылка на мультик.

Как вы встроили видео в своё сообщение?
Название: Re: Единый шаблон управляемого расширения для AutoCAD любой версии, новее 2008
Отправлено: Александр Ривилис от 11-03-2015, 18:16:15
Нет, я дал именно то, что хотел дать: ссылку на краткое описание (пусть и на буржуйском, но понять не сложно) того, что демонстрируется в видео (для более чёткого представления о теме пьессы). Там же дана и конечная ссылка на мультик.
Лучше бы ты написал здесь и по-русски. ;)
Как вы встроили видео в своё сообщение?
Достаточно просто дать прямую ссылку на видео на Youtube и она встраивается.
Название: Re: Единый шаблон управляемого расширения для AutoCAD любой версии, новее 2008
Отправлено: Алексей Кулик от 11-03-2015, 21:17:50
"Видео было удалено пользователем" :(
Название: Re: Единый шаблон управляемого расширения для AutoCAD любой версии, новее 2008
Отправлено: Андрей Бушман от 11-03-2015, 21:47:20
"Видео было удалено пользователем"
да, звук удалить нужно, а то слышно, что в офисе происходит. Спасибо А.Н. что сообщил :)
Название: Re: Единый шаблон управляемого расширения для AutoCAD любой версии, новее 2008
Отправлено: Андрей Бушман от 12-03-2015, 21:22:23
Перезаписал видео + добавил к нему текстовые комментарии. Надеюсь, что с ними суть демонстрируемого решения будет более понятной.
Название: Re: Единый шаблон управляемого расширения для AutoCAD любой версии, новее 2008
Отправлено: Александр Ривилис от 12-03-2015, 22:00:23
Надеюсь, что с ними суть демонстрируемого решения будет более понятной.
Ага. Особенно по-английски.  ;D
Название: Re: Единый шаблон управляемого расширения для AutoCAD любой версии, новее 2008
Отправлено: Андрей Бушман от 12-03-2015, 22:45:00
Ага. Особенно по-английски. 
тот "английский" не сложен для понимания. Вопросы можно задавать на русском (ежели они у кого-нить вообще возникнут).
В первом сообщении темы я добавил перечисление задач, для решения которых шаблон создавался.
Название: Re: Единый шаблон управляемого расширения для AutoCAD любой версии, новее 2008
Отправлено: Андрей Бушман от 12-03-2015, 23:13:48
По аналогии можно сделать шаблон для любого др. языка, в т.ч. и C++.
Название: Re: Единый шаблон управляемого расширения для AutoCAD любой версии, новее 2008
Отправлено: Андрей Бушман от 13-03-2015, 10:16:08
Тынц. (http://bushman-andrey.blogspot.ru/2015/03/vs-net-autocad.html)
Название: Re: Единый шаблон управляемого расширения для AutoCAD любой версии, новее 2008
Отправлено: Андрей Бушман от 13-03-2015, 12:29:35
А вот реальный пример (http://www.theswamp.org/index.php?topic=49039.msg541738#msg541738) результата компиляции проекта, созданного на базе обозначенного шаблона. В архив proxy.zip я упаковал DLL файлы, созданные шаблоном при выполнении пакетного построения сборок под целевые версии AutoCAD. Фрагменты исходников скопировал отсюда (http://bushman-andrey.blogspot.ru/2014/12/explodeallproxy-removeallproxy.html).
Название: Re: Единый шаблон управляемого расширения для AutoCAD любой версии, новее 2008
Отправлено: Андрей Бушман от 17-03-2015, 16:41:50
На этом видео показано, как в зависимости от целевой версии AutoCAD происходит автоматическая реинициализация символов компиляции (помимо прочих свойств проекта). Полагаю, что этот вопрос был мною показан не достаточно ясно в предыдущем видео, раз меня об этом продолжают спрашивать. Надеюсь, что теперь вопрос отпадёт сам собой:

&feature=youtu.be
Название: Re: Единый шаблон управляемого расширения для AutoCAD любой версии, новее 2008
Отправлено: Андрей Бушман от 26-03-2015, 17:14:48
Эту запись (http://bushman-andrey.blogspot.ru/2015/03/vs-net-autocad_26.html) можно считать заключительной точкой в теме моего монолога о создании "разумных" шаблонов и проектов на их основе.
Название: Re: Единый шаблон управляемого расширения для AutoCAD любой версии, новее 2008
Отправлено: Андрей Бушман от 27-03-2015, 11:31:23
Я понял, почему при использовании NUnit мне первый тест приходилось всегда запускать дважды - ошибка была в моём коде. Дело в том, что я запускал генератор HTML отчёта в коде метода, помеченного атрибутом OneTimeTearDown, который запускается автоматически после запуска всех имеющихся тестов. Однако оказалось, что в этот момент XML файл, на основе которого я пытаюсь генерировать HTML ещё не создан. Именно поэтому второй и последующие запуски создают HTML - они просто используют XML, созданный в предыдущей сессии запуска тестов. Я исправил этот момент. Теперь всё работает как надо, с первого раза. Внёс изменение в видео и перезаписал его. Так же сообщил об этом на болоте и автору NUnitOrange.