Тема: acad 2014 и NET

Есть у меня несколько программ (dll) работающих в acad2012, загружаю их (NETLOAD) в acad2014 (сообщений об ошибках не поступает), ввожу в командной строке команду программы, - acad2014 пишет "неизвестная команда" и не выполняет программу ! Что делать ?

Заранее благодарю за помощь

Re: acad 2014 и NET

Пробуй таким макаром:

[assembly: CommandClass(typeof(ProjectName.ClassName))]
namespace ProjectName
{
    public class ClassName
    {

        [CommandMethod("myCommandName", CommandFlags.Session)]или другой нужный CommandFlags

        public void TestMyCommand()// или public static void
        {
    //--------------------------------//
    }
  }
}

(изменено: Андрей, 10 июня 2014г. 22:55:39)

Re: acad 2014 и NET

Начиная с AutoCAD 2013 AutoCAD API подверглось существенной модицикации: часть функционала была вынесена в библиотеку AcCore.dll (AcCoreMgd.dll). Соответственно тебе нужно перекомпилировать исходный код, подключив библиотеки AcCoreMgd.dll (отсутствовавшую в AutoCAD 2012), AcMgd.dll и AcDbMgd.dll. О версиях AutoCAD, платформах .NET, которые могут ими использоваться и т.п. можно почитать здесь.

Re: acad 2014 и NET

Моя программа написана на Visual Studio 2008 autocad 2010, библиотека AcCoreMgd.dll у меня в autocad отсутствует. Скажите если я эту AcCoreMgd.dll скопирую себе из другого acad и подключу программа будет выполняться на обоих acad2010 и acad2014  ? или мне придется ставить себе acad2014+Visual Studio 2010 ?

(изменено: Андрей, 10 июня 2014г. 23:26:22)

Re: acad 2014 и NET

Скажите если я эту AcCoreMgd.dll скопирую себе из другого acad и подключу программа будет выполняться на обоих acad2010 и acad2014 ?

Не будет. Нужно делать две разные сборки, компилируя их отдельно под 2012-й и отдельно под 2014-й.

или мне придется ставить себе acad2014+Visual Studio 2010 ?

Для того, чтобы писать код под AutoCAD, не обязательно устанавливать AutoCAD. Достаточно установить ObjectARX SDK для AutoCAD нужной тебе версии. Версию IDE можешь использовать любую - главное, чтобы она поддерживала нужную тебе версию .NET.

Re: acad 2014 и NET

Константин пишет:

или мне придется ставить себе acad2014+Visual Studio 2010 ?

Я лично так и делаю acad2014 Плюс Visual Studio 2010 библиотеки
гружу из папки Program Files\Autodes\AutoCAD 2014... без проблем

Re: acad 2014 и NET

Я так понял ставлю себе autocad2012+ Visual Studio 2010 (смотрел вашу ссылку) + ObjectARX SDK для ac2012 и ac2014 и мои проблемы решены ? (и делаю 2 разные сборки)
А вариант acad2010+ Visual Studio 2008 + ObjectARX SDK для ac2010 и ac2014 у меня прокатит ?

Re: acad 2014 и NET

При чём здесь AutoCAD 2010? Ты же писал о версиях 2012 и 2014. Под каждую версию AutoCAD своя версия ObjectARX SDK.

Чтобы не грузить физический компьютер обилием устанавливаемых программ, можно воспользоваться виртуальными машинами. Конкретный вариант здесь.

Re: acad 2014 и NET

У меня сейчас стоит acad2010+ Visual Studio 2008+ ObjectARX SDK для ac2010, программа работает на ac2012 (на работе) а на ac2014(тоже на работе) никак. Скажите если я себе к acad2010+ Visual Studio 2008 поставлю ObjectARX SDK для ac2014 и сделаю новую сборку (будет делаться на acad2010?) то смогу эту сборку запускать под ac2014 ?

Re: acad 2014 и NET

Константин пишет:

А вариант acad2010+ Visual Studio 2008 + ObjectARX SDK для ac2010 и ac2014 у меня прокатит ?

для ac2010 и ac2014 Visual Studio 2010 будет нормально, Visual Studio 2008
только для А2010 и ниже

Re: acad 2014 и NET

Понял, спасибо

(изменено: Андрей, 11 июня 2014г. 00:00:51)

Re: acad 2014 и NET

Константин пишет:

Скажите если я себе к acad2010+ Visual Studio 2008 поставлю ObjectARX SDK для ac2014 и сделаю новую сборку (будет делаться на acad2010?) то смогу эту сборку запускать под ac2014 ?

Я не понял того, что в скобках. Ты сможешь один и тот же исходный код компилировать для разных версий AutoCAD, если ты об этом. Возможно тебе придётся добавлять директивы препроцессора. Кроме того, в каждом проекте у тебя будут свои настройки и референсы, специфичные для целевой версии автокад. Файлы исходного кода и различных ресурсов подключаешь в проекты, настроенные под др. автокады через ссылки, дабы не дублировать их. Т.о. один раз нажав F5 сразу получаешь откомпилированные версии библиотеки под все нужные тебе версии акада. IDE лучше ставить поновее.