Zawartość szkicu

Witam

Pytanie nowicjusza, czy istnieje sposób na wypisanie zawartości szkicu? Chciałbym wiedzieć, ile łuków, linii...  30 lat temu na moim ulubionym Cadkeyu w tamtym czasie było to zrobione za pomocą jednego kliknięcia. Teraz trochę kręcę się w kółko. 

Z tej okazji załączam mały filmik Solidworka

Miłego dnia i powodzenia

Dziękuję Wam wszystkim


etiaffage.mp4
1 polubienie

Witam

Utwórz nowe makro i wstaw ten kod:

Option Explicit
Sub main()
    Dim swApp As SldWorks.SldWorks
    Dim swModel As SldWorks.ModelDoc2
    Dim swSelMgr As SldWorks.SelectionMgr
    Dim swSketch As SldWorks.Sketch
    Set swApp = Application.SldWorks
    Set swModel = swApp.ActiveDoc
    Set swSketch = swModel.GetActiveSketch2
    If swSketch Is Nothing Then
        Set swSelMgr = swModel.SelectionManager
        If swSelMgr.GetSelectedObjectCount2(-1) = 0 Then Exit Sub
        If swSelMgr.GetSelectedObjectType3(1, -1) <> swSelectType_e.swSelSKETCHES Then Exit Sub
        Dim swFeat As SldWorks.Feature
        Set swFeat = swSelMgr.GetSelectedObject5(1)
        Set swSketch = swFeat.GetSpecificFeature
    End If
    If swSketch Is Nothing Then Exit Sub
    Dim myText As String
    myText = "  Nombre de lignes = " & swSketch.GetLineCount
    myText = myText & vbCrLf & "  Nombre d'arcs = " & swSketch.GetArcCount
    myText = myText & vbCrLf & "  Nombre de points = " & swSketch.GetSketchPointsCount
    myText = myText & vbCrLf & "  Nombre d'éllipses  = " & swSketch.GetEllipseCount
    myText = myText & vbCrLf & "  Nombre de paraboles  = " & swSketch.GetParabolaCount
    MsgBox myText
End Sub

 Uruchamia makro z otwartym lub wybranym szkicem

1 polubienie

Och, och, to mnie oczyści z ryzyka w API i innych makrach. Poza tym wydaje mi się to bardzo jasne i to działa

Dziękuję bardzo

1 polubienie