Witam
Mam makro działające w 98% i trochę suszę się na pozostałe 2%.
To makro automatycznie dodaje oznaczenia na końcu linii gięcia, na warstwie znakowania i w kolorze żółtym.
Problem wynika z jakiejś części, gdy rozmiar części jest zmniejszony, oznaczenie wychodzi z części.
Poprzez ponowne uruchomienie makra ma ono na celu wymazanie linii oznaczeń, poza czasem (rzadko) oznaczenie nie jest usuwane.
W górnej części okna pojawia się komunikat w trybie debugowania:
" Żaden z tych elementów nie może zostać usunięty "
Oto część mojego kodu, która służy do usunięcia znaczników:
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
A w razie potrzeby przykład posła do PE, który nie działa dobrze (sw 2020)
Jeśli ktoś ma jakiś trop, to zbyt długo zwlekam z tym tematem!
PI_200416-test. SLDPRT (580.9 KB)
PI_200416-test. SLDDRW (287.8 KB)