You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CATIA宏开发:如何清除规格树中Capture的高亮状态?

CATIA宏清除Capture规格树高亮问题解决

两种选择方式的差异

  • 直接Selection.Add Capture对象:选中的是3D视图中的Capture标注实体,规格树节点会联动高亮,但API层面的选择上下文属于几何对象,Clear可能无法完全同步清除规格树UI层面的高亮。
  • Selection.Search按类型搜索:本质和第一种一致,都是选中Capture实体对象,而非规格树的节点本身,所以同样会出现高亮残留问题。

解决办法

方法1:选中规格树节点后清除

通过Capture对象获取其在规格树中的TreeNode,选中节点后再执行清除,确保UI层面的高亮被同步清除:

Dim oCapture As Capture
Dim oTreeNode As TreeNode

Set oCapture = CATIA.ActiveDocument.AnnotationSets.Item(1).Captures.Item(1)
' 获取Capture对应的规格树节点
Set oTreeNode = oCapture.TreeNode

' 选中规格树节点,再清除选择
CATIA.ActiveDocument.Selection.Add oTreeNode
CATIA.ActiveDocument.Selection.Clear

方法2:调用CATIA内置取消选择命令

直接触发CATIA的"取消选择"命令,模拟手动按Esc的底层操作,解决API层面Clear无法覆盖UI高亮的问题:

' 执行取消选择命令
CATIA.StartCommand("Cancel Selection")

方法3:先退出AnnotationSet编辑状态

如果当前AnnotationSet处于编辑模式,可能导致选择状态被锁定,需先退出编辑再清除:

Dim oAnnotSet As AnnotationSet
Set oAnnotSet = CATIA.ActiveDocument.AnnotationSets.Item(1)

If oAnnotSet.IsInEdit Then
    oAnnotSet.EndEdit
End If

CATIA.ActiveDocument.Selection.Clear

内容的提问来源于stack exchange,提问作者liltequilaa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 08:35:10