Я пытаюсь создать макрос для Catia V5, который автоматически разблокирует все виды и обновит их. Макрос обновляет все представления (когда они разблокированы).
Проблема в том, что он разблокирует только те представления на листе, в которых я находился до запуска макроса, а затем не обновляет другие представления на других листах.
Таким образом, разблокировка видов будет работать только на листе чертежа, который у меня был активным в последний раз перед запуском макроса.
Но если все мои представления разблокированы, и я запускаю макрос, он обновит все мои представления, но по какой-то причине разблокировка их, когда они заблокированы, не будет работать, как указано выше.
Sub CATMain()
Dim oDrawing As DrawingRoot
Dim oViews As DrawingViews
Dim oSheets As DrawingSheets
Set oDrawing = CATIA.ActiveDocument.DrawingRoot
Set oSheets = oDrawing.Sheets
Set oViews = oDrawing.Sheets.ActiveSheet.Views
Dim i, y As Integer
For y = 1 To oSheets.Count
oDrawing.Sheets.Item(y).Activate
For i = 1 To oViews.Count
oViews.Item(i).LockStatus = False
oDrawing.Sheets.ActiveSheet.Update
Next
Next
End Sub
Я ожидаю, что мой макрос откроет все виды и обновит их на каждом листе чертежа.