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

CATIA V5 VBA宏修改HybridBodies名称报错:只读属性无法修改

CATIA V5 VBA宏:几何集重命名失败的解决方法

你的问题出在变量类型声明错误上:

你把NewGeometryFromExcel声明为HybridBodies(这是CATPart中所有几何集的集合对象),但myPart.HybridBodies.Add()方法返回的是单个HybridBody(单个几何集对象)。HybridBodies集合的Name属性是只读的,这就是你遇到Impossible to change a read only property错误的原因;而在赋值前加Set是完全错误的用法,因为Name是普通属性不是对象,所以会触发Bad use of the property错误。

修正后的代码:

Set oDocument = catia.ActiveDocument
Set myPart = oDocument.Part
Set objHSF = myPart.HybridShapeFactory
Set GeometryFromExcel = oDocument.Part.HybridBodies.Item("GeometryFromExcel") ' 获取包含测量信息的几何集

Set objRef = myPart.CreateReferenceFromObject(GeometryFromExcel) ' 创建几何集引用
objHSF.DeleteObjectForDatum objRef ' 删除几何集
    
Debug.Print ">>> 更新点集 ..."
' 修正变量类型为HybridBody(单个几何集对象)
Dim NewGeometryFromExcel As HybridBody
Set NewGeometryFromExcel = myPart.HybridBodies.Add()
Debug.Print NewGeometryFromExcel.Name

' 现在可以正常修改名称
NewGeometryFromExcel.Name = "lala"

关键说明:

  • HybridBodies是CATPart中管理所有几何集的集合容器,它本身没有可修改的Name属性;
  • HybridBody是单个几何集对象,其Name属性是可读写的,用于修改几何集的显示名称;
  • 创建几何集时,Add()方法返回的始终是单个HybridBody实例,必须匹配变量类型。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 02:13:10