Hallo
Ich habe ein funktionierendes Makro von 98 % und trockne für die anderen 2 % ein wenig.
Dieses Makro fügt automatisch Markierungen am Ende der Biegelinie, auf einer Markierungsschicht und in Gelb hinzu.
Das Problem kommt von einem Teil, wenn die Größe des Teils reduziert wird, kommt die Markierung aus dem Teil.
Durch einen Neustart des Makros sollen die Markierungslinien gelöscht werden, außerhalb der Zeit (selten) wird die Markierung nicht gelöscht.
Und eine Meldung wird im Debug-Modus am oberen Rand des Fensters angezeigt:
" Keine dieser Entitäten kann gelöscht werden "
Hier ist der Teil meines Codes, um das Markup zu entfernen:
Sub suppressMarquage()
Dim swModel As Object
Dim vSkSegArr As Variant
Dim vSkSeg As Variant
Dim swSkSeg As SldWorks.SketchSegment
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long
Dim Numberline As Integer
Dim lNumSegments As Long
Dim myModelView As Object
'On supprime le marquage existant
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
Set swDraw = swModel
Set myModelView = swModel.ActiveView
myModelView.FrameState = swWindowState_e.swWindowMaximized
Set swView = swDraw.GetFirstView.GetNextView
lNumSegments = swView.GetLineCount2(1)
If lNumSegments > 0 Then
Set swSketch = swView.GetSketch
vSkSegArr = swSketch.GetSketchSegments
For Each vSkSeg In vSkSegArr
Set swSkSeg = vSkSeg
boolstatus = swModel.Extension.SelectByID2(swSkSeg.GetName, "SKETCHSEGMENT", 0, 0, 0, False, 0, Nothing, 0)
swModel.EditDelete
Next vSkSeg
End If
'On supprime l'annotation marquage
Dim bFind As Boolean
Dim swNote As SldWorks.Note
Dim swAnn As SldWorks.Annotation
Dim bret As Boolean
Set swNote = swView.GetFirstNote
Do While Not swNote Is Nothing
bFind = False
Debug.Print "Note:" & swNote.GetText
If swNote.GetText Like "*Marquage laser*" Then
bFind = True
Debug.Print "bFind:" & bFind
Set swAnn = swNote.GetAnnotation
bret = swAnn.Select2(True, 0)
Set swNote = swNote.GetNext
swModel.EditDelete
End If
If Not bFind Then Set swNote = swNote.GetNext
Loop
End Sub
Und wenn nötig ein Beispiel für MEP, das nicht gut funktioniert (sw 2020)
Wenn jemand einen Hinweis hat, habe ich mich zu lange mit dem Thema beschäftigt!
PI_200416-Test. SLDPRT (580.9 KB)
PI_200416-Test. SLDDRW (287.8 KB)