Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Openscad 设计碗但是。。。UI警告:对象可能不是有效的2流形,可能需要修复_Openscad - Fatal编程技术网

Openscad 设计碗但是。。。UI警告:对象可能不是有效的2流形,可能需要修复

Openscad 设计碗但是。。。UI警告:对象可能不是有效的2流形,可能需要修复,openscad,Openscad,我正在尝试在OpenSCAD上创建一个设计。有没有一个数学公式可以得到正确的结果 以下是我创建的代码: $fn=60; module Bowl(diameter,thickness) { rim=thickness/2; half=diameter/2; union(){ // Main Bowl difference(){ // Outer Ball sphere(d=diameter);

我正在尝试在OpenSCAD上创建一个设计。有没有一个数学公式可以得到正确的结果

以下是我创建的代码:

$fn=60;
module Bowl(diameter,thickness)
{
    rim=thickness/2;
    half=diameter/2;
    union(){
        // Main Bowl
        difference(){
            // Outer Ball
            sphere(d=diameter);
            // Inner Ball
            sphere(d=diameter-thickness*2);
            // Cutting Cube
            translate([-half-0.5,-half-0.5,-half])
            cube([diameter+1,diameter+1,half+rim]);
        }
        // Rim
        translate([0,0,rim])
        difference(){
            // Torus
            rotate_extrude()
            translate([(diameter-thickness)/2,0,0])
            circle(d=thickness);
            // Cutting Cube
            translate([-half-0.5,-half-0.5,0])
            cube([diameter+1,diameter+1,rim+1]);
        }
    }
}
rotate([0,180,0])
Bowl(7,1);
这里的形状是一个圆形边缘的碗,从侧面看是半圆形的 理想的形状应该是平滑的,没有边缘,但是,当前的形状有边缘,因为边缘和主体不能对齐

它给出了错误消息:

UI警告:对象可能不是有效的2流形,可能需要修复


你真的不需要切割圆环体的立方体,似乎接触到的面让人困惑。 我想这就是你想要的,不用做几何:

$fn=200;
module Bowl(diameter,thickness)
{
    rim=thickness/2;
    half=diameter/2;

    // Main Bowl
    #difference(){
        // Outer Ball
        sphere(d=diameter);
        // Inner Ball
        sphere(d=diameter-thickness*2);
        // Cutting Cube
        translate([-half-0.5,-half-0.5,-half])
        cube([diameter+1,diameter+1,half]);
    }
    // Rim
    difference(){
        // Torus
        rotate_extrude()
        translate([(diameter-thickness)/2,0,0])
        circle(d=thickness);
    }
}
rotate([0,180,0])
Bowl(7,1);

你真的不需要切割圆环体的立方体,似乎接触到的面让人困惑。 我想这就是你想要的,不用做几何:

$fn=200;
module Bowl(diameter,thickness)
{
    rim=thickness/2;
    half=diameter/2;

    // Main Bowl
    #difference(){
        // Outer Ball
        sphere(d=diameter);
        // Inner Ball
        sphere(d=diameter-thickness*2);
        // Cutting Cube
        translate([-half-0.5,-half-0.5,-half])
        cube([diameter+1,diameter+1,half]);
    }
    // Rim
    difference(){
        // Torus
        rotate_extrude()
        translate([(diameter-thickness)/2,0,0])
        circle(d=thickness);
    }
}
rotate([0,180,0])
Bowl(7,1);