Hallo Mepho13.
Also für die Klammern brauchst du eigentlich kein Mako. Du kanst die Bemaßungen markieren und dann im Bemaßungsmanager einfach ein Häkchen bei "Klammern" setzen. Kannst du auch schon machen, während du die Bemaßung erstellst.
Zum zentrieren: Versuch mal folgendes
******************************************************************
Dim swApp As Object
Dim Part As Object
Dim boolstatus As Boolean
Dim longstatus As Long
Dim Annotation As Object
Dim Gtol As Object
Dim DatumTag As Object
Dim FeatureData As Object
Dim Feature As Object
Dim Component As Object
Dim ModelDoc As Object
Dim SelectionMgr As Object
Dim DispDim As Object
Dim i As Long
Dim center As Boolean
Const swSelDIMENSIONS = 14
Sub main()
Set swApp = Application.SldWorks
Set Part = swApp.ActiveDoc
If Not Part.GetType = 3 Then 'Fehlerabfang Dateiart
swApp.SendMsgToUser "Datei ist keine Zeichnungsdatei"
Else
Set swApp = CreateObject("SldWorks.Application")
Set ModelDoc = swApp.ActiveDoc
Set SelectionMgr = ModelDoc.SelectionManager
center = True
'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 DispDim = SelectionMgr.GetSelectedObject3(i)
DispDim.CenterText = center
End If
Next i
'Bildschirm neu zeichnen lassen
Call ModelDoc.WindowRedraw
End If
End Sub
*****************************************************************
Das war gerade auf die Schnelle aus einem anderen Makro zusammen gestrickt. Habs kurz gestestet. Der Befehl scheint aber nur Bemaßungen zu zentrieren, die sich noch innerhalb der Maßhilfslinien befinden. Sobald sie außerhalb sind, muss man die Bemaßung erst wieder zwischen die Hilfslinien ziehen, um das Maß zu zentrieren.
Gruß, Markus
------------------
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP