Guest User

Untitled

a guest
Aug 14th, 2018
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.68 KB | None | 0 0
  1. Dim oDoc As DrawingDocument
  2. oDoc = ThisApplication.ActiveDocument
  3. Dim oSheet As Sheet
  4. oSheet = oDoc.ActiveSheet
  5. Dim oDrawingDimension As DrawingDimension
  6. Dim oDrawingDimensions As DrawingDimensions
  7. Dim oDimsToBeArranged As ObjectCollection
  8. Dim iLinearDimCount As Integer
  9. Dim iAngularDimCount As Integer
  10. Dim iOtherDimCount As Integer
  11. iLinearDimCount = 0
  12. iAngularDimCount = 0
  13. iOtherDimCount = 0
  14. ' Iterate over all dimensions in the drawing and
  15. ' center them if they are linear or angular.
  16. ' Add them to the ObjectCollection to be arranged
  17. oDrawingDimensions = oSheet.DrawingDimensions
  18. oDimsToBeArranged = ThisApplication.TransientObjects.CreateObjectCollection
  19. oDimsToBeArranged.Clear()
  20. Dim oAttributeSets As AttributeSets
  21. Dim oAttributeSet As AttributeSet
  22. Dim oAttribute As Inventor.Attribute
  23. 'Dimensions with Arrange=False in CustomAttributeSet will not be arranged
  24. For Each oDrawingDimension In oDrawingDimensions
  25. 'Get the AttributeSets
  26. oAttributeSets=oDrawingDimension.AttributeSets
  27. If oAttributeSets.NameIsUsed("CustomAttributeSet") Then 'if it has CustomAttributes
  28. oAttributeSet = oAttributeSets.Item("CustomAttributeSet")
  29. For Each oAttribute In oAttributeSet
  30. If oAttribute.Name()="Arrange" Then
  31. If oAttribute.Value = "False" Then
  32. 'Do nothing
  33. Else
  34. Select Case oDrawingDimension.Type
  35. Case 117474560 ' kLinearGeneralDimensionObject
  36. oDimsToBeArranged.Add(oDrawingDimension)
  37. iLinearDimCount = iLinearDimCount+1
  38. Case 117474816 'kAngularGeneralDimensionObject
  39. oDimsToBeArranged.Add(oDrawingDimension)
  40. iAngularDimCount = iAngularDimCount+1
  41. Case Else
  42. iOtherDimCount = iOtherDimCount +1
  43. End Select
  44. End If
  45. Else 'If the dimensions has a CustomAttributeSet but no Arrange attribute it must be arranged as default
  46. Select Case oDrawingDimension.Type
  47. Case 117474560 ' kLinearGeneralDimensionObject
  48. oDimsToBeArranged.Add(oDrawingDimension)
  49. iLinearDimCount = iLinearDimCount+1
  50. Case 117474816 'kAngularGeneralDimensionObject
  51. ' oDimsToBeArranged.Add(oDrawingDimension)
  52. ' iAngularDimCount = iAngularDimCount+1
  53. Case Else
  54. iOtherDimCount = iOtherDimCount +1
  55. End Select
  56. End If
  57. Next
  58. Else 'If the dimensions has a CustomAttributeSet it must be arranged as default
  59. Select Case oDrawingDimension.Type
  60. Case 117474560 ' kLinearGeneralDimensionObject
  61. oDimsToBeArranged.Add(oDrawingDimension)
  62. iLinearDimCount = iLinearDimCount+1
  63. Case 117474816 'kAngularGeneralDimensionObject
  64. ' oDimsToBeArranged.Add(oDrawingDimension)
  65. ' iAngularDimCount = iAngularDimCount+1
  66. Case Else
  67. iOtherDimCount = iOtherDimCount +1
  68. End Select
  69. End If
  70. Next
  71. Trace.Writeline("Linear dimensions = "& iLinearDimCount)
  72. Trace.Writeline("Angular dimensions = "& iAngularDimCount)
  73. Trace.Writeline("Other dimensions = "& iOtherDimCount)
  74. oDrawingDimensions.Arrange(oDimsToBeArranged)
  75. oDrawingDimension.CenterText
Add Comment
Please, Sign In to add comment