我是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]
]
);
以下是一些不同角度的截图,用以说明“向内弯曲”的含义:
我做错了什么?
答案 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
]
);