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
相关产品推荐
相关产品推荐

