0

join_pieces() で結合された 2 つのピース v-piece と i-piece があります。

その後、これら 2 つのピースの組み合わせは、piece() 関数で 2 つのキューブによって全体として区別されることを意味します。

問題は、違いを示す唯一のピースが i_piece であり、v_piece ではなく、接続されていても差し引かずにそのまま残っていることです。difference() 行を削除し、立方体が両方の部分と交差していることを確認しました。違いが1つのオブジェクトのみを受け入れる場合に備えて、ユニオンを試しましたが、何も変更されていないようです。

試してみるべき提案や答えはありますか?ありがとう。

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 に答える