This example shows how to create and attach a HyperLink to a Circle.
'-------------------------------------------------------------- ' Preconditions: ' 1. Create a VBA macro in a software product in which VBA is ' embedded. ' 2. Copy and paste this example into the Visual Basic IDE. ' 3. Add a reference to the DraftSight type library, ' install_dir\bin\dsAutomation.dll. ' 4. Start DraftSight and open a drawing document. ' 5. Run the macro. ' ' Postconditions: ' 1. A Circle is constructed in the drawing document. ' 2. A HyperLink is created and attached to the Circle. ' 3. In DraftSight, put the cursor on the Circle to see the ' the hyperlink and Ctrl+click to open DraftSight's website. '---------------------------------------------------------------- Option Explicit
Sub main()
Dim dsApp As DraftSight.Application Dim dsDoc As DraftSight.Document Dim dsModel As DraftSight.Model Dim dsSketchManager As DraftSight.SketchManager Dim dsCircle As DraftSight.Circle Dim centerX, centerY, centerZ, radius As Double
'Connect to DraftSight Set dsApp = GetObject(, "DraftSight.Application") 'Abort any command currently running in DraftSight 'to avoid nested commands dsApp.AbortRunningCommand
'Get active document Set dsDoc = dsApp.GetActiveDocument() If Not dsDoc Is Nothing Then
'Get model space Set dsModel = dsDoc.GetModel()
'Get Sketch Manager Set dsSketchManager = dsModel.GetSketchManager()
'Circle parameters centerX = 1# centerY = 2# centerZ = 0# radius = 5#
'Construct a Circle Set dsCircle = dsSketchManager.InsertCircle(centerX, centerY, centerZ, radius)
'Create and attach HyperLink to Circle Dim startCornerX As Double startCornerX = 0# Dim startCornerY As Double startCornerY = 0# Dim startCornerZ As Double startCornerZ = 0# Dim oppositeCornerX As Double startCornerX = 0# Dim oppositeCornerY As Double startCornerY = 0# Dim oppositeCornerZ As Double startCornerZ = 0# Dim hyperLinkAddress As String hyperLinkAddress = "http://www.3ds.com/products/draftsight/free-cad-software/" Dim description As String description = "DraftSight's website" Dim ds3DPolyLine As DraftSight.PolyLine3D Dim dsHyperLink As DraftSight.HyperLink
Set dsHyperLink = dsSketchManager.AttachLinkToArea(startCornerX, startCornerY, startCornerZ, oppositeCornerX, oppositeCornerY, oppositeCornerZ, hyperLinkAddress, description, ds3DPolyLine) dsCircle.SetHyperLink dsHyperLink
Else
MsgBox "There are no open documents in DraftSight."
End If End Sub