discuss@lists.openscad.org

OpenSCAD general discussion Mailing-list

View all threads

Library for ribbon cables?

LM
Leonard Martin Struttmann
Sun, Feb 26, 2023 1:42 AM

I see that BOSL2 provides for modelling wiring bundles.

Is there a library around that can model ribbon cables?

Thanks! - Len

I see that BOSL2 provides for modelling wiring bundles. Is there a library around that can model ribbon cables? Thanks! - Len
NH
nop head
Sun, Feb 26, 2023 9:55 AM

I model ribbon cables with NopSCADlib but there is no magic high level
stuff, I just sweep circles in a for loop.

module extruder_cable_assembly(i)
{
ct = inch(0.05);
bend_r = 5;

p = extruder_plug_pos(i);
translate(p)
    rotate([-90, 0, 0])
        d_socket(e_motor_socket(), idc = true);

start = cable_pos(i);
width = e_cable_ways * ct;
right = extruder_plug_pos(n_extruders - 1).x;
end_y = cable_slot_z + (i - (n_extruders -1) / 2) * ct;

for(j = [0 : e_cable_ways - 1])
    color(j ? "grey" : "red")
        translate([(j - (e_cable_ways - 1) / 2) * ct, 0]) {
            z0 = sheet_thickness / 2 + ct / 2;      // flat on the back
            z1 =  z0 + ct * (n_extruders - i - 1);  // On top of other

cables
fold_y = fold_z0 - fold_spacing * (n_extruders - 2 - i) -
width + (e_cable_ways - 1.5 - j) * ct;

            direct_path = [start, [right, start.y, z0], bend_r, [right,

end_y, z0], ct / 2, [right, end_y, tail]]; // extruder on the right goes
direct

            folded_path = [ // The other extruders go across the back

to meet the cable from the one on the right
start,
[start.x, start.y, z0],            bend_r,
[start.x, fold_y,  z0],            ct / 2,
[start.x, fold_y,  z0 + ct + 0.1], ct / 2,
[right,  fold_y,  z1 + ct + 0.1], ct / 2,
[right,  fold_y,  z1],            ct / 2,
[right,  end_y,  z1],            ct * (n_extruders -
0.5 - i),
[right,  end_y,  tail],
];

            all = rounded_path((i == n_extruders - 1) ? direct_path :

folded_path);

            sweep(all, circle_points(ct / 2 + eps));

            if(j == 0)
                ribbon_cable(e_cable_ways, ceil(path_length(all)) +

box_depth);
}
}
[image: box_back_assembled.png]

On Sun, 26 Feb 2023 at 01:43, Leonard Martin Struttmann <
lenstruttmann@gmail.com> wrote:

I see that BOSL2 provides for modelling wiring bundles.

Is there a library around that can model ribbon cables?

Thanks! - Len


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

