Страница 1 из 2

Всё что Вы хотели узнать о CAA-RADE, но стеснялись спросить

СообщениеДобавлено: 04 окт 2007 12:29
GTV
Всё что Вы хотели узнать о CAA-RADE, но стеснялись спросить

CAA (Component Application Architecture, CAA2, CAA V5) — это полнофункциональный многоуровневый API для написания приложений всех типов под CATIA V5. CATIA-приложения можно разделить на следующие категории:
  • embedded (встраиваемые, они-же CATIA AddIn) — дополнения, загружаемые непосредственно в CATIA\ENOVIA\DELMIA
  • standalone (самостоятельные)
    • CMD-line (консольные, batch, console) — как правило разного рода конвертеры, валидаторы и.т.п.
    • Interactive (интерактивные, UI-based) — всё, вплоть до создания собственной CATIA-подобной среды.

RADE (Rapid Application Develpment Environment) — это среда позволяющая правильно строить CATIA-приложения написанные с использованием CAA. RADE представляет из себя набор программ и скриптов запускаемых из под командной строки, а так-же имеет «фронт-енд» в виде «адд-ина» к MS Visual Studio. После правильной установки RADE в студийном меню появляются специфические CAA пункты. Для работы RADE необходима лицензия ALR (или аналогичная)

CAA без RADE представляет скорее теоретический интерес ибо возможность его практического использования в этом случае весьма сомнительна (IMHO)

CAADoc (CAA V5 Encyclopedia) — интерактивная документация по CAA-RADE содержащая огромное количество разнообразнейшей информации о том, как и что делать, во многих случаях проиллюстрированной реальными примерами (use-cases). CAADoc ставится вместе с CAA (по тому-же пути в папку CAADoc, стартовая страничка — ./CAADoc/Doc/online/CAACenV5Default.htm)

CATIA V5 Automation — набор Automation (OLE, COM, ActiveX, VB\VBA) объектов представляющих собой высокоуровневый API для CATIA V5.
Основные отличия от CAA
  • + Не требует установки CAA и специальной лицензии
  • + Относительно прост в использовании и позволяет решать довольно большой круг задач
  • - Не представляет доступа ко некоторым функциональностям доступным в CAA (например: топологическое ядро, математика, прямой доступ к содержимому фичеров и.т.д)
  • - Automation API синхронизирован с въювером (создание массива из 10000 точек займет раз эдак в 100 раз больше времени, чем на CAA)
Позволяет работать с Knowledgeware, писать внутренние макросы и внешние расширения на любом COM или .NET - поддерживающем языке.

Re: Всё что Вы хотели узнать о CAA-RADE, но стеснялись спросить

СообщениеДобавлено: 04 окт 2007 18:17
MAX KZK
GTV

Большое спасибо и респект за объяснения! Мне (и уверен, не только мне) было полезно познакомиться.

Re: Всё что Вы хотели узнать о CAA-RADE, но стеснялись спросить

СообщениеДобавлено: 04 окт 2007 18:32
AntiX
Можно добавить еще CAA Automation API. Это CAA без RADE.

Позволяет работать с Knowledgeware, писать внутренние макросы и внешние расширения на любом COM или .NET - поддерживающем языке.
Имеются ограничения, все-таки не RADE, но намного проще в использовании при мелкой и средней автоматизации.

Re: Всё что Вы хотели узнать о CAA-RADE, но стеснялись спросить

СообщениеДобавлено: 04 окт 2007 18:45
GTV
AntiX писал(а):Можно добавить еще CAA Automation API. Это CAA без RADE.


ЁК :8): ... заносим в шапку

Re: Всё что Вы хотели узнать о CAA-RADE, но стеснялись спросить

СообщениеДобавлено: 04 окт 2007 19:15
AntiX
Дык, Automation API - это же тоже вроде как CAA, тока без RADE

Документация находится
<CATIA_HOME>\intel_a\code\bin\V5Automation.chm

Пригодна не только для Басика

Re: Всё что Вы хотели узнать о CAA-RADE, но стеснялись спросить

СообщениеДобавлено: 04 окт 2007 19:39
GTV
AntiX писал(а):Пригодна не только для Басика


это - да...
Я и из C# и из Python'а ну и конечно из VB КАТЬКУ за ... дёргал :D

Re: Всё что Вы хотели узнать о CAA-RADE, но стеснялись спросить

СообщениеДобавлено: 04 окт 2007 20:12
AntiX
В общем, к чему я веду. Некоторые поправки

Утверждение что

CAA без RADE представляет скорее теоретический интерес ибо возможность его практического использования в этом случае весьма сомнительна (IMHO)

не совсем верно.

CAA без RADE - это и есть CAA Automation API, оно же CATIA V5 Automation, оно же CAA V5 - вариантов звучания много - но это тоже CAA.

И в силу этого, там где приводятся достоинства и недостатки CATIA V5 Automation, все абсолютно верно - но не по отношению к CAA, а к CAA RADE.

Со всем остальным - я согласен на все 100

