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

Python FreeCAD中如何用变量调用ActiveDocument下的对象属性

正确实现方法

错误原因

Python 不支持通过点运算符拼接字符串变量的方式访问动态属性,你尝试的字符串拼接写法本身不符合 Python 语法规则,才会触发语法错误;即使去掉拼接直接写 FreeCAD.ActiveDocument.boxName,也是访问文档对象名为 boxName 的属性,而非读取 boxName 变量存储的对象名字符串匹配对应属性。

可行写法

方法1:使用Python通用动态属性访问方法getattr

getattr 是Python内置函数,支持传入字符串形式的属性名获取对象属性,写法如下:

getattr(FreeCAD.ActiveDocument, boxName).Length = 150

方法2:使用FreeCAD原生getObject方法(更推荐)

FreeCAD的文档对象原生提供了按名称获取对象的getObject方法,适配FreeCAD的对象管理逻辑,不会和文档自身的属性冲突,稳定性更高:

FreeCAD.ActiveDocument.getObject(boxName).Length = 150

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 03:54:06