我在visual sutio 2010中创建了表单并添加了按钮 当用户单击该按钮时,它应该打开Solid Works工具,因此代码为:
Imports SolidWorks.Interop.sldworks
Imports SolidWorks.Interop.swconst
Imports System.Runtime.InteropServices
Imports System
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim swDoc As ModelDoc2 = Nothing
Dim swPart As PartDoc = Nothing
Dim swDrawing As DrawingDoc = Nothing
Dim swAssembly As AssemblyDoc = Nothing
Dim boolstatus As Boolean = False
swDoc = CType(swApp.NewDocument("C:\ProgramData\SolidWorks\SolidWorks 2012\templates\Part.prtdot", 0, 0, 0), ModelDoc2)
swDoc = CType(swApp.ActiveDoc, ModelDoc2)
boolstatus = swDoc.Extension.SelectByID2("Top Plane", "PLANE", 0, 0, 0, False, 0, Nothing, 0)
swDoc.SketchManager.InsertSketch(True)
Dim skSegment As SketchSegment = Nothing
skSegment = CType(swDoc.SketchManager.CreateCircle(-0.020947, 0.005368, 0, 0.012306, -0.016627, 0), SketchSegment)
boolstatus = swDoc.EditRebuild3()
End Sub
End Class
但不幸的是我在导入时遇到错误请帮助我 错误是:
导入不包含任何公共成员或无法找到
答案 0 :(得分:1)
添加这些dll作为项目的参考:
SolidWorks.Interop.sldworks.dll
SolidWorks.Interop.swconst.dll
这些dll位于Solidworks文件夹中。在我的电脑上它是
C:\ Program Files \ SolidWorks Corp \ SolidWorks \
答案 1 :(得分:1)
如果您想从应用程序启动SolidWorks(单击按钮并启动SoWo), 那么你应该:
1)添加必要的参考文献到SolidWorks Interop库(正如Vladyslav Litunovsky正确指出的那样)
2)“附加/连接”到SolidWorks应用程序(对象),以使您的应用程序启动并使用SolidWorks。
如果您需要精确控制要附加的SolidWorks会话(即,如果运行的时间超过1),那么事情会变得更加繁重,因为您必须使用ROT(RunningObjectTable)工作可以抓取可能正在运行的SolidWorks实例。
一般情况下,您可以使用
Set swApp = CreateObject("SldWorks.Application")
或依赖于版本的实例化(在本例中为21 = 2013),如果您在目标系统上有多个版本并且想要完全运行特定版本:
Set swApp = CreateObject("SldWorks.Application.21") //
这会附加到现有的SolidWorks会话或创建新会话。
请注意,programmaticaly开始和结束SolidWorks会话,确实涉及控制会话终止和/或显示方式的其他参数/属性。
您可以查看此内容以获取更多详细信息(显示如何实例化和控制SolidWorks会话):