如何在OpenSCAD中正确填充多面体?

时间:2015-09-04 20:42:53

标签: 3d-modelling 3d-model openscad

我是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]
    ]
);

以下是一些不同角度的截图,用以说明“向内弯曲”的含义:

angle #1 angle #2 angle #3

我做错了什么?

2 个答案:

答案 0 :(得分:2)

看这里:openscad documentation polyhedron

  

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

you can highlight wrong oreintated faces

正确的面孔,例如:

faces = [
        [1,3,2,0],
        [2,3,5,4],
        [1,5,3],
        [0,2,4],
        [0,4,5,1]
    ]

答案 1 :(得分: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
    ]
);

enter image description here