' ********************************************************************** ' * Makro trägt an alle selektierten Bemaßungen das Alternativmaß in ' * Zoll an. Einfach alle Maße selektieren, die ' * entsprechend behandelt werden sollen und ausführen. ' * ' * ' * MyPostDimText ' * Doppelbemaßung ' * ' * 19.11.04 Piet Sach ' * basierend auf Stefan Berlitz' Makro ' * "masstexte ändern" ' ********************************************************************** Dim swApp As Object Dim ModelDoc As Object Dim SelectionMgr As Object Dim Dimension As Object Dim i As Long ' Konstanten aus der swconst.bas Const swDimensionTextSuffix = 2 ' Suffix Const swSelDIMENSIONS = 14 Dim MyPostDimText As String Dim dimwert As Double Dim ShowDimensionValue As Variant Sub main() Set swApp = CreateObject("SldWorks.Application") Set ModelDoc = swApp.ActiveDoc Set SelectionMgr = ModelDoc.SelectionManager ' dann alle selektierten Objekte durchgehen For i = 1 To SelectionMgr.GetSelectedObjectCount ' wenn es eine Bemaßung ist If SelectionMgr.GetSelectedObjectType(i) = swSelDIMENSIONS Then ' an die Bemaßung anklinken Set Dimension = SelectionMgr.GetSelectedObject3(i) ' Wert auslesen und Text eintragen dimwert = Dimension.getValue2() '<====== Problem! dimwert = dimwert / 25.4 MyPostDimText = CStr(dimwert) MyPostDimText = "(" + MyPostDimText + "in)" Call DisplayDimension.SetText(swDimensionTextSuffix, MyPostDimText) End If Next i ' und einmal den Bildschirm neu zeichnen lassen Call ModelDoc.WindowRedraw End Sub