用于在 Catia 中解锁视图的宏不起作用

Macro for unlocking Views in Catia not working

我正在尝试为 Catia V5 创建宏,它将自动解锁所有视图并更新它们。宏更新所有视图(当它们解锁时)。 问题是它只会解锁 sheet 上我目前在 运行ning 宏之前的视图,然后它不会更新其他 sheet 上的其他视图。

因此视图解锁将仅适用于我在 运行 启用我的宏之前最后激活的绘图 Sheet。 但是,如果我所有的视图都已解锁并且我 运行 宏,它将更新我的所有视图,但由于某种原因,当我锁定它们时解锁它们将无法如前所述工作。

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

我希望我的宏能够解锁所有视图并在每个 sheet 绘图上更新它们。

我没有使用 Catia,但您的代码应该如下所示:

Sub CATMain()

    Dim oDrawing As DrawingRoot
    Dim oView As DrawingView
    Dim oSheet As DrawingSheet
    Set oDrawing = CATIA.ActiveDocument.DrawingRoot

    For Each oSheet in oDrawing.Sheets
       For Each oView in oSheet.Views
          oView.LockStatus = False
          oSheet.Update 'Not sure if required here, might be moved outside the loop?
       Next
    Next
End Sub