1

我是 OpenSCAD 的新手。我正在尝试创建一个基本的三角形楔子,它将成为更大组件的一部分。但我已经遇到了麻烦。使用以下代码,我得到正确位置的点;然而,这些面孔似乎有点“向内弯曲”。换句话说,多面体的面不会一直填满。

polyhedron(
    points = [
        [-0.3, 0.15, 0],
        [-0.4, 0.15, 0],
        [-0.3, 0.6, 0],
        [-0.4, 0.6, 0],
        [-0.3, 0.15, -0.7],
        [-0.4, 0.15, -0.7]
    ],
    faces = [
        [0,1,2,3],
        [2,3,4,5],
        [1,3,5],
        [0,2,4],
        [0,1,4,5]
    ]
);

这里有一些不同角度的截图来说明我所说的“向内弯曲”的意思:

角度 #1 角度 #2 角度 #3

我做错了什么?

4

2 回答 2

2

看这里:openscad 文档 polyhedron

面的点排序 从外向内看面时,点必须是顺时针方向的。

您可以突出显示错误的面孔

正确的面孔,例如:

faces = [
        [1,3,2,0],
        [2,3,5,4],
        [1,5,3],
        [0,2,4],
        [0,4,5,1]
    ]
于 2015-09-05T09:40:44.190 回答
0

如果将矩形区域分成 2 个三角形,则可以忽略顺时针方向的要求。

polyhedron(
    points = [
        [-0.3, 0.15, 0],
        [-0.4, 0.15, 0],
        [-0.3, 0.6, 0],
        [-0.4, 0.6, 0],
        [-0.3, 0.15, -0.7],
        [-0.4, 0.15, -0.7]
    ],
    faces = [
        [0,1,2], [1,2,3], //break into 2 triangles
        [2,3,4], [3,4,5], //break into 2 triangles
        [1,3,5],
        [0,2,4],
        [0,1,4 ], [1,4,5] //break into 2 triangles
    ]
);

在此处输入图像描述

于 2018-05-02T05:06:33.260 回答