совместимость по аutocad.net

Автор Тема: совместимость по аutocad.net  (Прочитано 12966 раз)

0 Пользователей и 3 Гостей просматривают эту тему.

Оффлайн Грасмик АлексейАвтор темы

  • ADN OPEN
  • Сообщений: 29
  • Карма: 0
совместимость по аutocad.net
« : 04-09-2015, 09:19:10 »
добрый день. у меня проблема с совместимостью моего ПО и autocadов различных версий.
я сделал маленький код на autocad.net 2012 позже переделал его в ObjectARX 2012 но так и не добился главного - работы на всех autocadах.
у нас есть версии 2012 и 2014, причем 2014 соят на windows 2007-64bit и они, как мне кажется, тоже 64 разрядные.
с ObjectARX вообще ничего не получилось, ПО работает только на моем компе на autocad 2012, на других компах с таким же autocad не работает, просто не загружает ARX.
на других компах с autocad 2012 загружается кое-где, а кое где нет - пишет, что не хвататет каких-то зависимых сборок, хотя использую только системные.
вот и вопрос - на чем нужно делать ПО, чтобы оно запускалось на всех autocadах, и на 2012 и на 2014 и на 64 разрядных версиях?

Оффлайн Андрей Бушман

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
Re: совместимость по аutocad.net
« Ответ #1 : 04-09-2015, 10:05:18 »
позже переделал его в ObjectARX 2012 но так и не добился главного - работы на всех autocadах
И не добьёшься, причём об этом чётко пишут в букварях. Это в .NET ты можешь скомпилировать свой DLL для R17.2 и R19.0, после чего грузить их в AutoCAD 2009-2016 (при определённых условиях). Твоё ARX-приложение будет работать с той версией AutoCAD, под которую ты его компилируешь, а так же с теми более новыми версиями AutoCAD, у которых значение Major совпадает с версией AutoCAD, под который ты компилировал свой код. Формат: R<Major>.<Minor>. Перечислены здесь.
Кроме того, ARX приложения компилируются отдельно под x86 и x64. Это тебе не .NET, где можно откомпилировать под AnyCPU и грузить результат как в x86, так и в x64. Загрузить ARX, скомпилированный под x86 в AutoCAD x64 тебе не удастся, равно как и грузить ARX x64 в AutoCAD x86.

Оффлайн Александр Пекшев aka Modis

  • ADN Club
  • *****
  • Сообщений: 1658
  • Карма: 366
  • Отец modplus.org
    • ModPlus
Re: совместимость по аutocad.net
« Ответ #2 : 04-09-2015, 10:06:22 »
Эхххх... если бы можно было так делать....
На Net еще можно объединить сборку под несколько версий автокада. Например для 2013-2016 или 2010-2012. Зависит от кода и настроек файла acad.exe.config. Автокад 2013 является "переломным", поэтому для 2012 и 2014 вы не сделаете единую сборку. Разрядность системы тоже можно опустить, если вы в коде не используете что-то зависимое от разрядности.

С ObjectArx не работал, но как понял - вот там-то вообще хрен что объединишь))

Так что расслабтесь, выпейте чайку и забудьте эту фантазию ;D

Оффлайн Грасмик АлексейАвтор темы

  • ADN OPEN
  • Сообщений: 29
  • Карма: 0
Re: совместимость по аutocad.net
« Ответ #3 : 04-09-2015, 10:09:49 »
ну хорошо - фантазия сделать ARX для всех и вся оставляю, как сделать .NET сборку? или 2012 и 2014 точно нельзя объеденить?
а про разрядность? как мне сделать сборку для 2014 нам все разрядности?
при этом на моем компе стоит нормальный windows XP-32, могу ли я скомпилировать сборку чтобы шла на windows 2007-64?

Оффлайн Андрей Бушман

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
Re: совместимость по аutocad.net
« Ответ #4 : 04-09-2015, 10:11:06 »
Google забанили? Документация испарилась?

Как то ты легко скачешь то на ARX, то на .NET, из чего скорее всего следует, что не знаешь ни того, ни другого...

Оффлайн Грасмик АлексейАвтор темы

  • ADN OPEN
  • Сообщений: 29
  • Карма: 0
Re: совместимость по аutocad.net
« Ответ #5 : 04-09-2015, 10:13:15 »
Вы правы, оба этих случая. что делать? поможете?

Оффлайн Александр Пекшев aka Modis

  • ADN Club
  • *****
  • Сообщений: 1658
  • Карма: 366
  • Отец modplus.org
    • ModPlus
