Cześć wszystkim Chcę utworzyć makro VBA, które usunie relacje szkicowania " krawędź na krawędzi " i chwiejne ograniczenia, takie jak konwertowanie elementów, niezależnie od tego, czy jest to część zewnętrzna, czy inny szkic tej samej części
Jestem w szkicu, z którym mam się uporać Uruchamiam makro, które powinno sprawdzić każdy element, aby zobaczyć typ ograniczenia, jeśli jest to ' na krawędzi › usuń
Nie wiem, jak wybrać każdy element 1 po 1 Nie wiem, jak sprawdzić, czy jest równy ' na krawędzi ' czy chwiejny Nie wiem, jak usunąć skojarzone ograniczenie
Oto mój początek makro
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
Witam @Bob_2000 Zamiast tego wyjaśnij, co Cię denerwuje w kodzie dostarczonym przez @Cyril_f , a następnie możemy odpowiedzieć na bardziej szczegółowe pytania.
"SkPoint ID" i "SkSeg ID" nie są zmiennymi, ale pełnym tekstem, aby wyświetlić w oknie debugowania identyfikator punktu szkicu (sk → szkic), a SkSeg identyfikator segmentu.
Można zauważyć, że znajdują się one pomiędzy " ", ale przede wszystkim, że te słowa nie są zadeklarowane (na przykład z dim), więc nie mogą być zmiennymi.
Witam Nie miałem czasu na testowanie, ale istnieją kryteria filtrowania, co musi zeskanować ten kod. Zasadniczo jest ustawiony na Wszystkie i w zależności od wyniku możesz natknąć się na niezidentyfikowane przypadki, które mogą być chwiejnymi szkicami lub innymi. Musiałbyś ustawić filtr na elementach, które są chwiejne, aby utworzyć określoną pętlę na tym statusie. Nie mam dostępu do SW przynajmniej do końca tygodnia.