d-sub connector library? October 29, 2015 09:43AM |
Registered: 9 years ago Posts: 42 |
Re: d-sub connector library? October 29, 2015 10:27AM |
Registered: 13 years ago Posts: 3,742 |
Re: d-sub connector library? October 29, 2015 12:38PM |
Registered: 9 years ago Posts: 42 |
Re: d-sub connector library? October 29, 2015 03:56PM |
Registered: 9 years ago Posts: 42 |
Re: d-sub connector library? October 30, 2015 04:04AM |
Registered: 13 years ago Posts: 3,742 |
b = db_conn_table(conn)[0]; d = db_conn_table(conn)[1]; f = db_conn_table(conn)[2]; k = db_conn_table(conn)[3];
b = conn_dimensions[0]; d = conn_dimensions[1]; f = conn_dimensions[2]; k = conn_dimensions[3];
conn_dimensions = db_conn_table(conn);
Re: d-sub connector library? October 30, 2015 04:23AM |
Registered: 13 years ago Posts: 3,742 |
// dsub.scad // // D-Sub connector library by 'dpeart' function db_conn_table(idx) = // [b,d,f,k] idx == "db9F" ? [12.50,11.10,6.53,2.11] : idx == "db9R" ? [12.50,11.10,5.72,3.35] : idx == "db15F" ? [16.66,15.27,6.53,2.11] : idx == "db15R" ? [16.66,15.27,5.72,3.35] : idx == "db25F" ? [23.52,22.15,6.53,2.11] : idx == "db25R" ? [23.52,21.39,5.72,3.35] : idx == "db37F" ? [31.75,29.54,6.53,2.11] : idx == "db37R" ? [31.75,29.54,5.72,3.35] : idx == "db50F" ? [30.56,29.19,7.93,2.11] : idx == "db50R" ? [30.56,28.17,7.06,3.35] : "Error"; //dsub("db25R"); module dsub(conn) { conn_dimensions = db_conn_table(conn); if(conn_dimensions == "Error") { echo(str("ERROR: Connector '", conn, "' not found")); echo("ERROR: Allowed are db9F, db9R, db15F, db15R, db25F, db25R, db37F, db37R, db50F and db50R."); color("red") { for ( a = [-45,45]) rotate([0,0,a]) cube([4,20,4], true); } } else { b = conn_dimensions[0]; d = conn_dimensions[1]; f = conn_dimensions[2]; k = conn_dimensions[3]; cut_angle = 10; mounting_hole = 3.05; sides = 20; translate([0,0,-0.5]) { union() { hull() { //Upper Left translate([-(d-k),(f-k),0]) cylinder(h=1, d=k, $fn=sides); //Upper Right translate([(d-k),(f-k),0]) cylinder(h=1, d=k, $fn=sides); //Lower Left translate([-(d-k)+cos(cut_angle),-(f-k),0]) cylinder(h=1, d=k, $fn=sides); //Lower Right translate([(d-k)-cos(cut_angle),-(f-k),0]) cylinder(h=1, d=k, $fn=sides); } // Mounting Holes translate([-b,0,0]) cylinder(h=1, d=mounting_hole, $fn=6); translate([b,0,0]) cylinder(h=1, d=mounting_hole, $fn=6); } } } }
use <dsub.scad> dsub("db25R");
Re: d-sub connector library? October 30, 2015 08:11AM |
Registered: 9 years ago Posts: 42 |
Re: d-sub connector library? October 30, 2015 03:53PM |
Registered: 9 years ago Posts: 2,472 |
Re: d-sub connector library? November 02, 2015 04:46AM |
Registered: 13 years ago Posts: 3,742 |
// dsub.scad // // D-Sub connector library by 'dpeart' function db_conn_table(idx) = // [b,d,f,k] idx == "db9F" ? [12.50,11.10,6.53,2.11] : idx == "db9R" ? [12.50,11.10,5.72,3.35] : idx == "db15F" ? [16.66,15.27,6.53,2.11] : idx == "db15R" ? [16.66,15.27,5.72,3.35] : idx == "db25F" ? [23.52,22.15,6.53,2.11] : idx == "db25R" ? [23.52,21.39,5.72,3.35] : idx == "db37F" ? [31.75,29.54,6.53,2.11] : idx == "db37R" ? [31.75,29.54,5.72,3.35] : idx == "db50F" ? [30.56,29.19,7.93,2.11] : idx == "db50R" ? [30.56,28.17,7.06,3.35] : "Error"; //dsub("db25R"); module dsub(conn) { sides = 20; conn_dimensions = db_conn_table(conn); if(conn_dimensions == "Error") { echo(str("ERROR: Connector '", conn, "' not found")); echo("ERROR: Allowed are db9F, db9R, db15F, db15R, db25F, db25R, db37F, db37R, db50F and db50R."); color("red") { for ( a = [-45,45]) rotate([0,0,a]) cube([4,20,4], true); } } else { b = conn_dimensions[0]; d = conn_dimensions[1]; f = conn_dimensions[2]; k = conn_dimensions[3]; cut_angle = 10; mounting_hole = 3.05; o = 2*(f-k) * tan(cut_angle); translate([0,0,-0.5]) { union() { hull() { //Upper Left translate([-(d-k),(f-k),0]) cylinder(h=1, d=k, $fn=sides); //Upper Right translate([(d-k),(f-k),0]) cylinder(h=1, d=k, $fn=sides); //Lower Left translate([-(d-k)+o,-(f-k),0]) cylinder(h=1, d=k, $fn=sides); //Lower Right translate([(d-k)-o,-(f-k),0]) cylinder(h=1, d=k, $fn=sides); } // Mounting Holes translate([-b,0,0]) cylinder(h=1, d=mounting_hole, $fn=6); translate([b,0,0]) cylinder(h=1, d=mounting_hole, $fn=6); } } } }
Re: d-sub connector library? November 03, 2015 06:18AM |
Registered: 13 years ago Posts: 3,742 |
// dsub.scad // // D-Sub connector library by 'dpeart' function db_conn_table(idx) = // [b,d,f,k] idx == "db9F" ? [12.50,11.10,6.53,2.11] : idx == "db9R" ? [12.50,11.10,5.72,3.35] : idx == "db15F" ? [16.66,15.27,6.53,2.11] : idx == "db15R" ? [16.66,15.27,5.72,3.35] : idx == "db25F" ? [23.52,22.15,6.53,2.11] : idx == "db25R" ? [23.52,21.39,5.72,3.35] : idx == "db37F" ? [31.75,29.54,6.53,2.11] : idx == "db37R" ? [31.75,29.54,5.72,3.35] : idx == "db50F" ? [30.56,29.19,7.93,2.11] : idx == "db50R" ? [30.56,28.17,7.06,3.35] : "Error"; //dsub("db9R"); //dsub("db25R",0.2); module dsub(conn, g=0) { sides = 20; conn_dimensions = db_conn_table(conn); if(conn_dimensions == "Error") { echo(str("ERROR: Connector '", conn, "' not found")); echo("ERROR: Allowed are db9F, db9R, db15F, db15R, db25F, db25R, db37F, db37R, db50F and db50R."); color("red") { for ( a = [-45,45]) rotate([0,0,a]) cube([4,20,4], true); } } else { b = conn_dimensions[0]; d = conn_dimensions[1]; f = conn_dimensions[2]; k = conn_dimensions[3]; cut_angle = 10; mounting_hole = 3.05; o = 2*(g+f-k)*tan(cut_angle); translate([0,0,-0.5]) { union() { hull() { //Upper Left translate([-(g+d-k),(g+f-k),0]) cylinder(h=1, d=k, $fn=sides); //Upper Right translate([(g+d-k),(g+f-k),0]) cylinder(h=1, d=k, $fn=sides); //Lower Left translate([-(g+d-k)+o,-(g+f-k),0]) cylinder(h=1, d=k, $fn=sides); //Lower Right translate([(g+d-k)-o,-(g+f-k),0]) cylinder(h=1, d=k, $fn=sides); } // Mounting Holes translate([-b,0,0]) cylinder(h=1, d=g+mounting_hole, $fn=6); translate([b,0,0]) cylinder(h=1, d=g+mounting_hole, $fn=6); } } } }
Re: d-sub connector library? November 04, 2015 11:46AM |
Registered: 9 years ago Posts: 2,472 |
Re: d-sub connector library? November 04, 2015 04:27PM |
Registered: 13 years ago Posts: 3,742 |
Re: d-sub connector library? November 04, 2015 04:31PM |
Registered: 13 years ago Posts: 3,742 |