Скрипт Autodesk Inventor для открытия .JT и экспорта .JT (с определенными параметрами)

Мне регулярно нужно экспортировать существующие модели JT в мозаичные модели JT, что занимает очень много времени на моем компьютере. Поэтому мне было интересно, можно ли это сделать с помощью скрипта? В идеале встраивается в файл Excel, где я предоставляю список имен файлов JT и путей, но по одному тоже можно. Пока мне не нужно вручную открывать и экспортировать каждый файл в Inventor.

Параметры импорта, которые необходимо установить: - Фильтр объектов: тела

Параметры экспорта: - Типы объектов для экспорта: отмечены все - Вывод: только фасеты - Версия: 9.5 - Структура: монолитная

Можно ли это сделать? У меня есть некоторый опыт работы с VBA, однако у меня нет абсолютно никакого опыта работы с Inventor в том, что касается сценариев/командной строки....

Спасибо!

мечта 8а


person dreamingof8a    schedule 10.04.2018    source источник


Ответы (1)


На данный момент у меня нет решения для параметров. Но это скрипт для экспорта в JT. Он основан на примере STEP в документации Inventor API.

Public Sub ExportToJT(inventorFile As String, jtFile As String)
    ' Get the JT translator Add-In.
    Dim oJTTranslator As TranslatorAddIn
    Set oJTTranslator = ThisApplication.ApplicationAddIns.ItemById("{16625A0E-F58C-4488-A969-E7EC4F99CACD}")

    If oJTTranslator Is Nothing Then
        MsgBox "Could not access JT translator."
        Exit Sub
    End If

    Dim oContext As TranslationContext
    Set oContext = ThisApplication.TransientObjects.CreateTranslationContext
    Dim oOptions As NameValueMap
    Set oOptions = ThisApplication.TransientObjects.CreateNameValueMap
    If oJTTranslator.HasSaveCopyAsOptions(ThisApplication.ActiveDocument, oContext, oOptions) Then

        ' Other options...
        'oOptions.Value("Author") = ""
        'oOptions.Value("Authorization") = ""
        'oOptions.Value("Description") = ""
        'oOptions.Value("Organization") = ""

        oContext.Type = kFileBrowseIOMechanism

        Dim oData As DataMedium
        Set oData = ThisApplication.TransientObjects.CreateDataMedium
        oData.FileName = jtFile

        Call oJTTranslator.SaveCopyAs(ThisApplication.ActiveDocument, oContext, oOptions, oData)
    End If
End Sub
person Massimo    schedule 08.11.2018