【问题标题】:Smooth the sharp corners between objects in openscad平滑openscad中对象之间的尖角
【发布时间】:2017-10-19 02:19:19
【问题描述】:

我想知道如何避免 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);
 }

谁能在这里给我一个提示。

【问题讨论】:

    标签: openscad


    【解决方案1】:

    一些负面甜甜圈怎么样?

    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);    
    }
    

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

    【讨论】:

      猜你喜欢
      • 2017-09-28
      • 1970-01-01
      • 2021-06-10
      • 2016-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多