Re: Всё что Вы хотели узнать о CAA-RADE, но стеснялись спросить

СообщениеДобавлено: 04 окт 2007 21:02
GTV
В стандартной поставке содержатся
  • собственно CATIA (несколько дисков, включая варианты для различных платформ)
  • CAA (один диск)
  • RADE (ещё один диск)

Если поставить только CATIA, то Automation будет доступен по умолчанию, а CAA и RADE - это отдельные продукты которые нужно доставлять.
Так что формально - Automation к CAA не относится (хоть и написан на CAA-RADE :wink: и из CAA можно запросто дёргать за Automation API)

Automation - это скорее самостоятельное средство программирования под CATIA V5 чем не "CAA без RADE"

Re: Всё что Вы хотели узнать о CAA-RADE, но стеснялись спросить

СообщениеДобавлено: 04 окт 2007 21:40
AntiX
Все правильно с поставкой. С CATIA по поставке все ясно.

А все остальное относиться именно к CAA RADE. RADE - это собствеено движок. А под CAA подразумевается именно рейдовое API непосредственно или под CATIA, или под ENOVIA и т.д. Еще оно приходит под маркой просто API. Это все вместе и есть CAA RADE. По крайней мере у меня так.

Сомнения в том что Automation API - тоже CAA - развеятся, если открыть указанную документацию.
<CATIA_HOME>\intel_a\code\bin\V5Automation.chm

Automation API - это точно не RADE, а является ли оно CAA или не является - это вопрос схоластический.

Буржуи - по документации употребляют название CAA по отношению к обоим технологиям. Но технологии кардинально отличается - а дальше - кто к чему привык. Я привык, что CAA - это и то, и другое, кто-то считает, что CAA - это только RADE. На работе ни Automation API, ни RADE принадлежность его к CAA никак не сказывается.

Re: Всё что Вы хотели узнать о CAA-RADE, но стеснялись спросить

СообщениеДобавлено: 04 окт 2007 21:48
Sten
Нет случаем у кого примерчика чего-нибудь примитивного на С# под Катьку?:)

Re: Всё что Вы хотели узнать о CAA-RADE, но стеснялись спросить

СообщениеДобавлено: 04 окт 2007 21:58
AntiX
Пример конструктора, инициализацирующего катькин сервак на сишарпе

public CATIAServer()
{
Type catiaObj = Type.GetTypeFromProgID("CATIA.Application");
object[] args = new object[1];
args[0] = true;
catia = Activator.CreateInstance(catiaObj);
//catia.GetType().InvokeMember("Visible", BindingFlags.SetProperty, null, catia, new object[] { true });
}

Но это Avtomation API, для RADE только С++ и java

Re: Всё что Вы хотели узнать о CAA-RADE, но стеснялись спросить

СообщениеДобавлено: 04 окт 2007 22:36
Sten
Я так понял,что надо какие-то dll`ки подключать?! А то "An unhandled exception of type" вылетаетюю

Re: Всё что Вы хотели узнать о CAA-RADE, но стеснялись спросить

СообщениеДобавлено: 04 окт 2007 23:45
Dasty
присоединяюсь к Sten`у
тока можно на с++ :oops:
Спасибо!

Re: Всё что Вы хотели узнать о CAA-RADE, но стеснялись спросить

СообщениеДобавлено: 05 окт 2007 10:30
DRazmyslovich
Dasty писал(а):присоединяюсь к Sten`у
тока можно на с++ :oops:
Спасибо!

Советую посмотреть в параллельной ветке "Собратья по "цеху" - отзовитесь", там было рассказано как запустить один из стандартных примеров для CAA-RADE под с++.

Re: Всё что Вы хотели узнать о CAA-RADE, но стеснялись спросить

СообщениеДобавлено: 05 окт 2007 11:36
GTV
Sten писал(а):Я так понял,что надо какие-то dll`ки подключать?! А то "An unhandled exception of type" вылетаетюю


В папке ./intel_a/code/bin лежит пачка TLB-файлов (90 штук или около того). Это COM-овские библиотеки типов содержащие описания CATIA-Automation объектов
Для того чтобы шарповский (или любой другой CLR-ный) проект мог правильно "курить" CATIA-Automation объекты необходимо добавить в референсы CLR-проекта нужные TLB-хи

Например CATIA.Application "живёт" в .\intel_a\code\bin\InfTypeLib.tlb

Re: Всё что Вы хотели узнать о CAA-RADE, но стеснялись спросить

СообщениеДобавлено: 05 окт 2007 11:44
Sten
Эт я в курсе,просто почему то когда я в референсы добавляю, оно ругается, что или файл недоступен, или это не COM объект... Хотя я точно помню, что пару месяцев назад это нормально подключалось :unknown:

Re: Всё что Вы хотели узнать о CAA-RADE, но стеснялись спросить

СообщениеДобавлено: 19 окт 2007 15:53
GTV
Давиче ваял тест-кейсик (в рамках текущего проекта)...
всё работает (лицензия AL2+ALR)

reference \ add \ browse... = InfTypeLib.tlb

Код: Выделить всё

