302 lines
15 KiB
OpenSCAD
302 lines
15 KiB
OpenSCAD
module parametric_move_add(type,loc_x,loc_y,loc_z,face,rotation,parametric,
|
|
size_x,size_y,size_z,data_1,data_2,data_3,data_4) {
|
|
|
|
// absolute no parametrics
|
|
if(parametric[1] == false && parametric[2] == false && parametric[3] == false) {
|
|
add(type,loc_x,loc_y,loc_z,face,rotation,size_x,size_y,size_z,data_1,data_2,data_3,data_4);
|
|
}
|
|
// x axis accessory parametrics
|
|
if(parametric[1] == true && parametric[2] == false && parametric[3] == false) {
|
|
if(parametric[0] == "case") {
|
|
add(type,loc_x+case_offset_x,loc_y,loc_z,
|
|
face,rotation,size_x,size_y,size_z,data_1,data_2,data_3,data_4);
|
|
}
|
|
if(parametric[0] == "sbc") {
|
|
add(type,loc_x+pcb_loc_x,loc_y,loc_z,
|
|
face,rotation,size_x,size_y,size_z,data_1,data_2,data_3,data_4);
|
|
}
|
|
}
|
|
// y axis accessory parametrics
|
|
if(parametric[1] == false && parametric[2] == true && parametric[3] == false) {
|
|
if(parametric[0] == "case") {
|
|
add(type,loc_x,loc_y+case_offset_y,loc_z,
|
|
face,rotation,size_x,size_y,size_z,data_1,data_2,data_3,data_4);
|
|
}
|
|
if(parametric[0] == "sbc") {
|
|
add(type,loc_x,loc_y+pcb_loc_y,loc_z,
|
|
face,rotation,size_x,size_y,size_z,data_1,data_2,data_3,data_4);
|
|
}
|
|
}
|
|
// z axis accessory parametrics
|
|
if(parametric[1] == false && parametric[2] == false && parametric[3] == true) {
|
|
if(parametric[0] == "case" && face == "top") {
|
|
add(type,loc_x,loc_y,loc_z+case_offset_tz+case_offset_bz,
|
|
face,rotation,size_x,size_y,size_z,data_1,data_2,data_3,data_4);
|
|
}
|
|
if(parametric[0] == "case" && face == "bottom") {
|
|
add(type,loc_x,loc_y,loc_z+case_offset_bz,
|
|
face,rotation,size_x,size_y,size_z,data_1,data_2,data_3,data_4);
|
|
}
|
|
if(parametric[0] == "case" && face != "bottom" && face != "top") {
|
|
add(type,loc_x,loc_y,loc_z,
|
|
face,rotation,size_x,size_y,size_z,data_1,data_2,data_3,data_4);
|
|
}
|
|
if(parametric[0] == "sbc") {
|
|
add(type,loc_x,loc_y,loc_z+pcb_loc_z,
|
|
face,rotation,size_x,size_y,size_z,data_1,data_2,data_3,data_4);
|
|
}
|
|
if(parametric[0] == "sbc-case_z" && face == "top") {
|
|
add(type,loc_x,loc_y,loc_z+case_offset_tz+case_offset_bz,
|
|
face,rotation,size_x,size_y,size_z,data_1,data_2,data_3,data_4);
|
|
}
|
|
if(parametric[0] == "sbc-case_z" && face == "bottom") {
|
|
add(type,loc_x,loc_y,loc_z+case_offset_bz,
|
|
face,rotation,size_x,size_y,size_z,data_1,data_2,data_3,data_4);
|
|
}
|
|
}
|
|
// xy axis accessory parametrics
|
|
if(parametric[1] == true && parametric[2] == true && parametric[3] == false) {
|
|
if(parametric[0] == "case") {
|
|
add(type,loc_x+case_offset_x,loc_y+case_offset_y,loc_z,
|
|
face,rotation,size_x,size_y,size_z,data_1,data_2,data_3,data_4);
|
|
}
|
|
if(parametric[0] == "sbc") {
|
|
add(type,loc_x+pcb_loc_x,loc_y+pcb_loc_y,loc_z,
|
|
face,rotation,size_x,size_y,size_z,data_1,data_2,data_3,data_4);
|
|
}
|
|
}
|
|
// xz axis accessory parametrics
|
|
if(parametric[1] == true && parametric[2] == false && parametric[3] == true) {
|
|
if(parametric[0] == "case" && face == "top") {
|
|
add(type,loc_x+case_offset_x,loc_y,loc_z+case_offset_tz+case_offset_bz,
|
|
face,rotation,size_x,size_y,size_z,data_1,data_2,data_3,data_4);
|
|
}
|
|
if(parametric[0] == "case" && face == "bottom") {
|
|
add(type,loc_x+case_offset_x,loc_y,loc_z+case_offset_bz,
|
|
face,rotation,size_x,size_y,size_z,data_1,data_2,data_3,data_4);
|
|
}
|
|
if(parametric[0] == "case" && face != "bottom" && face != "top") {
|
|
add(type,loc_x+case_offset_x,loc_y,loc_z,
|
|
face,rotation,size_x,size_y,size_z,data_1,data_2,data_3,data_4);
|
|
}
|
|
if(parametric[0] == "sbc") {
|
|
add(type,loc_x+pcb_loc_x,loc_y,loc_z+pcb_loc_z,
|
|
face,rotation,size_x,size_y,size_z,data_1,data_2,data_3,data_4);
|
|
}
|
|
if(parametric[0] == "sbc-case_z" && face == "top") {
|
|
add(type,loc_x+pcb_loc_x,loc_y,loc_z+case_offset_tz+case_offset_bz,
|
|
face,rotation,size_x,size_y,size_z,data_1,data_2,data_3,data_4);
|
|
}
|
|
if(parametric[0] == "sbc-case_z" && face == "bottom") {
|
|
add(type,loc_x+pcb_loc_x,loc_y,loc_z+case_offset_bz,
|
|
face,rotation,size_x,size_y,size_z,data_1,data_2,data_3,data_4);
|
|
}
|
|
}
|
|
// yz axis accessory parametrics
|
|
if(parametric[1] == false && parametric[2] == true && parametric[3] == true) {
|
|
if(parametric[0] == "case" && face == "top") {
|
|
add(type,loc_x,loc_y+case_offset_y,loc_z+case_offset_tz+case_offset_bz,
|
|
face,rotation,size_x,size_y,size_z,data_1,data_2,data_3,data_4);
|
|
}
|
|
if(parametric[0] == "case" && face == "bottom") {
|
|
add(type,loc_x,loc_y+case_offset_y,loc_z+case_offset_bz,
|
|
face,rotation,size_x,size_y,size_z,data_1,data_2,data_3,data_4);
|
|
}
|
|
if(parametric[0] == "case" && face != "bottom" && face != "top") {
|
|
add(type,loc_x,loc_y+case_offset_y,loc_z,
|
|
face,rotation,size_x,size_y,size_z,data_1,data_2,data_3,data_4);
|
|
}
|
|
if(parametric[0] == "sbc") {
|
|
add(type,loc_x,loc_y+pcb_loc_y,loc_z+pcb_loc_z,
|
|
face,rotation,size_x,size_y,size_z,data_1,data_2,data_3,data_4);
|
|
}
|
|
if(parametric[0] == "sbc-case_z" && face == "top") {
|
|
add(type,loc_x,loc_y+pcb_loc_y,loc_z+case_offset_tz+case_offset_bz,
|
|
face,rotation,size_x,size_y,size_z,data_1,data_2,data_3,data_4);
|
|
}
|
|
if(parametric[0] == "sbc-case_z" && face == "bottom") {
|
|
add(type,loc_x,loc_y+pcb_loc_y,loc_z+case_offset_bz,
|
|
face,rotation,size_x,size_y,size_z,data_1,data_2,data_3,data_4);
|
|
}
|
|
}
|
|
// xyz axis accessory parametrics
|
|
if(parametric[1] == true && parametric[2] == true && parametric[3] == true) {
|
|
if(parametric[0] == "case" && face == "top") {
|
|
add(type,loc_x+case_offset_x,loc_y+case_offset_y,loc_z+case_offset_tz+case_offset_bz,
|
|
face,rotation,size_x,size_y,size_z,data_1,data_2,data_3,data_4);
|
|
}
|
|
if(parametric[0] == "case" && face == "bottom") {
|
|
add(type,loc_x+case_offset_x,loc_y+case_offset_y,loc_z+case_offset_bz,
|
|
face,rotation,size_x,size_y,size_z,data_1,data_2,data_3,data_4);
|
|
}
|
|
if(parametric[0] == "case" && face != "bottom" && face != "top") {
|
|
add(type,loc_x+case_offset_x,loc_y+case_offset_y,loc_z,
|
|
face,rotation,size_x,size_y,size_z,data_1,data_2,data_3,data_4);
|
|
}
|
|
if(parametric[0] == "sbc") {
|
|
add(type,loc_x+pcb_loc_x,loc_y+pcb_loc_y,loc_z+pcb_loc_z,
|
|
face,rotation,size_x,size_y,size_z,data_1,data_2,data_3,data_4);
|
|
}
|
|
if(parametric[0] == "sbc-case_z" && face == "top") {
|
|
add(type,loc_x+pcb_loc_x,loc_y+pcb_loc_y,loc_z+case_offset_tz+case_offset_bz,
|
|
face,rotation,size_x,size_y,size_z,data_1,data_2,data_3,data_4);
|
|
}
|
|
if(parametric[0] == "sbc-case_z" && face == "bottom") {
|
|
add(type,loc_x+pcb_loc_x,loc_y+pcb_loc_y,loc_z+case_offset_bz,
|
|
face,rotation,size_x,size_y,size_z,data_1,data_2,data_3,data_4);
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
module parametric_move_sub(type,loc_x,loc_y,loc_z,face,rotation,parametric,
|
|
size_x,size_y,size_z,data_1,data_2,data_3,data_4) {
|
|
|
|
// absolute no parametrics
|
|
if(parametric[1] == false && parametric[2] == false && parametric[3] == false) {
|
|
sub(type,loc_x,loc_y,loc_z,face,rotation,size_x,size_y,size_z,data_1,data_2,data_3,data_4);
|
|
}
|
|
// x axis accessory parametrics
|
|
if(parametric[1] == true && parametric[2] == false && parametric[3] == false) {
|
|
if(parametric[0] == "case") {
|
|
sub(type,loc_x+case_offset_x,loc_y,loc_z,
|
|
face,rotation,size_x,size_y,size_z,data_1,data_2,data_3,data_4);
|
|
}
|
|
if(parametric[0] == "sbc") {
|
|
sub(type,loc_x+pcb_loc_x,loc_y,loc_z,
|
|
face,rotation,size_x,size_y,size_z,data_1,data_2,data_3,data_4);
|
|
}
|
|
}
|
|
// y axis accessory parametrics
|
|
if(parametric[1] == false && parametric[2] == true && parametric[3] == false) {
|
|
if(parametric[0] == "case") {
|
|
sub(type,loc_x,loc_y+case_offset_y,loc_z,
|
|
face,rotation,size_x,size_y,size_z,data_1,data_2,data_3,data_4);
|
|
}
|
|
if(parametric[0] == "sbc") {
|
|
sub(type,loc_x,loc_y+pcb_loc_y,loc_z,
|
|
face,rotation,size_x,size_y,size_z,data_1,data_2,data_3,data_4);
|
|
}
|
|
}
|
|
// z axis accessory parametrics
|
|
if(parametric[1] == false && parametric[2] == false && parametric[3] == true) {
|
|
if(parametric[0] == "case" && face == "top") {
|
|
sub(type,loc_x,loc_y,loc_z+case_offset_tz+case_offset_bz,
|
|
face,rotation,size_x,size_y,size_z,data_1,data_2,data_3,data_4);
|
|
}
|
|
if(parametric[0] == "case" && face == "bottom") {
|
|
sub(type,loc_x,loc_y,loc_z+case_offset_bz,
|
|
face,rotation,size_x,size_y,size_z,data_1,data_2,data_3,data_4);
|
|
}
|
|
if(parametric[0] == "case" && face != "bottom" && face != "top") {
|
|
sub(type,loc_x,loc_y,loc_z,
|
|
face,rotation,size_x,size_y,size_z,data_1,data_2,data_3,data_4);
|
|
}
|
|
if(parametric[0] == "sbc") {
|
|
sub(type,loc_x,loc_y,loc_z+pcb_loc_z,
|
|
face,rotation,size_x,size_y,size_z,data_1,data_2,data_3,data_4);
|
|
}
|
|
if(parametric[0] == "sbc-case_z" && face == "top") {
|
|
sub(type,loc_x,loc_y,loc_z+case_offset_tz+case_offset_bz,
|
|
face,rotation,size_x,size_y,size_z,data_1,data_2,data_3,data_4);
|
|
}
|
|
if(parametric[0] == "sbc-case_z" && face == "bottom") {
|
|
sub(type,loc_x,loc_y,loc_z+case_offset_bz,
|
|
face,rotation,size_x,size_y,size_z,data_1,data_2,data_3,data_4);
|
|
}
|
|
}
|
|
// xy axis accessory parametrics
|
|
if(parametric[1] == true && parametric[2] == true && parametric[3] == false) {
|
|
if(parametric[0] == "case") {
|
|
sub(type,loc_x+case_offset_x,loc_y+case_offset_y,loc_z,
|
|
face,rotation,size_x,size_y,size_z,data_1,data_2,data_3,data_4);
|
|
}
|
|
if(parametric[0] == "sbc") {
|
|
sub(type,loc_x+pcb_loc_x,loc_y+pcb_loc_y,loc_z,
|
|
face,rotation,size_x,size_y,size_z,data_1,data_2,data_3,data_4);
|
|
}
|
|
}
|
|
// xz axis accessory parametrics
|
|
if(parametric[1] == true && parametric[2] == false && parametric[3] == true) {
|
|
if(parametric[0] == "case" && face == "top") {
|
|
sub(type,loc_x+case_offset_x,loc_y,loc_z+case_offset_tz+case_offset_bz,
|
|
face,rotation,size_x,size_y,size_z,data_1,data_2,data_3,data_4);
|
|
}
|
|
if(parametric[0] == "case" && face == "bottom") {
|
|
sub(type,loc_x+case_offset_x,loc_y,loc_z+case_offset_bz,
|
|
face,rotation,size_x,size_y,size_z,data_1,data_2,data_3,data_4);
|
|
}
|
|
if(parametric[0] == "case" && face != "bottom" && face != "top") {
|
|
sub(type,loc_x+case_offset_x,loc_y,loc_z,
|
|
face,rotation,size_x,size_y,size_z,data_1,data_2,data_3,data_4);
|
|
}
|
|
if(parametric[0] == "sbc") {
|
|
sub(type,loc_x+pcb_loc_x,loc_y,loc_z+pcb_loc_z,
|
|
face,rotation,size_x,size_y,size_z,data_1,data_2,data_3,data_4);
|
|
}
|
|
if(parametric[0] == "sbc-case_z" && face == "top") {
|
|
sub(type,loc_x+pcb_loc_x,loc_y,loc_z+case_offset_tz+case_offset_bz,
|
|
face,rotation,size_x,size_y,size_z,data_1,data_2,data_3,data_4);
|
|
}
|
|
if(parametric[0] == "sbc-case_z" && face == "bottom") {
|
|
sub(type,loc_x+pcb_loc_x,loc_y,loc_z+case_offset_bz,
|
|
face,rotation,size_x,size_y,size_z,data_1,data_2,data_3,data_4);
|
|
}
|
|
}
|
|
// yz axis accessory parametrics
|
|
if(parametric[1] == false && parametric[2] == true && parametric[3] == true) {
|
|
if(parametric[0] == "case" && face == "top") {
|
|
sub(type,loc_x,loc_y+case_offset_y,loc_z+case_offset_tz+case_offset_bz,
|
|
face,rotation,size_x,size_y,size_z,data_1,data_2,data_3,data_4);
|
|
}
|
|
if(parametric[0] == "case" && face == "bottom") {
|
|
sub(type,loc_x,loc_y+case_offset_y,loc_z+case_offset_bz,
|
|
face,rotation,size_x,size_y,size_z,data_1,data_2,data_3,data_4);
|
|
}
|
|
if(parametric[0] == "case" && face != "bottom" && face != "top") {
|
|
sub(type,loc_x,loc_y+case_offset_y,loc_z,
|
|
face,rotation,size_x,size_y,size_z,data_1,data_2,data_3,data_4);
|
|
}
|
|
if(parametric[0] == "sbc") {
|
|
sub(type,loc_x,loc_y+pcb_loc_y,loc_z+pcb_loc_z,
|
|
face,rotation,size_x,size_y,size_z,data_1,data_2,data_3,data_4);
|
|
}
|
|
if(parametric[0] == "sbc-case_z" && face == "top") {
|
|
sub(type,loc_x,loc_y+pcb_loc_y,loc_z+case_offset_tz+case_offset_bz,
|
|
face,rotation,size_x,size_y,size_z,data_1,data_2,data_3,data_4);
|
|
}
|
|
if(parametric[0] == "sbc-case_z" && face == "bottom") {
|
|
sub(type,loc_x,loc_y+pcb_loc_y,loc_z+case_offset_bz,
|
|
face,rotation,size_x,size_y,size_z,data_1,data_2,data_3,data_4);
|
|
}
|
|
}
|
|
// xyz axis accessory parametrics
|
|
if(parametric[1] == true && parametric[2] == true && parametric[3] == true) {
|
|
if(parametric[0] == "case" && face == "top") {
|
|
sub(type,loc_x+case_offset_x,loc_y+case_offset_y,loc_z+case_offset_tz+case_offset_bz,
|
|
face,rotation,size_x,size_y,size_z,data_1,data_2,data_3,data_4);
|
|
}
|
|
if(parametric[0] == "case" && face == "bottom") {
|
|
sub(type,loc_x+case_offset_x,loc_y+case_offset_y,loc_z+case_offset_bz,
|
|
face,rotation,size_x,size_y,size_z,data_1,data_2,data_3,data_4);
|
|
}
|
|
if(parametric[0] == "case" && face != "bottom" && face != "top") {
|
|
sub(type,loc_x+case_offset_x,loc_y+case_offset_y,loc_z,
|
|
face,rotation,size_x,size_y,size_z,data_1,data_2,data_3,data_4);
|
|
}
|
|
if(parametric[0] == "sbc") {
|
|
sub(type,loc_x+pcb_loc_x,loc_y+pcb_loc_y,loc_z+pcb_loc_z,
|
|
face,rotation,size_x,size_y,size_z,data_1,data_2,data_3,data_4);
|
|
}
|
|
if(parametric[0] == "sbc-case_z" && face == "top") {
|
|
sub(type,loc_x+pcb_loc_x,loc_y+pcb_loc_y,loc_z+case_offset_tz+case_offset_bz,
|
|
face,rotation,size_x,size_y,size_z,data_1,data_2,data_3,data_4);
|
|
}
|
|
if(parametric[0] == "sbc-case_z" && face == "bottom") {
|
|
sub(type,loc_x+pcb_loc_x,loc_y+pcb_loc_y,loc_z+case_offset_bz,
|
|
face,rotation,size_x,size_y,size_z,data_1,data_2,data_3,data_4);
|
|
}
|
|
}
|
|
}
|