真的很感激谁可以花几分钟来帮助我,所以提前感谢!
让我自己进入VSTA works (vb.net)
中运行宏的情况,但是从实体工作中运行dll文件不起作用。可能会忘记一些非常简单的事情。原则是文本文件与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
答案 0 :(得分:1)
您打算如何运行代码?您必须构建其他功能,以通过SOLIDWORKS API创建按钮/任务窗格/属性页,以了解您要执行的操作。它比运行宏稍微复杂一点。您在项目中添加了哪些参考?您至少需要添加:
您是否正确实施了ISwAddin界面?另外,我没有太多运气只是用SOLIDWORKS打开一个DLL,我使用regasm.exe注册COM DLL或创建一个wix安装程序来创建注册表项,如果分发到多台机器。
API帮助中的Getting Started页面可以很好地参考一些示例以及如何配置环境。