hI, hat mir keine Ruhe gelassen, deshalb hier ein erster Ansatz in VBA:
------------------------------
Public Sub gesamtlaenge()
Dim App As Application
Dim ActDr As Drawing
Dim Grs As Graphics
Dim Gr As Graphic
Dim Prop As Properties
Dim ObjSel As Selection
Dim NumSel As Long, i As Long
Dim GrSelType As String
Set App = IMSIGX.Application 'Returns base application - TurboCAD
Set ActDr = App.ActiveDrawing 'Returns Active Drawing
'ActDr.SelectAll Aktiviert alle Elemente der Zeichnung
Set ObjSel = ActDr.Selection 'Returns Selected objects as Selection collection
NumSel = ObjSel.Count 'Returns the number of items in the collection.
If NumSel = 0 Then
MsgBox ("Es wurden keine 2D-Elemente ausgewählt!")
Exit Sub
End If
Dim gl#, leange#, bogen#, umfang#, ausgabe
gl = 0
For i = 0 To NumSel - 1
Set Gr = ObjSel.Item(i): 'Returns part of a collection - graphic in the selection collection
GrSelType = Gr.Type
If GrSelType = "GRAPHIC" Then
Set Prop = Gr.Properties 'Wählt die Eigenschaften
leange = Prop.Item(89)
gl = gl + leange
End If
If GrSelType = "ARC" Then
Set Prop = Gr.Properties 'Wählt die Eigenschaften
bogen = Prop.Item(102)
gl = gl + bogen
End If
Next i
ausgabe = MsgBox("Die Gesamtlänge der Elemente ist " & CStr(Round(gl, 2)) & " mm")
ActDr.UnselectAll
End Sub
-----------------------------
Dieses Macro berechnet die Gesamtlänge von selektierten Linien und Kreisbögen. Soll nur erstmal als Beispiel dienen um zu zeigen daß es möglich ist.
Wenn sich in der Zeichnung auch geschlossene Polylinien, Kreisumfänge oder Splines vorkommen, müßte der Code entsprechend erweitert werden.
Wenns interessiert, wirds diskutiert.
Ciao Frank
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP