平滑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);
}
我目测了大小和距离,所以你可以在这里改进数学。
我想知道如何在 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);
}