Autodimension Selected Drawing View Example (VBA)
This example shows how to autodimension a selected drawing view.
'---------------------------------------------
'
' Preconditions: Drawing document of a part is open and
' a
drawing view is selected.
'
' Postconditions: Supported entities in the selected drawing
' view
are autodimensioned.
'
'---------------------------------------------
Option Explicit
Const swAutodimEntitiesBasedOnPreselect = 0
Sub main()
Dim
swApp As SldWorks.SldWorks
Dim
myModel As SldWorks.ModelDoc2
Dim
myDrawing As SldWorks.DrawingDoc
Dim
boolstatus As Boolean
Dim
longstatus As Long
Dim
selmark As Long
Dim
nocallout As SldWorks.Callout
Dim
options As Long
Dim
entsToDim As Long, hscheme As Long, hplace As Long, vscheme As Long, vplace
As Long
Set
swApp = Application.SldWorks
Set
myModel = swApp.ActiveDoc
Set
myDrawing = myModel
myModel.ClearSelection2 True
'
View to be autodimensioned must be selected, no special mark necessary
options
= 0
selmark
= 0
'
Horizontal and vertical datum, or a vertex datum, baselines for dimension
creation.
'
These are optional; if not selected, autodimension uses default datums,
'
the leftmost and bottom-most edges.
selmark
= SwConst.swAutodimMark_e.swAutodimMarkHorizontalDatum
selmark
= SwConst.swAutodimMark_e.swAutodimMarkVerticalDatum
selmark
= SwConst.swAutodimMark_e.swAutodimMarkOriginDatum
'
Select a vertex on the part in the selected drawing view
boolstatus
= myModel.Extension.SelectByID2("",
"VERTEX", 0.03, 0.034, 0#, True, selmark, nocallout, options)
entsToDim
= swAutodimEntitiesBasedOnPreselect '
New enum value?
selmark
= 0
hscheme
= SwConst.swAutodimScheme_e.swAutodimSchemeBaseline
hplace
= SwConst.swAutodimHorizontalPlacement_e.swAutodimHorizontalPlacementAbove
vscheme
= SwConst.swAutodimScheme_e.swAutodimSchemeBaseline
vplace
= SwConst.swAutodimVerticalPlacement_e.swAutodimVerticalPlacementRight
longstatus
= myDrawing.AutoDimension(entsToDim,
hscheme, hplace, vscheme, vplace)
End Sub