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

ADN Club => Inventor API => Тема начата: d_fedorr от 12-04-2020, 22:29:19

Название: Apprentice Server может иметь только один открытый документ?
Отправлено: d_fedorr от 12-04-2020, 22:29:19
всем привет! на одном из сайтов нашёл такой фрагмент текста
Цитировать
Первичные различия между Inventor и Apprentice  – объекты Application и Document. Объект Apprentice Application называют ApprenticeServerComponent. Он поддерживает намного более ограниченное API, чем объект Inventor Application. В Apprentice нет коллекции Documents. Apprentice ведет себя подобно «интерфейсу c единственным документом», т.е. Вы можете иметь только один открытый документ. Вы можете использовать Apprentice Open метод, чтобы открыть документ, но если Вы используете этот метод снова, чтобы открыть другой документ, документ, в настоящее время открытый, автоматически закрывается.
Не очень понятно, как это работает.
я открыл два документа с помощью
Код - C# [Выбрать]
  1. ApprenticeServerComponent aprServer = new ApprenticeServerComponent();
  2. assembly1 = aprServer.Open(pathToFile1);
  3. assembly2 = aprServer.Open(pathToFile2);
  4.  
и оба можно просматривать. О чём в данном случае говорит автор?
Название: Re: Apprentice Server может иметь только один открытый документ?
Отправлено: d_fedorr от 12-04-2020, 23:12:18
Код - C# [Выбрать]
  1. ApprenticeServerComponent aprServer = new ApprenticeServerComponent();

можно таким образом создать несколько экземпляров ApprenticeServerComponent?
Название: Re: Apprentice Server может иметь только один открытый документ?
Отправлено: mikazakov от 13-04-2020, 09:42:10
можно таким образом создать несколько экземпляров ApprenticeServerComponent?
У меня следующий макрос проблем не вызвал
Код - Visual Basic [Выбрать]
  1. Sub Sample()
  2.  Dim AP As ApprenticeServerComponent: Set AP = New ApprenticeServerComponent
  3. Dim doc As ApprenticeServerDocument: Set doc = AP.Open("D:\Part1.ipt")
  4.  
  5. Dim AP1 As ApprenticeServerComponent: Set AP1 = New ApprenticeServerComponent
  6. Dim doc1 As ApprenticeServerDocument: Set doc1 = AP.Open("D:\Part2.ipt")
  7.  
  8. End Sub

Поэтому можно делать больше одного экземпляра апрентиса