平滑openscad中对象之间的尖角

Smooth the sharp corners between objects in openscad

我想知道如何在 openscad 中避免两个对象之间出现尖角。

MWE: 我有以下代码,它给出了圆柱体和球体对象之间的尖角。

sphere (r=0.3, $fn=50);

rotate([90,0,0])
{
 cylinder (h=2, r=0.1, center=true, $fn=20);
}

rotate([0,90,0])
{
 cylinder (h=2, r=0.1, center=true, $fn=20);
}

我究竟在寻找什么?

它是连接圆柱体和球体的“360 度 3D 圆弧”。就像一个扩展的列。

我使用 minkowski() 函数(下面的代码)尝试了其他几种组合,但与球体相连的圆柱端从未得到平滑。

module draw(){
sphere (r=0.3, $fn=50);

rotate([90,0,0])
{
 cylinder (h=2, r=0.1, center=true, $fn=20);
}

rotate([0,90,0])
{
 cylinder (h=2, r=0.1, center=true, $fn=20);
}

}

 minkowski(){
 draw();
 sphere(0.01);
 }

谁能给我一个提示。

来点消极的甜甜圈怎么样?

sphere (r=0.3, $fn=50);

rotate([90,0,0])
    cylinder (h=2, r=0.1, center=true, $fn=20);
rotate([0,90,0])
    cylinder (h=2, r=0.1, center=true, $fn=20);

for(r = [0 : 90 : 270])
    rotate([90,0,r]) negative_donut();

module negative_donut() {
    difference(){
       translate([0, 0, 0.3]) donut(0.1,0.05); 
       translate([0, 0, 0.345]) donut(0.2,0.1); 
    }    
}

module donut(r1, r2){
    rotate_extrude($fn=50)
    translate([r1, 0, 0])
    circle(r = r2);    
}

我目测了大小和距离,所以你可以在这里改进数学。