I model ribbon cables with NopSCADlib but there is no magic high level stuff, I just sweep circles in a for loop. module extruder_cable_assembly(i) { ct = inch(0.05); bend_r = 5; p = extruder_plug_pos(i); translate(p) rotate([-90, 0, 0]) d_socket(e_motor_socket(), idc = true); start = cable_pos(i); width = e_cable_ways * ct; right = extruder_plug_pos(n_extruders - 1).x; end_y = cable_slot_z + (i - (n_extruders -1) / 2) * ct; for(j = [0 : e_cable_ways - 1]) color(j ? "grey" : "red") translate([(j - (e_cable_ways - 1) / 2) * ct, 0]) { z0 = sheet_thickness / 2 + ct / 2; // flat on the back z1 = z0 + ct * (n_extruders - i - 1); // On top of other cables fold_y = fold_z0 - fold_spacing * (n_extruders - 2 - i) - width + (e_cable_ways - 1.5 - j) * ct; direct_path = [start, [right, start.y, z0], bend_r, [right, end_y, z0], ct / 2, [right, end_y, tail]]; // extruder on the right goes direct folded_path = [ // The other extruders go across the back to meet the cable from the one on the right start, [start.x, start.y, z0], bend_r, [start.x, fold_y, z0], ct / 2, [start.x, fold_y, z0 + ct + 0.1], ct / 2, [right, fold_y, z1 + ct + 0.1], ct / 2, [right, fold_y, z1], ct / 2, [right, end_y, z1], ct * (n_extruders - 0.5 - i), [right, end_y, tail], ]; all = rounded_path((i == n_extruders - 1) ? direct_path : folded_path); sweep(all, circle_points(ct / 2 + eps)); if(j == 0) ribbon_cable(e_cable_ways, ceil(path_length(all)) + box_depth); } } [image: box_back_assembled.png] On Sun, 26 Feb 2023 at 01:43, Leonard Martin Struttmann < lenstruttmann@gmail.com> wrote: > I see that BOSL2 provides for modelling wiring bundles. > > Is there a library around that can model ribbon cables? > > Thanks! - Len > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org >
LM
Leonard Martin Struttmann
Sun, Feb 26, 2023 3:34 PM

Thanks!

On Sun, Feb 26, 2023 at 3:56 AM nop head nop.head@gmail.com wrote:

I model ribbon cables with NopSCADlib but there is no magic high level
stuff, I just sweep circles in a for loop.

module extruder_cable_assembly(i)
{
ct = inch(0.05);
bend_r = 5;

 p = extruder_plug_pos(i);
 translate(p)
     rotate([-90, 0, 0])
         d_socket(e_motor_socket(), idc = true);

 start = cable_pos(i);
 width = e_cable_ways * ct;
 right = extruder_plug_pos(n_extruders - 1).x;
 end_y = cable_slot_z + (i - (n_extruders -1) / 2) * ct;

 for(j = [0 : e_cable_ways - 1])
     color(j ? "grey" : "red")
         translate([(j - (e_cable_ways - 1) / 2) * ct, 0]) {
             z0 = sheet_thickness / 2 + ct / 2;      // flat on the back
             z1 =  z0 + ct * (n_extruders - i - 1);  // On top of other

cables
fold_y = fold_z0 - fold_spacing * (n_extruders - 2 - i) -
width + (e_cable_ways - 1.5 - j) * ct;

             direct_path = [start, [right, start.y, z0], bend_r,

[right, end_y, z0], ct / 2, [right, end_y, tail]]; // extruder on the right
goes direct

             folded_path = [ // The other extruders go across the back

to meet the cable from the one on the right
start,
[start.x, start.y, z0],            bend_r,
[start.x, fold_y,  z0],            ct / 2,
[start.x, fold_y,  z0 + ct + 0.1], ct / 2,
[right,  fold_y,  z1 + ct + 0.1], ct / 2,
[right,  fold_y,  z1],            ct / 2,
[right,  end_y,  z1],            ct * (n_extruders -
0.5 - i),
[right,  end_y,  tail],
];

             all = rounded_path((i == n_extruders - 1) ? direct_path :

folded_path);

             sweep(all, circle_points(ct / 2 + eps));

             if(j == 0)
                 ribbon_cable(e_cable_ways, ceil(path_length(all)) +

box_depth);
}
}
[image: box_back_assembled.png]

On Sun, 26 Feb 2023 at 01:43, Leonard Martin Struttmann <
lenstruttmann@gmail.com> wrote:

I see that BOSL2 provides for modelling wiring bundles.

Is there a library around that can model ribbon cables?

Thanks! - Len


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

Thanks! On Sun, Feb 26, 2023 at 3:56 AM nop head <nop.head@gmail.com> wrote: > I model ribbon cables with NopSCADlib but there is no magic high level > stuff, I just sweep circles in a for loop. > > module extruder_cable_assembly(i) > { > ct = inch(0.05); > bend_r = 5; > > p = extruder_plug_pos(i); > translate(p) > rotate([-90, 0, 0]) > d_socket(e_motor_socket(), idc = true); > > start = cable_pos(i); > width = e_cable_ways * ct; > right = extruder_plug_pos(n_extruders - 1).x; > end_y = cable_slot_z + (i - (n_extruders -1) / 2) * ct; > > for(j = [0 : e_cable_ways - 1]) > color(j ? "grey" : "red") > translate([(j - (e_cable_ways - 1) / 2) * ct, 0]) { > z0 = sheet_thickness / 2 + ct / 2; // flat on the back > z1 = z0 + ct * (n_extruders - i - 1); // On top of other > cables > fold_y = fold_z0 - fold_spacing * (n_extruders - 2 - i) - > width + (e_cable_ways - 1.5 - j) * ct; > > direct_path = [start, [right, start.y, z0], bend_r, > [right, end_y, z0], ct / 2, [right, end_y, tail]]; // extruder on the right > goes direct > > folded_path = [ // The other extruders go across the back > to meet the cable from the one on the right > start, > [start.x, start.y, z0], bend_r, > [start.x, fold_y, z0], ct / 2, > [start.x, fold_y, z0 + ct + 0.1], ct / 2, > [right, fold_y, z1 + ct + 0.1], ct / 2, > [right, fold_y, z1], ct / 2, > [right, end_y, z1], ct * (n_extruders - > 0.5 - i), > [right, end_y, tail], > ]; > > all = rounded_path((i == n_extruders - 1) ? direct_path : > folded_path); > > sweep(all, circle_points(ct / 2 + eps)); > > if(j == 0) > ribbon_cable(e_cable_ways, ceil(path_length(all)) + > box_depth); > } > } > [image: box_back_assembled.png] > > > On Sun, 26 Feb 2023 at 01:43, Leonard Martin Struttmann < > lenstruttmann@gmail.com> wrote: > >> I see that BOSL2 provides for modelling wiring bundles. >> >> Is there a library around that can model ribbon cables? >> >> Thanks! - Len >> _______________________________________________ >> OpenSCAD mailing list >> To unsubscribe send an email to discuss-leave@lists.openscad.org >> > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org >
GH
gene heskett
Sun, Feb 26, 2023 9:49 PM

On 2/26/23 10:35, Leonard Martin Struttmann wrote:

Thanks!

On Sun, Feb 26, 2023 at 3:56 AM nop head <nop.head@gmail.com
mailto:nop.head@gmail.com> wrote:

 I model ribbon cables with NopSCADlib but there is no magic high
 level stuff, I just sweep circles in a for loop.

 module extruder_cable_assembly(i)
 {
      ct = inch(0.05);
      bend_r = 5;

      p = extruder_plug_pos(i);
      translate(p)
          rotate([-90, 0, 0])
              d_socket(e_motor_socket(), idc = true);

      start = cable_pos(i);
      width = e_cable_ways * ct;
      right = extruder_plug_pos(n_extruders - 1).x;
      end_y = cable_slot_z + (i - (n_extruders -1) / 2) * ct;

      for(j = [0 : e_cable_ways - 1])
          color(j ? "grey" : "red")
              translate([(j - (e_cable_ways - 1) / 2) * ct, 0]) {
                  z0 = sheet_thickness / 2 + ct / 2;      // flat on
 the back
                  z1 =  z0 + ct * (n_extruders - i - 1);  // On top
 of other cables
                  fold_y = fold_z0 - fold_spacing * (n_extruders - 2
 - i) - width + (e_cable_ways - 1.5 - j) * ct;

                  direct_path = [start, [right, start.y, z0], bend_r,
 [right, end_y, z0], ct / 2, [right, end_y, tail]]; // extruder on
 the right goes direct

                  folded_path = [ // The other extruders go across
 the back to meet the cable from the one on the right
                      start,
                      [start.x, start.y, z0],            bend_r,
                      [start.x, fold_y,  z0],            ct / 2,
                      [start.x, fold_y,  z0 + ct + 0.1], ct / 2,
                      [right,   fold_y,  z1 + ct + 0.1], ct / 2,
                      [right,   fold_y,  z1],            ct / 2,
                      [right,   end_y,   z1],            ct *
 (n_extruders - 0.5 - i),
                      [right,   end_y,   tail],
                  ];

                  all = rounded_path((i == n_extruders - 1) ?
 direct_path : folded_path);

                  sweep(all, circle_points(ct / 2 + eps));

                  if(j == 0)
                      ribbon_cable(e_cable_ways,
 ceil(path_length(all)) + box_depth);
              }
 }
 box_back_assembled.png


 On Sun, 26 Feb 2023 at 01:43, Leonard Martin Struttmann
 <lenstruttmann@gmail.com <mailto:lenstruttmann@gmail.com>> wrote:

     I see that BOSL2 provides for modelling wiring bundles.

     Is there a library around that can model ribbon cables?

     Thanks! - Len

This is nice, but forgets a huge problem if speed of such a connection
is of any importance. Whats pictured will not work anywhere nears its
capability if made up with std ribbon cable because it ignores the fact
that the ribbon is a transmission line, subject to the usual problems
associated with poor VSWR if the frequency rises to the point of being
more that 1/8 wavelength long.

Std ribbon cable, assuming every other wire is a ground, giving some
isolation between the active wires, will have a characteristic impedance
of nominally 122 ohms, which needs to be properly terminated with that
value of resistor, usually 120 ohms so as to absorb the echo's bouncing
off the circuitry on the ends of the cable.

Binding them adjacent to each other as shown also makes crosstalk worse
and is not encouraged, stacking with 1/8"+ of air between the cables
reduces that considerably.

This transmission line arena is a whole different world that OpenSCAD is
not equipt to address.

That 18" sata cable in your computer, moving data serially over a small
number of wires at speeds up to nearly a gigabyte/second, couldn't do 50
kilobytes/second without being treated as a transmission line.

Your not so trivial factoid for the day. Take care and stay well everybody.

     _______________________________________________
     OpenSCAD mailing list
     To unsubscribe send an email to discuss-leave@lists.openscad.org
     <mailto:discuss-leave@lists.openscad.org>

 _______________________________________________
 OpenSCAD mailing list
 To unsubscribe send an email to discuss-leave@lists.openscad.org
 <mailto:discuss-leave@lists.openscad.org>

OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

Cheers, Gene Heskett.

"There are four boxes to be used in defense of liberty:
soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author, 1940)
If we desire respect for the law, we must first make the law respectable.

On 2/26/23 10:35, Leonard Martin Struttmann wrote: > Thanks! > > On Sun, Feb 26, 2023 at 3:56 AM nop head <nop.head@gmail.com > <mailto:nop.head@gmail.com>> wrote: > > I model ribbon cables with NopSCADlib but there is no magic high > level stuff, I just sweep circles in a for loop. > > module extruder_cable_assembly(i) > { >     ct = inch(0.05); >     bend_r = 5; > >     p = extruder_plug_pos(i); >     translate(p) >         rotate([-90, 0, 0]) >             d_socket(e_motor_socket(), idc = true); > >     start = cable_pos(i); >     width = e_cable_ways * ct; >     right = extruder_plug_pos(n_extruders - 1).x; >     end_y = cable_slot_z + (i - (n_extruders -1) / 2) * ct; > >     for(j = [0 : e_cable_ways - 1]) >         color(j ? "grey" : "red") >             translate([(j - (e_cable_ways - 1) / 2) * ct, 0]) { >                 z0 = sheet_thickness / 2 + ct / 2;      // flat on > the back >                 z1 =  z0 + ct * (n_extruders - i - 1);  // On top > of other cables >                 fold_y = fold_z0 - fold_spacing * (n_extruders - 2 > - i) - width + (e_cable_ways - 1.5 - j) * ct; > >                 direct_path = [start, [right, start.y, z0], bend_r, > [right, end_y, z0], ct / 2, [right, end_y, tail]]; // extruder on > the right goes direct > >                 folded_path = [ // The other extruders go across > the back to meet the cable from the one on the right >                     start, >                     [start.x, start.y, z0],            bend_r, >                     [start.x, fold_y,  z0],            ct / 2, >                     [start.x, fold_y,  z0 + ct + 0.1], ct / 2, >                     [right,   fold_y,  z1 + ct + 0.1], ct / 2, >                     [right,   fold_y,  z1],            ct / 2, >                     [right,   end_y,   z1],            ct * > (n_extruders - 0.5 - i), >                     [right,   end_y,   tail], >                 ]; > >                 all = rounded_path((i == n_extruders - 1) ? > direct_path : folded_path); > >                 sweep(all, circle_points(ct / 2 + eps)); > >                 if(j == 0) >                     ribbon_cable(e_cable_ways, > ceil(path_length(all)) + box_depth); >             } > } > box_back_assembled.png > > > On Sun, 26 Feb 2023 at 01:43, Leonard Martin Struttmann > <lenstruttmann@gmail.com <mailto:lenstruttmann@gmail.com>> wrote: > > I see that BOSL2 provides for modelling wiring bundles. > > Is there a library around that can model ribbon cables? > > Thanks! - Len This is nice, but forgets a huge problem if speed of such a connection is of any importance. Whats pictured will not work anywhere nears its capability if made up with std ribbon cable because it ignores the fact that the ribbon is a transmission line, subject to the usual problems associated with poor VSWR if the frequency rises to the point of being more that 1/8 wavelength long. Std ribbon cable, assuming every other wire is a ground, giving some isolation between the active wires, will have a characteristic impedance of nominally 122 ohms, which needs to be properly terminated with that value of resistor, usually 120 ohms so as to absorb the echo's bouncing off the circuitry on the ends of the cable. Binding them adjacent to each other as shown also makes crosstalk worse and is not encouraged, stacking with 1/8"+ of air between the cables reduces that considerably. This transmission line arena is a whole different world that OpenSCAD is not equipt to address. That 18" sata cable in your computer, moving data serially over a small number of wires at speeds up to nearly a gigabyte/second, couldn't do 50 kilobytes/second without being treated as a transmission line. Your not so trivial factoid for the day. Take care and stay well everybody. > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org > <mailto:discuss-leave@lists.openscad.org> > > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org > <mailto:discuss-leave@lists.openscad.org> > > > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org Cheers, Gene Heskett. -- "There are four boxes to be used in defense of liberty: soap, ballot, jury, and ammo. Please use in that order." -Ed Howdershelt (Author, 1940) If we desire respect for the law, we must first make the law respectable. - Louis D. Brandeis Genes Web page <http://geneslinuxbox.net:6309/>
NH
nop head
Sun, Feb 26, 2023 10:00 PM

LOL, The ribbon cables in my picture connect extruders, which are just
stepper motors, heaters and thermistors. No need to treat them as
transmission lines and cross talk isn't an issue because the only
sensitive signal is the thermistor and that is heavily filtered as it is
only a slowly changing DC signal.

On Sun, 26 Feb 2023 at 21:50, gene heskett gheskett@shentel.net wrote:

On 2/26/23 10:35, Leonard Martin Struttmann wrote:

Thanks!

On Sun, Feb 26, 2023 at 3:56 AM nop head <nop.head@gmail.com
mailto:nop.head@gmail.com> wrote:

 I model ribbon cables with NopSCADlib but there is no magic high
 level stuff, I just sweep circles in a for loop.

 module extruder_cable_assembly(i)
 {
      ct = inch(0.05);
      bend_r = 5;

      p = extruder_plug_pos(i);
      translate(p)
          rotate([-90, 0, 0])
              d_socket(e_motor_socket(), idc = true);

      start = cable_pos(i);
      width = e_cable_ways * ct;
      right = extruder_plug_pos(n_extruders - 1).x;
      end_y = cable_slot_z + (i - (n_extruders -1) / 2) * ct;

      for(j = [0 : e_cable_ways - 1])
          color(j ? "grey" : "red")
              translate([(j - (e_cable_ways - 1) / 2) * ct, 0]) {
                  z0 = sheet_thickness / 2 + ct / 2;      // flat on
 the back
                  z1 =  z0 + ct * (n_extruders - i - 1);  // On top
 of other cables
                  fold_y = fold_z0 - fold_spacing * (n_extruders - 2
 - i) - width + (e_cable_ways - 1.5 - j) * ct;

                  direct_path = [start, [right, start.y, z0], bend_r,
 [right, end_y, z0], ct / 2, [right, end_y, tail]]; // extruder on
 the right goes direct

                  folded_path = [ // The other extruders go across
 the back to meet the cable from the one on the right
                      start,
                      [start.x, start.y, z0],            bend_r,
                      [start.x, fold_y,  z0],            ct / 2,
                      [start.x, fold_y,  z0 + ct + 0.1], ct / 2,
                      [right,   fold_y,  z1 + ct + 0.1], ct / 2,
                      [right,   fold_y,  z1],            ct / 2,
                      [right,   end_y,   z1],            ct *
 (n_extruders - 0.5 - i),
                      [right,   end_y,   tail],
                  ];

                  all = rounded_path((i == n_extruders - 1) ?
 direct_path : folded_path);

                  sweep(all, circle_points(ct / 2 + eps));

                  if(j == 0)
                      ribbon_cable(e_cable_ways,
 ceil(path_length(all)) + box_depth);
              }
 }
 box_back_assembled.png


 On Sun, 26 Feb 2023 at 01:43, Leonard Martin Struttmann
 <lenstruttmann@gmail.com <mailto:lenstruttmann@gmail.com>> wrote:

     I see that BOSL2 provides for modelling wiring bundles.

     Is there a library around that can model ribbon cables?

     Thanks! - Len

This is nice, but forgets a huge problem if speed of such a connection
is of any importance. Whats pictured will not work anywhere nears its
capability if made up with std ribbon cable because it ignores the fact
that the ribbon is a transmission line, subject to the usual problems
associated with poor VSWR if the frequency rises to the point of being
more that 1/8 wavelength long.

Std ribbon cable, assuming every other wire is a ground, giving some
isolation between the active wires, will have a characteristic impedance
of nominally 122 ohms, which needs to be properly terminated with that
value of resistor, usually 120 ohms so as to absorb the echo's bouncing
off the circuitry on the ends of the cable.

Binding them adjacent to each other as shown also makes crosstalk worse
and is not encouraged, stacking with 1/8"+ of air between the cables
reduces that considerably.

This transmission line arena is a whole different world that OpenSCAD is
not equipt to address.

That 18" sata cable in your computer, moving data serially over a small
number of wires at speeds up to nearly a gigabyte/second, couldn't do 50
kilobytes/second without being treated as a transmission line.

Your not so trivial factoid for the day. Take care and stay well everybody.

     _______________________________________________
     OpenSCAD mailing list
     To unsubscribe send an email to discuss-leave@lists.openscad.org
     <mailto:discuss-leave@lists.openscad.org>

 _______________________________________________
 OpenSCAD mailing list
 To unsubscribe send an email to discuss-leave@lists.openscad.org
 <mailto:discuss-leave@lists.openscad.org>

OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

Cheers, Gene Heskett.

"There are four boxes to be used in defense of liberty:
soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author, 1940)
If we desire respect for the law, we must first make the law respectable.


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

LOL, The ribbon cables in my picture connect extruders, which are just stepper motors, heaters and thermistors. No need to treat them as transmission lines and cross talk isn't an issue because the only sensitive signal is the thermistor and that is heavily filtered as it is only a slowly changing DC signal. On Sun, 26 Feb 2023 at 21:50, gene heskett <gheskett@shentel.net> wrote: > On 2/26/23 10:35, Leonard Martin Struttmann wrote: > > Thanks! > > > > On Sun, Feb 26, 2023 at 3:56 AM nop head <nop.head@gmail.com > > <mailto:nop.head@gmail.com>> wrote: > > > > I model ribbon cables with NopSCADlib but there is no magic high > > level stuff, I just sweep circles in a for loop. > > > > module extruder_cable_assembly(i) > > { > > ct = inch(0.05); > > bend_r = 5; > > > > p = extruder_plug_pos(i); > > translate(p) > > rotate([-90, 0, 0]) > > d_socket(e_motor_socket(), idc = true); > > > > start = cable_pos(i); > > width = e_cable_ways * ct; > > right = extruder_plug_pos(n_extruders - 1).x; > > end_y = cable_slot_z + (i - (n_extruders -1) / 2) * ct; > > > > for(j = [0 : e_cable_ways - 1]) > > color(j ? "grey" : "red") > > translate([(j - (e_cable_ways - 1) / 2) * ct, 0]) { > > z0 = sheet_thickness / 2 + ct / 2; // flat on > > the back > > z1 = z0 + ct * (n_extruders - i - 1); // On top > > of other cables > > fold_y = fold_z0 - fold_spacing * (n_extruders - 2 > > - i) - width + (e_cable_ways - 1.5 - j) * ct; > > > > direct_path = [start, [right, start.y, z0], bend_r, > > [right, end_y, z0], ct / 2, [right, end_y, tail]]; // extruder on > > the right goes direct > > > > folded_path = [ // The other extruders go across > > the back to meet the cable from the one on the right > > start, > > [start.x, start.y, z0], bend_r, > > [start.x, fold_y, z0], ct / 2, > > [start.x, fold_y, z0 + ct + 0.1], ct / 2, > > [right, fold_y, z1 + ct + 0.1], ct / 2, > > [right, fold_y, z1], ct / 2, > > [right, end_y, z1], ct * > > (n_extruders - 0.5 - i), > > [right, end_y, tail], > > ]; > > > > all = rounded_path((i == n_extruders - 1) ? > > direct_path : folded_path); > > > > sweep(all, circle_points(ct / 2 + eps)); > > > > if(j == 0) > > ribbon_cable(e_cable_ways, > > ceil(path_length(all)) + box_depth); > > } > > } > > box_back_assembled.png > > > > > > On Sun, 26 Feb 2023 at 01:43, Leonard Martin Struttmann > > <lenstruttmann@gmail.com <mailto:lenstruttmann@gmail.com>> wrote: > > > > I see that BOSL2 provides for modelling wiring bundles. > > > > Is there a library around that can model ribbon cables? > > > > Thanks! - Len > > This is nice, but forgets a huge problem if speed of such a connection > is of any importance. Whats pictured will not work anywhere nears its > capability if made up with std ribbon cable because it ignores the fact > that the ribbon is a transmission line, subject to the usual problems > associated with poor VSWR if the frequency rises to the point of being > more that 1/8 wavelength long. > > Std ribbon cable, assuming every other wire is a ground, giving some > isolation between the active wires, will have a characteristic impedance > of nominally 122 ohms, which needs to be properly terminated with that > value of resistor, usually 120 ohms so as to absorb the echo's bouncing > off the circuitry on the ends of the cable. > > Binding them adjacent to each other as shown also makes crosstalk worse > and is not encouraged, stacking with 1/8"+ of air between the cables > reduces that considerably. > > This transmission line arena is a whole different world that OpenSCAD is > not equipt to address. > > That 18" sata cable in your computer, moving data serially over a small > number of wires at speeds up to nearly a gigabyte/second, couldn't do 50 > kilobytes/second without being treated as a transmission line. > > Your not so trivial factoid for the day. Take care and stay well everybody. > > _______________________________________________ > > OpenSCAD mailing list > > To unsubscribe send an email to discuss-leave@lists.openscad.org > > <mailto:discuss-leave@lists.openscad.org> > > > > _______________________________________________ > > OpenSCAD mailing list > > To unsubscribe send an email to discuss-leave@lists.openscad.org > > <mailto:discuss-leave@lists.openscad.org> > > > > > > _______________________________________________ > > OpenSCAD mailing list > > To unsubscribe send an email to discuss-leave@lists.openscad.org > > Cheers, Gene Heskett. > -- > "There are four boxes to be used in defense of liberty: > soap, ballot, jury, and ammo. Please use in that order." > -Ed Howdershelt (Author, 1940) > If we desire respect for the law, we must first make the law respectable. > - Louis D. Brandeis > Genes Web page <http://geneslinuxbox.net:6309/> > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org >