Re: совместимость по аutocad.net
« Ответ #6 : 04-09-2015, 10:14:36 »
или 2012 и 2014 точно нельзя объеденить?
Можно! Нужно использовать #if #elif #endif....
а про разрядность? как мне сделать сборку для 2014 нам все разрядности?
По-моему в visual studio при создании проекта сразу стоит AnyCPU (для обоих разрядностей)
при этом на моем компе стоит нормальный windows XP-32
Он уже устарел морально и физически и официально закрыт))

Оффлайн Андрей Бушман

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
Re: совместимость по аutocad.net
« Ответ #7 : 04-09-2015, 10:17:29 »
Вы правы, оба этих случая. что делать? поможете?
Прежде всего тебе нужно определиться с тем, на чём будешь писать: либо ObjectARX (т.е. C++), либо один из языков семейства .NET. Если C++, то тогда тебе в другую ветку форума.

Однако в любом случае, тебе сначала нужно ознакомиться с основами языка программирования, на котором будешь писать. Затем, имея базовые знания, можешь приступать к чтению документации.

Оффлайн Андрей Бушман

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
Re: совместимость по аutocad.net
« Ответ #8 : 04-09-2015, 10:18:15 »
Можно! Нужно использовать #if #elif #endif....
Ты путаешь совместимость на уровне исходного кода с совместимостью на уровне машинного кода.

Оффлайн Александр Пекшев aka Modis

  • ADN Club
  • *****
  • Сообщений: 1658
  • Карма: 366
  • Отец modplus.org
    • ModPlus
Re: совместимость по аutocad.net
« Ответ #9 : 04-09-2015, 10:21:47 »
Можно! Нужно использовать #if #elif #endif....
Ты путаешь совместимость на уровне исходного кода с совместимостью на уровне машинного кода.
Да, ерунду сморозил) Сначала написал, потом подумал. Это я умею  ::)
#if #elif #endif я использую, чтобы пользоваться одним кодом для разных сборок

Оффлайн Андрей Бушман

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
Re: совместимость по аutocad.net
« Ответ #10 : 04-09-2015, 10:23:20 »
#if #elif #endif я использую, чтобы пользоваться одним кодом для разных сборок
Я в курсе того, для чего нужны директивы препроцессора. :)

Оффлайн Грасмик АлексейАвтор темы

  • ADN OPEN
  • Сообщений: 29
  • Карма: 0
Re: совместимость по аutocad.net
« Ответ #11 : 04-09-2015, 10:24:16 »
ну спасибо и на том, что написали. на с++ я не смогу видимо делать - у меня студия только 2008, а для нового обжектарх этого мало, значит будет дот-нет.
документацию тут почитаю - может поможет.

Оффлайн Андрей Бушман

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
Re: совместимость по аutocad.net
« Ответ #12 : 04-09-2015, 10:25:07 »
ну спасибо и на том, что написали.
Не во что.

Оффлайн Александр Пекшев aka Modis

  • ADN Club
  • *****
  • Сообщений: 1658
  • Карма: 366
  • Отец modplus.org
    • ModPlus
Re: совместимость по аutocad.net
« Ответ #13 : 04-09-2015, 10:29:29 »
#if #elif #endif я использую, чтобы пользоваться одним кодом для разных сборок
Я в курсе того, для чего нужны директивы препроцессора. :)
А вдруг кто-то, кто не знал про это, увидит и начнет пользоваться?)) Такой-же самоучка как я, который про это не знал. Я лично сам только сравнительно недавно узнал, что один и тот-же файл можно вставлять в проект как ссылку  :)

По теме: автору советую начать с освоения цикла статей на хабре:
- http://habrahabr.ru/post/235723/
- http://habrahabr.ru/post/148844/
Сам не читал, но вроде там все хорошо разжевано (нужно, кстати, почитать)
Ну и конечно этот блог - http://through-the-interface.typepad.com/

Оффлайн Андрей Бушман

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
Re: совместимость по аutocad.net
« Ответ #14 : 04-09-2015, 10:36:44 »
По теме: автору советую начать с освоения цикла статей на хабре:
- http://habrahabr.ru/post/235723/
- http://habrahabr.ru/post/148844/
Сам не читал, но вроде там все хорошо разжевано (нужно, кстати, почитать)
Вот сначала прочитай, потом советуй. :) Я не советую учиться по этим ссылкам, лучше читать документацию, там пошагово всё расписано. После прочтения соответствующих разделов документации можно и почитать (для сравнения)...