在openscad中使支持结构成为“流形”

时间:2018-09-12 07:32:53

标签: openscad

我正在尝试在openscad中的圆柱体周围构建支撑结构,但是我似乎无法使结构的成角度的部分成为“歧管”

inner_slide_tube_inner_radius=14.9/2;
leadpipe_wall_thickness=14.9/2;
leadpipe_length=200;
mouthpiece_receiver_large_radius=0.546*25.4/2;

NoSpokes = 4;
SpokesWide = 3; 
SpokesHigh = 3;
SpokesLong = leadpipe_length/2*0.75;
SpokesLong2 = leadpipe_length/2;

//if I comment out this section, then I can render a single support angle part when NoSpokes=1
for (i=[1:NoSpokes]) 
rotate([0,0,360/NoSpokes*i])
translate([mouthpiece_receiver_large_radius+leadpipe_wall_thickness,-SpokesWide/2,0])
cube([SpokesLong, SpokesWide, SpokesHigh]);
//

for (i=[1:NoSpokes]) 
rotate([0,0,360/NoSpokes*i])polyhedron(
points=[
[mouthpiece_receiver_large_radius+SpokesLong+leadpipe_wall_thickness-SpokesHigh, -SpokesWide/2,  SpokesHigh],
[mouthpiece_receiver_large_radius+SpokesLong+leadpipe_wall_thickness-SpokesHigh, SpokesWide/2,  SpokesHigh],
[inner_slide_tube_inner_radius, SpokesWide/2,  SpokesLong2],
[inner_slide_tube_inner_radius, -SpokesWide/2, SpokesLong2],
[mouthpiece_receiver_large_radius+SpokesLong+leadpipe_wall_thickness, -SpokesWide/2,  SpokesHigh],
[mouthpiece_receiver_large_radius+SpokesLong+leadpipe_wall_thickness, SpokesWide/2,  SpokesHigh],
[inner_slide_tube_inner_radius, SpokesWide/2,  SpokesLong2+SpokesHigh],
[inner_slide_tube_inner_radius, -SpokesWide/2, SpokesLong2+SpokesHigh]],
faces=[[1,0,3,2],
[1,5,4,0],
[2,3,7,6],
[1,5,6,2],
[0,4,7,3],
[4,5,6,7]
]);

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

时,我很困惑。

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

1 个答案:

答案 0 :(得分:0)

您的设计之所以没有多样性,是因为您的某些多边形没有正确的缠绕顺序。在OpenSCAD中,如果使用F2(一起投影)预览设计,则这种错误缠绕的多边形将以粉红色突出显示。