Тема: Как подключить проект из MS Visual Studio в Inventor?

Здравствуйте!
В качестве дипломной работы пишу программу к Inventor в среде MS Visual Studio 2008. В связи с чем возникает вопрос: как подключить созданный проект к инвентору.
В студии подключила шаблон проекта под инвентор, но почему-то не могу зарегистрировать файл dll.

Re: Как подключить проект из MS Visual Studio в Inventor?

Посмотрите может вам пригодится http://usa.autodesk.com/adsk/servlet/in … eID=123112
Запускаете Inventor, открываете среду VBA (ALT+F11) в меню файл команда Import File,тип файла VB files там три типа frm, bas, cls

(изменено: Анна Ахмаметьева, 16 декабря 2011г. 22:30:26)

Re: Как подключить проект из MS Visual Studio в Inventor?

Спасибо, в одном из уроков нашла подключение, попробую применить к своей программе.
С помощью команды Import File не получается подключить по причине как раз выбора типов файлов (в Visual Studia другие форматы).
Спасибо, подключить получилось.

(изменено: Анна Ахмаметьева, 9 января 2012г. 13:45:23)

Re: Как подключить проект из MS Visual Studio в Inventor?

Еще возник вопрос:
моя программа выполняет расчет параметров лестницы и в итоге должна быть сформирована трехмерная сборка. У меня получилось вставить составляющие компоненты в сборку и изменить их параметры на рассчитанные, но наложить зависимости средствами API не получается.
Для сборки можно обойтись зависимостями совмещения и заподлицо, но при обращении к конкретному компоненту возникает ошибка "Параметр задан неверно.".
Что делать?

Re: Как подключить проект из MS Visual Studio в Inventor?

На каком языке пишите программу? Если VB.net, C# то вам лучше посматреть раздел .net в этом форуме.
Вообщем я в Inventor  не работал я предпологаю что он построен на базе AutoCAD, тогда вам лучше перейти со своим вопросом в раздел "Программирование" на данном форуме. Выберите язык программирования там вам помогут.

(изменено: Анна Ахмаметьева, 11 января 2012г. 22:20:56)

Re: Как подключить проект из MS Visual Studio в Inventor?

Спасибо, посмотрю. Пишу программу на VB.Net

Re: Как подключить проект из MS Visual Studio в Inventor?

Анна Ахмаметьева пишет:

Пишу программу на VB.Net

Тогда можно использовать примеры на VBA в Инвенторе. Если компоненты не создаются программно, а используются готовые, то можно в них заранее создать нужные сопряжения - конструктивные пары (iMate) типа совмещения, заподлицо и т.п. И использовать их для наложения зависимостей при вставке. Вот пример для VBA (его несложно перевести на VB.NET). Используется деталь по адресу "C:\TempiMatePart.ipt", на одну грань которой наложена зависимость совмещения с именем "iMate:1"...

Public Sub iMateResultCreationSample()
    ' Get the component definition of the currently open assembly.
    ' This will fail if an assembly document is not open.
    Dim oAsmCompDef As AssemblyComponentDefinition
    Set oAsmCompDef = ThisApplication.ActiveDocument.ComponentDefinition

    ' Create a new matrix object.  It will be initialized to an identity matrix.
    Dim oMatrix As Matrix
    Set oMatrix = ThisApplication.TransientGeometry.CreateMatrix

    ' Place the first occurrence.
    Dim oOcc1 As ComponentOccurrence
    Set oOcc1 = oAsmCompDef.Occurrences.Add("C:\TempiMatePart.ipt", oMatrix)

    ' Place the second occurrence
    Dim oOcc2 As ComponentOccurrence
    Set oOcc2 = oAsmCompDef.Occurrences.Add("C:\TempiMatePart.ipt", oMatrix)

    ' Look through the iMateDefinitions defined for the first occurrence
    ' and find the one named "iMate:1".  This loop demonstrates using the
    ' Count and Item properties of the iMateDefinitions object.
    Dim i As Long
    Dim oiMateDef1 As iMateDefinition
    For i = 1 To oOcc1.iMateDefinitions.Count
        If oOcc1.iMateDefinitions.Item(i).Name = "iMate:1" Then
            Set oiMateDef1 = oOcc1.iMateDefinitions.Item(i)
            Exit For
        End If
    Next

    If oiMateDef1 Is Nothing Then
        MsgBox "An iMate definition named ""iMate:1"" does not exist in " & oOcc1.Name
        Exit Sub
    End If

    ' Look through the iMateDefinitions defined for the second occurrence
    ' and find the one named "iMate:1".  This loop demonstrates using the
    ' For Each method of iterating through a collection.
    Dim oiMateDef2 As iMateDefinition
    Dim bFoundDefinition As Boolean
    For Each oiMateDef2 In oOcc2.iMateDefinitions
        If oiMateDef2.Name = "iMate:1" Then
            bFoundDefinition = True
            Exit For
        End If
    Next
    
    If Not bFoundDefinition Then
        MsgBox "An iMate definition named ""iMate:1"" does not exist in " & oOcc2.Name
        Exit Sub
    End If

    ' Create an iMate result using the two definitions.
    Dim oiMateResult As iMateResult
    Set oiMateResult = oAsmCompDef.iMateResults.AddByTwoiMates(oiMateDef1, oiMateDef2)

End Sub