差异没有取得一切的差异?

时间:2013-09-18 17:49:29

标签: openscad

我有两件用V-piece和i-piece连接在一起的join_pieces()。

之后,这两个部分的组合意味着在piece()函数中由两个立方体整体区分。

问题是显示差异的唯一部分是i_piece而不是v_piece,即使它已连接,它也是整个没有减法。我删除了差异()行并检查以确保立方体与两个部分相交并且它们是。我尝试了一个联盟,以防差异只是接受一个对象,但似乎没有改变任何东西。

有任何建议或答案可以尝试吗?感谢。

module join_pieces() {
    union() {
        v_piece();
        translate([0,0,-1*stem_height+INSERT]) {
            i_piece();
        }   
    }
}

module piece() {
    difference() {
        join_pieces();
        rotate([0,0,45]) {
            cube([AIR,V_PIECE_WIDTH*4, RADIUS], center=true);
        }
        rotate([0,0,135]) {
            cube([AIR,V_PIECE_WIDTH*4, RADIUS], center=true);
        }
    }
}

piece();

1 个答案:

答案 0 :(得分:0)

您能否展示变量定义以及这些模块使用的其他功能?我尝试使用立方体替换v_piece和i_piece并将随机数作为变量来运行代码。看起来您的代码对于您想要执行的操作是正确的,运行修改后的版本:

module join_pieces() {
    union() {
        translate([-2, 0, 0]){
            #cube([5, 2, 2]);
        }
        translate([0,-2,-1*3+2]) {
            cube([3, 5, 3]);
        }   
    }
}

module piece() {
    difference() {
        join_pieces();
        rotate([0,0,45]) {
            cube([1,3*4, 4], center=true);
        }
        rotate([0,0,135]) {
            cube([1,3*4, 4], center=true);
        }
    }
}

piece();

你可以看到你在这里的东西很好。

您是否确定没有其他功能缺少分号并使用#来显示您的差异部分?