VB.NET连接SolidWorks

引入DLL

1.引用软件安装目录下的文件"SolidWorks.Interop.sldworks.dll"、“SolidWorks.Interop.swconst.dll”;
注:我的软件安装目录"C:\Program Files\SOLIDWORKS Corp\SOLIDWORKS"

Imports System.Runtime.InteropServices
Imports SolidWorks.Interop.sldworks
Imports SolidWorks.Interop.swconst

主要功能实现

Private Declare Function GetActiveObject Lib "oleaut32.dll" (ByRef rclsid As Guid, ByVal pvReserved As IntPtr,
                                                                 <MarshalAs(UnmanagedType.IUnknown)> ByRef ppunk As Object) As Integer
    Public Function ConnectToSolidWorks(Optional version As Integer = -1) As SldWorks
        'Return GetSolidWorks()
        Dim app As SldWorks = Nothing
        Dim myGuid As Guid = Nothing

        If version = -1 Then
            myGuid = Type.GetTypeFromProgID("SldWorks.Application").GUID
        Else
            myGuid = Type.GetTypeFromProgID("SldWorks.Application." + version.ToString()).GUID
        End If

        GetActiveObject(myGuid, IntPtr.Zero, app)
        Return app
    End Function
    Public Function GetSolidWorks(Optional version As Integer = -1) As SldWorks
        Dim app As SldWorks = Nothing
        Dim myGuid As Guid = Nothing
        If version = -1 Then
            myGuid = Type.GetTypeFromProgID("SldWorks.Application").GUID
        Else
            myGuid = Type.GetTypeFromProgID("SldWorks.Application." & version.ToString()).GUID
        End If
        GetActiveObject(myGuid, IntPtr.Zero, app)
        Return app
    End Function

测试是否成功

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim swApp As SldWorks = ConnectToSolidWorks()
        If swApp IsNot Nothing Then
            Debug.Print("Solidworks已启动:" & swApp.RevisionNumber())
        Else
            Debug.Print("Solidworks未启动!")
        End If
    End Sub


End !



  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

浅笑SR

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值