将visual studio 2010连接到Solid Works

时间:2012-11-27 13:30:54

标签: visual-studio-2010 visual-studio-2008 solidworks

我在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

但不幸的是我在导入时遇到错误请帮助我 错误是:

  

导入不包含任何公共成员或无法找到

2 个答案:

答案 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会话):

http://help.solidworks.com/2013/English/api/sldworksapi/solidworks_visible_or_background_example_vb.htm