SolidWorks API, макрос работает в VSTA, но не из dll

Очень ценю, кто может потратить пару минут, чтобы выручить меня, так что спасибо заранее!

Попал в ситуацию, когда работает макрос в VSTA works (vb.net), но запуск DLL-файлов из Solid Works не работает. Наверное, забыл что-то очень простое. Принцип заключается в том, что текстовый файл находится в той же папке, что и DLL-файлы, и по умолчанию считывается из этой папки без длинной строки "string".

Это работает в VSTA а после сборки dll (очень просто)

Partial Class SolidWorksMacro
    Public Sub main()
        Dim Model As ModelDoc2 = swApp.ActiveDoc
        Dim LayerName As String = "Stamp"
        MsgBox(LayerName)
    End Sub
    Public swApp As SldWorks
End Class

Нет, я хочу сделать то же самое, чтобы имя слоя читалось из текстового файла. Работает при запуске от VSTA, но после сборки в dll и запуска из сплошных работ выдает ошибку: не могу открыть

"Расположение"\macro.dll.

Partial Class SolidWorksMacro
    Public Sub main()
        Dim Model As ModelDoc2 = swApp.ActiveDoc
        Dim LayerName As String = "Stamp"
        Dim FileName As String = "LayerName.txt"
        Dim LayerName As String
        Dim sr As New StreamReader(FileName)
        LayerName = sr.ReadLine
        MsgBox(LayerName)
    End Sub
    Public swApp As SldWorks
End Class

1 ответ

Как вы планируете запустить код? Вам нужно будет создать дополнительные функции для создания страницы кнопки / панели задач / свойств через API для SOLIDWORKS, чтобы знать, что вы хотите сделать. Это немного сложнее, чем запускать макрос. Какие ссылки вы добавили в свой проект? Вам нужно будет добавить как минимум:

  • SolidWorks.Interop.sldworks
  • SolidWorks.Interop.swpublished

Правильно ли вы реализуете интерфейс ISwAddin? Кроме того, мне не повезло просто открыть DLL с помощью SOLIDWORKS, я использую regasm.exe для регистрации COM DLL или создания установщика wix для создания записей реестра при распространении на несколько машин.

Страница " Приступая к работе" в справке по API станет хорошим справочным материалом для ознакомления с некоторыми примерами и настройкой среды.

Другие вопросы по тегам