Тема: TCS и SolidWorks 2006 API

Пишу макрос в TCS 6.0
'---------------------------
Sub FormMacro_ProbaSW(TCSActiveModule)  'Пробуем прочитать ссылки файла сборки SW

FullPathFile = "C:\K90500090\K90500090.SLDASM"
Set objFSO = CreateObject("Scripting.FileSystemObject")

  If Not objFSO.FileExists(FullPathFile) Then
    Exit Sub
  End If

Set swApp = CreateObject("SldWorks.Application")

vDepend = swApp.GetDocumentDependencies(FullPathFile, False, False)
CountObject = UBound(vDepend)

Proverka = vDepend(1)

End Sub
'--------------------

Пытаюсь прочитать ссылки у сборочной единицы
  vDepend = swApp.GetDocumentDependencies(FullPathFile, False, False)
Переменная vDepend  получает значения (Массив String)

CountObject = UBound(vDepend) оьрабатывает замечательно (определяет размер массива)

далее пытаюсь прочитать массив (как пример элемент №1 текущего массива)
Proverka = vDepend(1)

Получаю ошибку TCS  и SolidWorks 2006 API

Post's attachments

ErrorTCS.bmp 328.34 Кб, 1 скачиваний с 2011-07-11 

You don't have the permssions to download the attachments of this post.

Re: TCS и SolidWorks 2006 API

Здравствуйте, точно не скажу но возможно это ограничение  VBScript.
Рекомендую перейти на TechnologiCS 6.2.  Там уже есть интеграция с SolidWorks, и там мы как раз добавили объект ScriptHelper который помогает преодолеть подобные ограничения VBScript непосредственно из TechnologiCS.
В более ранних версиях придется это обрабатывать самому.

Re: TCS и SolidWorks 2006 API

Вот статейка как раз http://allo.usaaa.ru/workshop/wdhplus/v … bsvsjs.htm

Массивы в VBScript имеют определенные ограничения. Во-первых, в VBScript отсутствует возможность сортировки массивов (о способах решения этой проблемы см. "Сортировка массивов в VBScript".) Во-вторых, все примитивные типы VBScript представлены как Variant, и, соответственно, все массивы представляются в нем как SAFEARRAY элементов типа Variant. В результате VBScript может принимать массивы с элементами других типов, но не позволяет "добраться" до этих элементов.

Re: TCS и SolidWorks 2006 API

Жаль... Очень жаль... Опять придеться извращаться....

Re: TCS и SolidWorks 2006 API

Посмотрите на 6.2.  Там очень много ошибок 6.0.1 исправлено, много полезного сделано в продолжении развития 6.0.1. Обновление то с 6.0.1 бесплатное, единственное что переход надо спланировать, но думается он не будет сильно сложным, тем более если вы не так давно работаете.