首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SolidWorks API,宏在VSTA中工作,但不来自dll。

SolidWorks API,宏在VSTA中工作,但不来自dll。
EN

Stack Overflow用户
提问于 2017-01-30 04:55:11
回答 1查看 1K关注 0票数 1

真的很感谢谁能花几分钟来帮我,所以提前谢谢!

我陷入了在VSTA works (vb.net)中运行宏的情况,但是从solid works运行dll文件不起作用。可能忘了一些很简单的事。原则是文本文件与dll文件位于同一个文件夹中,默认情况下,从该文件夹中读取时没有长位置的"string“。

这工作在VSTA和建立dll之后(非常简单)。

代码语言:javascript
复制
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和运行solid works之后,它会产生错误:无法打开

“地点”\macro.dll。

代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

发布于 2017-02-02 17:04:28

您打算如何运行代码?您必须构建额外的功能,通过SOLIDWORKS的API创建一个按钮/任务窗格/属性页面,以了解您想要做什么。它比运行宏要复杂一些。你给你的项目添加了什么参考资料?您至少需要添加以下内容:

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

您是否正确地实现了ISwAddin接口?此外,我没有多少运气,仅仅打开一个DLL与SOLIDWORKS,我使用regasm.exe注册COM DLL或创建一个wix安装程序,以创建注册表项,如果分发到多台机器。

API帮助中的快速入门页面将是查看一些示例和如何配置您的环境的很好的参考。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41929229

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档