0

我有两块 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();
4

1 回答 1

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

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

您是否确保没有其他函数缺少分号并使用# 来显示您的不同部分?

于 2014-03-12T01:50:57.813 回答