Get Hyperlinks Example (VB.NET)
This example shows how to get
the hyperlinks for a SolidWorks document using the SolidWorks Document Manager API.
'---------------------------------------------------------------------------
' Preconditions:
' 1. Read the SolidWorks Document Manager API
' Getting Started topic and ensure that
' the required DLLs have been registered.
' 2. Copy and paste this module into a VB.NET
' console application in
Microsoft Visual Studio.
' 3. Ensure that the specified document exists
' (or point to a document
that contains hyperlinks).
' 4. Add the SolidWorks.Interop.swdocumentmgr.dll
' reference to
the project:
' a. Right-click the solution in Solution Explorer.
' b. Select Add Reference.
' c. Click the Browse tab.
' d. Load:
' <SolidWorks_install_dir>\api\redist\CLR2\SolidWorks.Interop.swdocumentmgr.dll
' 5. Substitute <your_license_code> with your
' SolidWorks
Document Manager license key.
' 6. Compile and run this program in Debug mode.
'
' Postconditions: Inspect the Output window and
' the code to see how the API is used.
'---------------------------------------------------------------------------
Imports
SolidWorks.Interop.swdocumentmgr
Module
Module1
Sub
ProcessDocHyperlinks(ByVal
swDoc As
SwDMDocument)
Dim
i As
Long
Debug.Print(" Hyperlinks:")
For
i = 0 To
swDoc.GetHyperLinksCount - 1
Debug.Print(" "
& swDoc.GetHyperLinkAt(i))
Next
Debug.Print("")
End
Sub
Sub
main()
Const
sLicenseKey As
String =
"<your_license_code>"
'Specify your license key
Const
sDocFileName As
String =
"C:\Program Files\SolidWorks Corp\SolidWorks\samples\tutorial\EDraw\claw\claw-mechanism.sldasm"
Dim
swClassFact As
SwDMClassFactory
Dim
swDocMgr As
SwDMApplication
Dim
swDoc As
SwDMDocument
Dim
swCfgMgr As
SwDMConfigurationMgr
Dim
nDocType As
Long
Dim
nRetVal As
Long
'
Determine type of SolidWorks file based on file extension
If
InStr(LCase(sDocFileName), "sldprt")
> 0 Then
nDocType =
SwDmDocumentType.swDmDocumentPart
ElseIf
InStr(LCase(sDocFileName), "sldasm")
> 0 Then
nDocType =
SwDmDocumentType.swDmDocumentAssembly
ElseIf
InStr(LCase(sDocFileName), "slddrw")
> 0 Then
nDocType =
SwDmDocumentType.swDmDocumentDrawing
Else
'
Probably not a SolidWorks file
nDocType =
SwDmDocumentType.swDmDocumentUnknown
' so cannot open
Exit
Sub
End
If
swClassFact = CreateObject("SwDocumentMgr.SwDMClassFactory")
swDocMgr = swClassFact.GetApplication(sLicenseKey)
swDoc = swDocMgr.GetDocument(sDocFileName, nDocType,
False, nRetVal) :
Debug.Assert(SwDmDocumentOpenError.swDmDocumentOpenErrorNone = nRetVal)
swCfgMgr = swDoc.ConfigurationManager
Debug.Print("File = "
& swDoc.FullName)
ProcessDocHyperlinks(swDoc)
End
Sub
End Module