Get Arrow in Projected View Example (VBA)
This example shows how to get the arrow in a projected view and its
text-formatting properties.
'------------------------------------
'
' Preconditions:
' (1)
Drawing is open.
' (2)
Projected view is selected.
' (3)
Projected view contains an arrow with a label.
'
' Postconditions: None
'
'------------------------------------
Option Explicit
Public Enum swDrawingViewTypes_e
swDrawingSheet
= 1
swDrawingSectionView
= 2
swDrawingDetailView
= 3
swDrawingProjectedView
= 4
swDrawingAuxiliaryView
= 5
swDrawingStandardView
= 6
swDrawingNamedView
= 7
swDrawingRelativeView
= 8
swDrawingDetachedView
= 9
End Enum
Sub ProcessTextFormat _
( _
swApp
As SldWorks.SldWorks, _
swModel
As SldWorks.ModelDoc2, _
swTextFormat
As SldWorks.textFormat _
)
Debug.Print
" BackWards
=
" & swTextFormat.BackWards
Debug.Print
" Bold
=
" & swTextFormat.Bold
Debug.Print
" CharHeight
=
" & swTextFormat.CharHeight
Debug.Print
" CharHeightInPts
=
" & swTextFormat.CharHeightInPts
Debug.Print
" CharSpacingFactor
=
" & swTextFormat.CharSpacingFactor
Debug.Print
" Escapement
=
" & swTextFormat.Escapement
Debug.Print
" IsHeightSpecifiedInPts
=
" & swTextFormat.IsHeightSpecifiedInPts
Debug.Print
" Italic
=
" & swTextFormat.Italic
Debug.Print
" LineLength
=
" & swTextFormat.LineLength
Debug.Print
" LineSpacing
=
" & swTextFormat.LineSpacing
Debug.Print
" ObliqueAngle
=
" & swTextFormat.ObliqueAngle
Debug.Print
" Strikeout
=
" & swTextFormat.Strikeout
Debug.Print
" TypeFaceName
=
" & swTextFormat.TypeFaceName
Debug.Print
" Underline
=
" & swTextFormat.Underline
Debug.Print
" UpsideDown
=
" & swTextFormat.UpsideDown
Debug.Print
" Vertical
=
" & swTextFormat.Vertical
Debug.Print
" WidthFactor
=
" & swTextFormat.WidthFactor
Debug.Print
""
End Sub
Sub main()
Dim
swApp As
SldWorks.SldWorks
Dim
swModel As
SldWorks.ModelDoc2
Dim
swSelMgr As
SldWorks.SelectionMgr
Dim
swDraw As
SldWorks.DrawingDoc
Dim
swView As
SldWorks.View
Dim
swProjArr As
SldWorks.ProjectionArrow
Dim
swBaseView As
SldWorks.View
Dim
vCoord As
Variant
Dim
swTextFormat As
SldWorks.textFormat
Dim
bRet As
Boolean
Set
swApp = Application.SldWorks
Set
swModel = swApp.ActiveDoc
Set
swDraw = swModel
Set
swSelMgr = swModel.SelectionManager
Set
swView = swSelMgr.GetSelectedObject5(1):
Debug.Assert Not swView Is Nothing: Debug.Assert swDrawingProjectedView
= swView.Type
Set
swProjArr = swView.GetProjectionArrow:
Debug.Assert Not swProjArr Is Nothing
Set
swBaseView = swProjArr.GetView
Set
swTextFormat = swProjArr.GetTextFormat
vCoord
= swProjArr.GetCoordinates
Debug.Print
"File = " & swModel.GetPathName
Debug.Print
" "
& swView.Name & "
--> " & swBaseView.Name
Debug.Print
" Coords
=
(" & vCoord(0) * 1000# & ", " & vCoord(1) *
1000# & ", " & vCoord(2) * 1000# & ") mm"
Debug.Print
" Label
=
" & swProjArr.GetLabel
Debug.Print
" UseDocTextFormat
= " & swProjArr.GetUseDocTextFormat
ProcessTextFormat
swApp, swModel, swTextFormat
End Sub
'------------------------------------