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