using System;

namespace CAADotNetBridge.mext
{
   /// <summary>
   /// Summary description for Application.
   /// </summary>
   class Application
   {
      /// <summary>
      /// The main entry point for the application.
      /// </summary>
      [STAThread]
      static void Main(string[] args)
      {
         //
         // TODO: Add code to start application here
         //

            Type typeCatia = Type.GetTypeFromProgID("CATIA.Application");

            INFITF.Application catiaApp = (INFITF.Application) Activator.CreateInstance(typeCatia);

            catiaApp.Visible = true;

      }
   }
}


Re: Всё что Вы хотели узнать о CAA-RADE, но стеснялись спросить

СообщениеДобавлено: 20 окт 2007 18:19
Sten
Угу..спасибо.
Такой вопрос.. САА R17 хорошо встает на VS.NET 2002, а с 2005 не хочет дружить..Можно это как-то пофиксить?

Re: Всё что Вы хотели узнать о CAA-RADE, но стеснялись спросить

СообщениеДобавлено: 22 окт 2007 12:26
GTV
...САА R17 хорошо встает на VS.NET 2002, а с 2005 не хочет дружить...


RADE несет на себе 3 комплекта VS-адд-ин-ов : VS.NET 2002 (7.0), VS.NET 2003 (7.1) и VS.2005 (8.0)

Для 32-х битной R17 рекомендуемая конфигурация - C++ компилятор VS.NET 2002 (7.0) + VS.NET 2003 (7.1 sp1) {это получается если от студии 7.0 поставить только C++, а потом поставить студию 7.1 (в желаемой конфигурации)}
Для х64 - используется VS.2005 (8.0) но по умолчанию она недоступна (возможно она активируется на х64 операционке, но я - не проверял ввиду отсутствия необходимости)

А, собственно, RADE-адд-ин-ы в VS.2005 (8.0) можно активировать и вручную сняв дамп ветки реестра
Код: Выделить всё
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\7.1\AddIns]

и подрихтовав его под 8.0 воткнуть обратно в реестр.
Рихтовка такая:
Код: Выделить всё
заменить все "7.1" на "8.0"
-//- Adele.Connect на Adele80.Connect
-//- CodeGenerator.Connect на CodeGenerator80.Connect
-//- Mkmk.Connect на Mkmk80.Connect
при необходимости зарегистрировать как COM-сервера (RegSvr32) следующие ДЛЛ-ки: MSDEVNET80AddinAdele.dll, MSDEVNET80AddinCodeGenerator.dll, MSDEVNET80AddinMkmk.dll 


... у меня завелось :8):

Re: Всё что Вы хотели узнать о CAA-RADE, но стеснялись спросить

СообщениеДобавлено: 23 окт 2007 22:21
Sten
А у меня как-то не очень :dash1:
Но сообщения об ошибке порадовали своим оптимизмом!!! :lol:
caa_err.JPG
caa_err.JPG (8.66 КБ) Просмотров: 51937

Re: Всё что Вы хотели узнать о CAA-RADE, но стеснялись спросить

СообщениеДобавлено: 25 окт 2007 00:24
Sten
может трабла в том,что у меня 7.0, а 7.1 не было, и я 8.0 накатил :(

Re: Всё что Вы хотели узнать о CAA-RADE, но стеснялись спросить

СообщениеДобавлено: 10 фев 2008 15:58
Vladimir
Извините, я может не по теме, Но может кто знает, как проект, написанный под 32 битное CATIA переделать под 64. Версия CAA - RADE V5R16.

Re: Всё что Вы хотели узнать о CAA-RADE, но стеснялись спросить

СообщениеДобавлено: 13 фев 2008 15:01
Vadimok74
Может кто-нибудь программировал в JAVA под CATIA? Как я понимаю, CAA-RADE содержит в себе Java API. Не могли бы вы пару примерчиков кинуть, как юзать эту API? Есть ли информация по JAVA API в документации к CAA-RADE? Можно ли просмотреть доки по CAA-RADE в интете (не устанавливая CAA-RADE)?
Спасибо!

P.S. Возможно я не один! И у кого-нибудь еще есть интерес к программированию на JAVA под CATIA. Я создал новую тему "JAVA for CATIA". Думаю, так будет лучше...

Re: Всё что Вы хотели узнать о CAA-RADE, но стеснялись спрос

СообщениеДобавлено: 11 мар 2009 18:30
booSter
пост AxDvl-а выделен в новую тему (viewtopic.php?f=140&t=1089).

Re: Всё что Вы хотели узнать о CAA-RADE, но стеснялись спросить

СообщениеДобавлено: 23 июл 2009 11:08
Readon
вопрос по лицензированию:
среди подключённых лицензий не нахожу ALR, которая будет необходима для RADE. Появится ли она автоматически при установке RADE? либо использовать другую версию CATIA (сейчас v5R18).
где-то на форуме была тема " FAQ кто хочет купить CATIA" . Что же можно сказать про CAA RADE? купить отдельно его возможно или это будет слишком "паливно" :))) ?