Tag zusammen Ich möchte ein VBA-Makro erstellen, das " Kante auf Kante " Skizzenbeziehungen und wackelige Abhängigkeiten entfernt , wie z. B. das Konvertieren von Elementen, unabhängig davon, ob es sich um ein externes Teil oder eine andere Skizze desselben Teils handelt
Ich bin in der Skizze, mit der man sich befassen soll Ich führe das Makro aus, das jedes Element überprüfen sollte, um die Art der Einschränkung zu sehen, wenn es sich um ' on edge › delete handelt
Ich weiß nicht, wie ich jedes Element 1 zu 1 auswählen soll Ich weiß nicht, wie ich überprüfen kann, ob es gleich " auf der Kante " oder wackelig ist Ich weiß nicht, wie ich die zugehörige Einschränkung entfernen kann
Hier ist mein Makro-Start
Sub main()
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swSketchMgr As SldWorks.SketchManager
Dim swSketch As SldWorks.Sketch
Dim swSelMgr As SldWorks.SelectionMgr
Dim swFeat As SldWorks.Feature
Dim nSketchStatus As Long
Dim boolstatus As Boolean
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
Set swSketchMgr = swModel.SketchManager
Set swSketch = swSketchMgr.ActiveSketch
If swSketch Is Nothing Then
MsgBox "Éditer une esquisse et relancer la macro"
Exit Sub
End If
'For i = 1 To Count
'selectionner i element
'if relation existante =sgOFFSETEDGE
'boolstatus = Part.Extension.SelectByID2(xx, , ,, , , )
'swModel.EditDelete
'swModel.SketchManager.SketchConstraintsDel 1, "sgOFFSETEDGE"
'swModel.SketchConstraintsDel i, "sgOFFSETEDGE"
'Next i
swModel.ClearSelection2 True
End Sub
Hallo @Bob_2000 Erklären Sie stattdessen in dem von @Cyril.f bereitgestellten Code, worüber Sie sich aufregen, und dann können wir spezifischere Fragen beantworten.
Die "SkPoint-ID" und die "SkSeg-ID" sind keine Variablen, sondern Volltext, um im Debug-Fenster die Punkt-ID der Skizze (sk → sketch) und SkSeg die ID des Segments anzuzeigen.
Sie können feststellen, dass sie zwischen " " stehen, aber vor allem, dass diese Wörter nicht deklariert sind (z. B. mit einem Dim), also keine Variablen sein können.
Hallo Ich hatte keine Zeit zum Testen, aber es gibt Filterkriterien, was diesen Code scannen muss. Grundsätzlich ist es auf Alle eingestellt und je nach Ergebnis können Sie auf nicht identifizierte Fälle stoßen, bei denen es sich um wackelige Skizzen oder andere handeln kann. Sie müssten den Filter auf die Elemente setzen, die wackelig sind, um eine bestimmte Schleife in diesem Status zu erstellen. Ich habe zumindest bis Ende der Woche keinen Zugang zu SW.