小编Ste*_*ner的帖子

如何使用 FreeCAD python 模块更新电子表格值

假设我有一个 FreeCAD 模型,它定义了特定的几何图形,其尺寸高度、宽度和长度在模型电子表格的单元格中定义。我想使用 FreeCAD 模块在独立的 Python 脚本中构建自动化管道,该模块 - 读取该模型 - 将电子表格单元格设置为客户端提供的值 - 相应地重新计算模型 - 通过细分模型的各个部分来生成几何图形以进行进一步处理FreeCAD 之外(与此问题无关)

该脚本正在运行,只是它无法更改用于计算模型的参数值。生成的几何图形始终反映与模型一起保存的原始值。

我添加了一个断言命令(第 44 行)。geometry[0][0][2]是一个向量,其坐标恰好等于电子表格单元格 A5 中的参数x值。width

如果将脚本调用为

python so.py so_example.FCStd 10 5 3 6
Run Code Online (Sandbox Code Playgroud)

断言失败,因为几何图形是根据电子表格的原始值 ( width=2) 而不是覆盖的值 ( width=3) 生成的。

如何有效地覆盖这些电子表格单元格值?

脚本so.py:

FREECADPATH = '/usr/lib/freecad/lib'
import sys
sys.path.append(FREECADPATH)
from collections import defaultdict

def convert_model(filename, arclen, radius, width, height):
    try:
        import FreeCAD
        from FreeCAD import Vector
    except ValueError:
        print ('import error\n')
    else:
        FreeCAD.open(filename)

        doc = App.ActiveDocument

        sheet …
Run Code Online (Sandbox Code Playgroud)

python freecad

4
推荐指数
1
解决办法
2610
查看次数

标签 统计

freecad ×1

python ×1