Last active
November 21, 2020 21:00
-
-
Save AmenJlili/73a8a6d2d5c48c4d7d5b5e80e138a889 to your computer and use it in GitHub Desktop.
Delete all dangling dimensions from active drawing document
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
' Delete all dangling dimensions | |
' Conditions = Active document must be drawing | |
' Results = Dangling dimensions deleted | |
' www.bluebyte.biz | |
Dim swApp As Object | |
Dim swModel As Object | |
Dim swDraw As Object | |
Dim swSheet As Object | |
Dim swView As Object | |
Dim boolstatus As Boolean | |
Dim swAnn As Object | |
Dim swDispDim As Object | |
Dim vSheetNames As Variant | |
Public Enum swDocumentTypes_e | |
swDocNONE = 0 ' Used to be TYPE_NONE | |
swDocPART = 1 ' Used to be TYPE_PART | |
swDocASSEMBLY = 2 ' Used to be TYPE_ASSEMBLY | |
swDocDRAWING = 3 ' Used to be TYPE_DRAWING | |
End Enum | |
Sub main() | |
Set swApp = Application.SldWorks | |
Set swModel = swApp.ActiveDoc | |
If swModel Is Nothing Then | |
swApp.SendMsgToUser ("Macro failed because there is no active drawing document.") | |
ElseIf swModel.GetType <> swDocumentTypes_e.swDocDRAWING Then | |
swApp.SendMsgToUser ("Macro failed because active document is not a drawing.") | |
Else | |
Set swDraw = swModel | |
swModel.ClearSelection2 (True) | |
vSheetNames = swDraw.GetSheetNames | |
For i = 0 To UBound(vSheetNames) | |
swDraw.ActivateSheet vSheetNames(i) | |
Set swSheet = swDraw.Sheet(vSheetNames(i)) | |
Set swView = swDraw.GetFirstView | |
Do While Not swView Is Nothing | |
Set swAnn = swView.GetFirstAnnotation3 | |
Do While Not swAnn Is Nothing | |
If swAnn.IsDangling Then | |
swAnn.Select2 True, -1 | |
End If | |
Set swAnn = swAnn.GetNext3 | |
Loop | |
Set swView = swView.GetNextView | |
Loop | |
boolstatus = swModel.DeleteSelection(True) | |
If boolstatus Then | |
swModel.ClearSelection2 (True) | |
End If | |
Next i | |
End If | |
End Sub |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment