问题标签 [openscad]

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 回答
127 浏览

openscad - 从单个值向量中提取值

在openscad中,我需要从数组中提取一个值,而不是它自己的数组。例如我有一个值数组

当我将 a[0] 分配给变量时,变量回显 [0] 表明该变量是单单元数组。例如:

b = [0];而不仅仅是 0。我怎样才能使 b = 0?

0 投票
1 回答
95 浏览

openscad - Openscad:从左括号中获取错误消息;为什么我不能重新分配数组变量?

为什么我从 if 语句的左括号中收到错误消息?如果不是这样,我该如何重新分配向量变量?

0 投票
1 回答
35 浏览

openscad - 设置连接外部模块所需的孔的最佳实践

我是 OpenSCAD 的新手。

我有一块板,我想在上面安装一个步进器。为此,我需要在板上 5 个孔 - 一个用于轴,4 个用于螺钉。我在主 scad 文件中绘制电路板和孔,并将步进器用作模块。我的问题是,每当我想更换步进器时,我都必须更换孔。这有什么好的做法吗?目前,我已将步进模块文件中的孔定义为独立模块。

0 投票
1 回答
299 浏览

openscad - 在 openSCAD 中使用 if 与差异

我想在 openSCAD 中创建一个模型,然后我想在其中切割一个可选的孔(使用差异)

所以我可以做类似的事情

但这实际上是在说“总是从模型中剪掉一些东西,除非你剪掉的东西在不需要孔的情况下可能什么都不是”。

另一种选择是:

但这实际上是在说“如果你需要一个洞然后渲染模型并移除洞,否则只渲染模型”。

有没有办法对此进行编码,以使渲染模型的调用仅存在一次,并且仅在需要时才发生差异操作?

所以代码感觉更像是在说渲染模型和 if 需要切洞?

0 投票
3 回答
159 浏览

openscad - openscad 钻入由 for 创建的组

我知道当我使用它时,它会创建一组生成的孩子。我创建了一个名为 grid 的模块,如下所示:

当这样使用时:

将立方体排列在一个漂亮的网格中。

但是我最初的希望和意图是像这样使用它:

失败是因为 for 运算符返回一个组而不是一组子级。

为什么for要添加一个组开始?(也导致需要intersection_for

有没有办法让我的网格操作员模块来处理组的孩子?

0 投票
1 回答
294 浏览

openscad - 在openscad中制作支撑结构“歧管”

我正在尝试在openscad中围绕圆柱体构建支撑结构,但我似乎无法使结构的倾斜部分“歧管”

我知道这确实是个幼稚的问题,但是当我不断收到警告时,我感到很困惑WARNING: Object may not be a valid 2-manifold and may need repair!

任何帮助将不胜感激,以摆脱警告。

0 投票
0 回答
405 浏览

javascript - 将 JSCAD / JS 输出转换为 JSON(用于three.js)

我正在寻找一种方法来转换 OpenJSCAD(jscad / js 文件)的本机输出(参数 CAD?),即

到 json 中,然后可以使用 json 对象加载器将其加载到 three.js 场景中。

这可能吗?

编辑:正如数字污染所指出的,这个输出已经是一个 JSON 字符串 - 点和三角形位于单独的数组中。

three.js json 加载器似乎接受已在单独数组中使用“顶点”和“面”格式化的 json 文件。我尝试调整输出以匹配一个工作示例 - https://threejs.org/examples/webgl_loader_json_claraio.html 用“顶点”替换点数组中的值,用“三角形”中的值替换面,也去掉需要的括号 - three.js 加载器仍然无法加载对象。

这是一个示例 openjscad JS 模型: https ://pastebin.com/BuSxNgg2

这是一个工作三.js JSON模型的示例: https ://threejs.org/examples/models/json/teapot-claraio.json

0 投票
2 回答
38 浏览

openscad - 来自根的差分操作

有没有办法直接从根目录中产生差异?我想做这样的事情:

而不是这个:

0 投票
2 回答
323 浏览

openscad - OpenSCAD - 来自轴的圆柱体

我怎样才能创建这个形状?所描绘的形状可以解释为以下之一:

  1. 变成一条线而不是一个点的圆锥。
  2. 从圆到直线的放样。
  3. 从圆形到正方形的 [0,1] 的 loft。
  4. 一侧挤入的圆柱体。

-- 圆面上的曲线对于准确性来说是理想的,但不是绝对必要的。

使用此代码在 OpenSCAD 中进行近似:

从轴投影的圆柱体

在 Fusion360 中实现的形状:

在 Fusion360 中实现的形状

0 投票
1 回答
820 浏览

openscad - CGAL 错误:断言违反!表达式:e->incident_sface()

我正在尝试将两个 .stl 文件组合在一起。单独每个似乎都可以渲染,但是当我将它们放在一起时,我看到了这个编译错误:

当我用谷歌搜索这个错误时,我看到: 如何在 OpenSCAD 中使用 Sphere 渲染 dxf 文件

其中引用了这个:http: //forum.openscad.org/Assertion-Violation-in-Render-td10598.html

基于此,听起来我需要将模型从 X 轴上移开,但即使我这样做了,它似乎仍然失败了。我想我误解了解决方案。我应该在哪里进行 X 轴移位?

这是我导入两个 stls 的代码:

这是我的存储库,其中包含 stls