Работа inventor с таблицей Excel

Автор Тема: Работа inventor с таблицей Excel  (Прочитано 4346 раз)

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

Оффлайн BookvoedАвтор темы

  • ADN OPEN
  • Сообщений: 37
  • Карма: 0
Добрый день. Необходимо поочерёдно приравнивать два параметра инвентора (ширина, высота) к соответствующим параметрам из таблицы эксель, т.е. A = X(i), B = Y(i).
Насколько я понимаю, необходимо создать массив, и цикл , который будет с ним работать.
Подскажите, как создать массив в iLogic из связанного с ним файла эксель?
Если долго мучиться - что-нибудь получится.

Оффлайн mikazakov

  • ADN
  • *
  • Сообщений: 752
  • Карма: 195
  • Skype: mikazakov@mail.ru
Re: Работа inventor с таблицей Excel
« Ответ #1 : 13-05-2021, 11:28:47 »
А может просто подлинковать экселевский файл с параметрами через таблицу параметров, пользовательскими средствами м подцепить парметры к заранее созданному массиву



Оффлайн BookvoedАвтор темы

  • ADN OPEN
  • Сообщений: 37
  • Карма: 0
Re: Работа inventor с таблицей Excel
« Ответ #2 : 13-05-2021, 12:57:23 »
Файл я подтянул так:
Код - Visual Basic [Выбрать]
  1. GoExcel.Open("\\10.0.10.12\tech\КТО\KTO\Базы\Панели.xlsx", "Лист1")
Подскажите как обратиться к параметрам в экселевской таблицы из iLogic?
Если долго мучиться - что-нибудь получится.

Оффлайн mikazakov

  • ADN
  • *
  • Сообщений: 752
  • Карма: 195
  • Skype: mikazakov@mail.ru

Оффлайн R.I.Chernov

  • ADN Club
  • *****
  • Сообщений: 568
  • Карма: 18
Re: Работа inventor с таблицей Excel
« Ответ #4 : 27-05-2021, 01:18:11 »
Подскажите, как создать массив в iLogic из связанного с ним файла эксель?
В инвенторе есть два способа связи с эксель таблицами: внедрением и ссылкой.
Если вы внедряете компонент, то обратиться к нему можно как-то наподобие:

Код - C# [Выбрать]
  1. // using Excel = Microsoft.Office.Interop.Excel;
  2. // oDoc - ссылка на деталь с внедренным экселем
  3. object exlWorkbookTemp;
  4. Excel.Workbook exlWorkbook;
  5.  
  6. Inventor.ReferencedOLEFileDescriptor referencedOLEF;
  7. referencedOLEF = oDoc.ReferencedOLEFileDescriptors.ItemByName["Name"];
  8. referencedOLEF.Activate(Inventor.OLEVerbEnum.kHideOLEVerb, out exlWorkbookTemp); //kHideOLEVerb   kShowOLEVerb
  9. exlWorkbook = (Excel.Workbook)exlWorkbookTemp;
  10.  
  11. Excel.Worksheet exlWorksheet;
  12. exlWorksheet = (Excel.Worksheet)exlWorkbook.Sheets["SheetName"];

Код старый, наверняка можно получше написать, просто для примера.
В программировании я новичок...но ненадолго! ;)