Справочное руководство по TDMS 7.0 API
VB Script
Смотри также Отправить замечание

Glossary Item Box

Исходный текст

'-------------------------------------------------------------------
Set AcApp = GetObject(,"AutoCAD.Application.16")

If AcApp Is Nothing Then 
  MsgBox "Приложение не загруженно"
End If

Set Doc = AcApp.ActiveDocument
Set ModelSpace = Doc.ModelSpace

'Объявляем и заполняем стандартный VBS массив
Dim startPoint(2)
Dim endPoint(2)

startPoint(0) = 1.0
startPoint(1) = 1.0
startPoint(2) = 1.0

endPoint(0) = 2.0
endPoint(1) = 2.0
endPoint(2) = 2.0


'производим обратную конвертацию масива в формате VBS в типизированный массив формата VBA
'т.к функция Автокада ModelSpace.AddLine может принимать на вход только типизированный массив 

Dim convArr1, convArr2
convArr1 = ThisApplication.Utility.VariantToArray(startPoint)
convArr2 = ThisApplication.Utility.VariantToArray(endPoint)

ModelSpace.AddLine convArr1, convArr2 '(функция отработала нормально. в противном случае - ошибка о несоответствии типов)


'-------------------------------------------------------------------
'Демонстрация преобразования типизированного массива в массив формата VBS

For Each entity In ModelSpace

   If TypeName(entity) = "IAcadBlockReference" Then

    Dim Attributes
    Attributes = entity.GetAttributes 'Типизированный массив формата VBA
    
    'Преобразовываем в формат VBS
    Dim NewArray
    NewArray = ThisApplication.Utility.ArrayToVariant(Attributes)
    
    For Each arrElem In NewArray
      MsgBox arrElem.ObjectName
    next 
    
  End If
Next
© 2023 CSoft Development. Все права защищены.