问题标签 [freecad]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
716 浏览

eclipse - 如何将 CMake 项目导入 Eclipse 并使其与 EGit 一起使用

我正在尝试使用 Eclipse 来处理 FreeCAD 项目。

我正在遵循这些说明,因为它们似乎符合我的情况:

http://www.mantidproject.org/Setting_up_Eclipse_projects_with_CMake

我做了什么:

我从 Github 查看了 FreeCAD 项目:

https://github.com/FreeCAD

到我的主文件夹:

然后我创建了一个构建文件夹:

然后我像这样运行CMake:

在 Eclipse 中,我执行了“导入现有项目...”并将导入向导指向构建文件夹,它在那里正式创建了 .cproject 和 .project 文件。

该项目在 Package Explorer 中显示得很好,但项目名称旁边没有“>”标记,表明它与 git repo 相关联。

如果右键单击项目并选择“团队”,则子菜单中只有两个选项(Apply Patch.../`共享项目...^),进一步表明 EGit 尚未获取 git repo。

在 GitRepo 视图中,我可以查看 repo 并使用它,但由于项目与它没有“关联”,我无法提交或对项目文件执行“任何 git”。

如果尝试' Team/Share Project...'并将共享项目向导指向 git repo,它会抱怨:

所以我不知道如何让 EGit 识别/Users/nyholku/FreeCAD/FreeCAD-git/.git回购。

0 投票
2 回答
1338 浏览

python - 无法使用 python3 导入 freecad.so

使用 python3 将 FreeCAD.so 导入我的模块时出现问题。什么时候用 python2 做同样的事情——它可以工作。

源代码很简单:

我已经/usr/lib/freecad/lib/在 $PYTHONPATH

0 投票
1 回答
720 浏览

python-2.7 - 访问回调函数中的值

我是一个没有受过教育的编程笨蛋,所以请原谅糟糕的编码和一般的无知。

我正在使用 FreeCAD,它有一个 API 可以访问 CAD 模型中的一个点。

这给了我以下结果:

点外是:无

~~~~

向量(320.0, -3414.0, 168.15)

显然,类函数在选择坐标点之前返回(并且当点值为“None”时)。

当点被选中时,向量值被打印出来,但此时类函数已经返回,所以我实际上不能使用它们。

如何访问“单击”回调函数中的值?是否可以实例化一个更新的全局变量?

我希望这是有道理的...

0 投票
1 回答
1347 浏览

python - 名称“...”未定义

我收到一条消息说

原始代码是

这是齿轮动画的代码,但它不起作用。我在编码方面不是那么好,所以我不确定是什么问题。如果有人可以帮助我,那就太好了。谢谢你。:)

0 投票
1 回答
803 浏览

python - FreeCAD 未按预期执行 python 脚本

我正在尝试学习 FreeCAD python 脚本。基本上我打开 python 控制台并在 GUI 中做我想做的事情,然后查看 python 控制台来学习命令。然后阅读该特定任务的 API 以了解 Python 命令的正确形式。

事情进展顺利,直到我陷入这个奇怪的问题,程序(IE FreeCAD)不执行我的部分代码。例如,在这个宏中,我创建了三个盒子,然后将两个盒子融合在一起,它工作得很好。但在这一个中,我创建了 3 个盒子,将其中两个融合在一起,然后尝试从更大的盒子中切割出融合。它不起作用。我什至尝试使用 包含一些标志print("flag"),但它不执行这些命令。如果我将确切的命令复制并粘贴到 python consol 中并运行它就可以了!

所以我的猜测是:

  1. FreeCAD 在 GUI 中做了一些在 python 控制台中没有报告的事情。
  2. FreeCAD python解释器不执行一些命令如print("")
  3. FreeCAD API 中有一些东西我没有正确使用

如果您能帮助我知道,我将不胜感激:

  1. 如果这是 FreeCAD/python 中的错误或者是故意的
  2. 我该如何解决这个问题,以便 FreeCAD python 解释器按我的预期运行我的宏/脚本?

PS 我在 FreeCAD 论坛上发布了完全相同的问题。

0 投票
0 回答
158 浏览

python - 在 Freecad 中将标准对象转换为 App::FeaturePython

我希望能够为 Freecad 中的对象添加自定义属性。我可以通过“obj.addProperty()”添加它,但它只适用于“App::FeaturePython”类型的对象。当我尝试使用它时,例如“PartDesign::Pad”,我收到此错误:“RuntimeError:Type PartDesign::Pad 无法动态添加属性”。

有什么方法可以将自定义属性添加到像“PartDesign::Pad”这样的标准对象,或者如何将标准对象转换为可以采用自定义属性的东西?

属性值应该是字符串和/或双精度的列表或字典。

谢谢。

0 投票
3 回答
5682 浏览

python - 在 Python 中导入 CAD 对象并存储为数组

我正在使用 Autodesk Fusion 360 为 3D 零件建模(见下图),然后我可以将其导出并保存为 .step、.iges、.sat 或 .smt 文件。

我想要实现的是将此部分转换为 Python 中的 3D numpy 数组。数组的每个元素将是01,以指示该位置是否有固体材料或根本没有材料(空气)。

例如,如果我的对象具有图形的尺寸,则大小为 100x100x50 的数组的每个元素将代表 1 mm 3的对象体积。所有浅蓝色的小立方体的值为1表示该位置有固体物质,而红色立方体的值为0表示该空间不包含固体物质。

在此处输入图像描述

这可以使用 FreeCAD API 完成吗?或者有没有其他方法可以在 Python 中导入 .step/.iges/.sat/.smt 文件并转换/解析它以创建所需的数组?

0 投票
1 回答
375 浏览

cad - FreeCAD 在融合/联合后删除对象指示符

我有 2 个与联合/融合控制结合的对象联合控制

结果符合预期,但现在我想删除单独对象的剩余行(至少在我看来)。 在此处输入图像描述

我了解堆叠对象树的基本原理,并且让它们仍然作为单个实体可用是件好事,但我想隐藏在我看来在现实中也看不到的东西。

有接盘侠吗?谢谢

0 投票
0 回答
228 浏览

python - FreeCADCmd 导出计算

我的目标是从 STEP 文件中计算出固体的体积。在 FreeCAD GUI 内的 python 控制台中,这没有问题。但我需要使用 python 脚本在命令行上执行此操作。问题是,我怎样才能导出我的结果???

我试图弄清楚如何从 FreeCADCmd 运行的 python 脚本中导出简单的文本或其他内容。我发现无法导出任何东西......简单的 print("Hello world") 不起作用。写入文件也不起作用。日志文件很干净,只是说执行了test.py-。

我希望任何人都可以帮助我!

谢谢,安迪

0 投票
1 回答
677 浏览

python - 在 FreeCAD 中使用 Pandas

我对 FreeCAD 是全新的,对 python 也相当陌生。

我有一个正在进行的项目,其中我有一个数百个(x,y)坐标的列表,存储在 Excel 文档的两列中。这些点定义了高程剖面的一部分。我需要做的是使用这些点在 FreeCAD 中绘制一条线/形状,然后可以将其挤压成该形状的扩展版本。由于数据目前在 excel 中,我倾向于使用 pandas 来访问它,但我对其他想法持开放态度。

到目前为止,我遇到的问题是我无法找到从 FreeCAD 内部访问 pandas 的方法,所以我一直在尝试通过 Spyder ide 使用 Winpython(2.7.10) 来导入FreeCAD(0.16) 和 pandas 进入同一个脚本。我尝试将 Freecad/bin 和 Freecad/lib 文件夹添加到我的路径中(使用此推荐的方法https://www.freecadweb.org/wiki/Embedding_FreeCAD/en),但尚未成功导入。

错误是:“DLL 加载失败:找不到指定的过程。” ....四处搜索,我似乎在我安装的任何地方都找不到 FreeCad.dll 或 FreeCAD.so,但 FreeCAD 在独立使用时运行正常。

总结一下:想要通过外部 python 控制台运行 FreeCAD,以便通过 pandas 访问 excel 数据(FreeCAD 本身似乎不提供)。这样做时,我收到一个错误,并且无法访问 FreeCAD。这可能是版本兼容性问题,或者更复杂的问题。

如果您在这里成功,感谢您花时间阅读我相当复杂/利基的问题。请随时提出任何更优雅的替代方案,正如我所说,我是新手,可能还没有遇到所有可能的解决方案。

谢谢