问题标签 [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 回答
124 浏览

python - 使用 conda 在 shell 内安装 numpy

出于某种原因,我收到错误消息:

在初始化期间错误 numpy 安装有问题。在导入时,我们在 ['C:\Program Files\FreeCAD 0.18\bin\lib\site-packages\numpy'] 中检测到了旧版本的 numpy。解决此问题的一种方法是反复卸载 numpy 直到找不到,然后重新安装此版本。发生在 C:\Users\foobar\AppData\Roaming\FreeCAD\Mod\A2plus\InitGui.py 请查看日志文件以获取更多信息

每当我在特定计算机上运行 FreeCAD 时。现在我可以使用这些解决方案中的任何一个在 Python 控制台(Python REPL shell)中使用 pip 安装包,除了新的 FreeCAD 使用 conda。这篇文章建议通过下载和解压缩 zip 文件来安装 numpy,我认为这是一个坏主意。我的环境是:

  • 操作系统:Windows 10
  • 操作系统字长:64位
  • FreeCAD 的字大小:64 位
  • 版本:0.18.16131(Git)
  • 构建类型:发布
  • 分支:发布/FreeCAD-0-18
  • 哈希:3129ae4296e40ed20e7b3d460b86e6969acbe1c3
  • Python版本:3.6.6
  • Qt版本:5.6.2
  • 硬币版本:4.0.0a
  • OCC 版本:7.3.0
  • 区域设置:英语/美国 (en_US)

如果您能帮助我了解问题所在以及如何解决,我将不胜感激。提前致谢。

0 投票
1 回答
576 浏览

python - 将 FreeCAD 导入 Python 以在外部脚本中使用

我目前正在使用 Projekt 从 FreeCAD 获取数据以在外部脚本中使用。

我的 FreeCAD 安装:

OS: Windows 10 Word size of OS: 64-bit Word size of FreeCAD: 64-bit Version: 0.18.4 (GitTag) Build type: Release Branch: releases/FreeCAD-0-18 Hash: 980bf9060e28555fecd9e3462f68ca74007b70f8 Python version: 3.6.6 Qt version: 5.6.2 Coin version: 4.0.0a OCC version: 7.3.0 Locale: German/Germany (de_DE)

并且在将其导入 python 脚本时遇到问题。

我正在使用 Python 3.7.4

我的源代码:

这段代码总是让人期待。我遵循了一个教程 pdf,您可以在谷歌搜索时轻松找到它。

任何人都知道如何解决这个问题?还是自己解决了问题?

0 投票
0 回答
63 浏览

python - 列表拒绝追加

下面是用于与FreeCAD库一起使用的 python 代码的一部分。如果需要,我可以提供完整的代码。

这段代码的奇怪之处在于,附加到一个列表 ,mr_fus.References对列表的大小没有影响。我还尝试附加到一个虚拟列表temp, 并且它的大小按预期返回。

这里是 的定义References

虽然type()表明这References是一个列表,但对我来说,它看起来不像普通的列表。我很好奇列表是否有可能拒绝向自身添加元素。

编辑:这是一个可重现的例子,虽然不是最小的。

编辑:关于 FreeCAD 版本:

操作系统:Ubuntu 19.04 操作系统字长:64 位 FreeCAD 字长:64 位 版本:0.18.4。构建类型:发布 Python 版本:3.7.3 Qt 版本:5.12.2 硬币版本:4.0.0a OCC 版本:7.3.0 区域设置:英语/美国 (en_US)

0 投票
3 回答
164 浏览

python - 使用 ezdxf 界面从 Python 导出网格后无法在 Freecad 中显示网格

这是我第一次在这里发帖。我正在使用 python 制作房屋的 3D 模型,我想使用 FreeCAD 可视化输出。我找到了写入 dxf 格式的 ezdxf 接口(https://pypi.org/project/ezdxf/ ),我运行了以下代码(这是那里提供的示例之一)

但是,当我在 FreeCAD 中打开输出时,什么都没有显示。 Freecad 不显示网格 也许我犯了一个简单的错误。FreeCAD 对我来说是全新的,所以也许我必须在 FreeCAD 中启用某些东西才能看到网格。我可以通过在顶点之间绘制线条来绘制每条边,但我更喜欢输入顶点和面并以这种方式绘制网格。谁能告诉我我做错了什么或另一种方法来做我想做的事情,从 python 导出网格并在 FreeCad 中打开它们。谢谢你的帮助

0 投票
1 回答
92 浏览

freecad - 在 Z 轴上移动一个 egde

我试图将 Z 轴上的标记边缘推几毫米。如何在 Freecad 中执行此操作?

广告

0 投票
2 回答
1351 浏览

python - 使用命令行 FreeCAD 创建一个简单的圆柱体

我想使用 python 在 FreeCAD 中创建一个简单的支柱并将其导出为 .stl 文件

在此处输入图像描述

到目前为止我做了什么?

  1. 录制了我创建圆柱体(零件)并将其导出为 stl 文件的宏。

    德

  2. 我将宏中的文本复制并粘贴到一个 python 文件中,我将其命名为“pillar.py”

这是代码:

  1. 我关闭了 GUI 并打开了终端,然后输入:

    "C:\Program Files\FreeCAD 0.18\bin\FreeCADCmd.exe" "C:\Users\totyped\Documents\pillar.py"

来源:https ://forum.freecadweb.org/viewtopic.php?t=23869

结果:它只是在终端上显示,但没有创建任何 stl 文件。

在此处输入图像描述

它也没有给出任何警告或错误信息......

笔记

所以,我注意到如果我将脚本文件放在与 FreeCADmd.exe 相同的目录中,它将起作用。为什么 ?我没有任何线索。

编辑

因此,正如@sliptonic 所建议的,我尝试将脚本文件更改为:

但我仍然没有得到任何气缸。也许日志文件可以提供帮助?这里是:

这很奇怪,因为如果我在 FreeCAD GUI 中作为宏运行,它会工作并创建 .stl 圆柱体。

0 投票
1 回答
337 浏览

svg - FreeCAD:导入的 SVG 被取代

我有一个用 Inkscape 制作的简单绘图(只是一个盒子)。该框位于文档的左下角(即 Inkscape 原点)。当我在 FreeCAD 上导入它(作为几何图形)时,它被放置在离 -Y 轴原点很远的地方(X 是正确的)。我做了一些检查,偏移量正是文档高度。图像没有任何变换。

以下是(意外)结果的示例:

在此处输入图像描述

我已经测试了与原点相反的新 Inkscape 1.0,但结果相同。任何人都知道如何解决这种行为?

提前致谢!:)

PD:我正在使用 Inkscape 0.92 和 FreeCAD 0.18.3

0 投票
1 回答
1190 浏览

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

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

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

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

如果将脚本调用为

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

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

脚本so.py:

FreeCAD 示例模型

0 投票
0 回答
114 浏览

python - python xml.etree 条件崩溃 (FreeCAD/console)

我试图弄清楚使用 ElementTree.parse 的两种情况有什么区别。在一种情况下它会崩溃,但在另一种情况下不会。

案例一 FreeCAD;在 FreeCAD 的 python 控制台中,我有以下内容:

在这种情况下,解析文件会导致 FreeCAD 崩溃。

案例二独立;在独立的 python 控制台中,我有以下内容:

在这种情况下,似乎没有问题。

xml.etree 依赖的某些设置或初始化是否会导致这种差异?

以下简约 XML 也会发生崩溃

编辑:

我发现了以下区别

在 FreeCAD 中给出
“expat_2.0.1”,

而在控制台中给出
'expat_2.2.5'

但是我不明白差异来自哪里。在这两种情况下,lddon /usr/lib64/python3.6/lib-dynload/pyexpat.cpython-36m-x86_64-linux-gnu.so, (使用subprocess.Popen)列出相同的库。

谢谢托本

0 投票
0 回答
133 浏览

python-3.x - 在 FreeCad Assembly 4 中插入 LCS 和其他模型的 Python 脚本

对于每个模型,我想在固定点插入多个 LCS。我有足够的能力插入 LCS 本身并设置偏移量。但是LCS也需要一个参考点。有谁知道添加参考点的脚本(在 GUI 中它在坐标系参数下列出)?此外,有人知道将其他模型插入到程序集中的脚本吗?