Insert GTol Example (VBA)
This example shows how to insert a GTol whose frame contains datums with
material conditions.
'-------------------------------------------------------
' Preconditions: Verify that the specified drawing
' document to open exists.
'
' Postconditions:
' 1. Opens the specified drawing document.
' 2. Inserts a GTol whose frame contains datums with material
' conditions.
' 3. Examine the drawing.
'
' NOTE: Because this drawing is used elsewhere, do not
' save changes.
'-------------------------------------------------------
Option Explicit
Dim swApp As SldWorks.SldWorks
Dim swDrawing As SldWorks.DrawingDoc
Dim swModel As SldWorks.ModelDoc2
Dim swGtol As SldWorks.Gtol
Dim swAnnotation As SldWorks.Annotation
Dim status As Boolean
Dim errors As Long
Dim warnings As Long
Dim fileName As String
Sub main()
Set swApp = Application.SldWorks
fileName = "C:\Program Files\SolidWorks Corp\SOLIDWORKS\samples\tutorial\advdrawings\foodprocessor.slddrw"
Set swDrawing = swApp.OpenDoc6(fileName, swDocumentTypes_e.swDocDRAWING, swOpenDocOptions_e.swOpenDocOptions_Silent, "", errors, warnings)
swApp.ActivateDoc3 "foodprocessor - Sheet1", False, swRebuildOnActivation_e.swRebuildActiveDoc, errors
Set swModel = swDrawing
Set swGtol = swModel.InsertGtol()
If Not swGtol Is Nothing Then
swGtol.SetFrameSymbols2 1, "<IGTOL-POSI>", False, "", False, "", "", "", ""
swGtol.SetFrameValues 1, "0.2", "", "B-A-C<MOD-MMC>", "B<MOD-MMC>-C<MOD-LMC>", "C<MOD-MMC>-A"
swGtol.SetPTZHeight "", False
swGtol.SetCompositeFrame2 False, 1
swGtol.SetBetweenTwoPoints False, "", ""
Set swAnnotation = swGtol.GetAnnotation()
If Not swAnnotation Is Nothing Then
status = swAnnotation.SetPosition2(0.245354759676629, 0.126683476923077, 0)
errors = swAnnotation.SetLeader3(swLeaderStyle_e.swNO_LEADER, swLeaderSide_e.swLS_SMART, True, False, False, False)
End If
End If
swModel.WindowRedraw
End Sub