X-Git-Url: http://gitweb.hugovil.com/?a=blobdiff_plain;f=bomgen%2FBomgen%2Frefdes.inc.php;fp=bomgen%2FBomgen%2Frefdes.inc.php;h=a7a6a37d6eb0ec98f8e3952712f15aa6f272d2e0;hb=7ceba672cf563a54ad733e418e8f3f5efcc23671;hp=0000000000000000000000000000000000000000;hpb=ce621674685a46fd06f0f75ac0d41719358651d4;p=eda-utils.git diff --git a/bomgen/Bomgen/refdes.inc.php b/bomgen/Bomgen/refdes.inc.php new file mode 100644 index 0000000..a7a6a37 --- /dev/null +++ b/bomgen/Bomgen/refdes.inc.php @@ -0,0 +1,72 @@ + + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + */ + +/* + * Pour les composants identiques, PCAD les exporte chacun sur une ligne + * différente. + * Seul le premier du groupe a sa quantité spécifiée: les autres ont une + * quantité vide. + * Cette fonction combine donc toutes les lignes pour un même type de composant + * en une seule, et en combinant tous les refdes ensembles, séparés par des + * virgules. + */ +function refdes_combine(&$data, $num, $col_num_to_id, $col_id_to_num) +{ + global $debug; + + $newpart = 0; /* Set to 1 when encountering a new part. */ + $reflist = ""; + $newpartkey = ""; + + foreach ($data as $key => $row) { + + for ($c = 0; $c < $num; $c++) { + if ($col_num_to_id[$c] == DESIGNATOR_COL_NAME) { + $refdes = $row[$c]; + } + + if ($col_num_to_id[$c] == QTY_COL_NAME) { + if ($row[$c] == "") { + $newpart = 0; + } else { + $newpart = 1; + + /* Save previous reflist if applicable. */ + if ($reflist != "") { + if ($debug) { + echo " REFLIST = " . $reflist . "\n"; + } + + $data[$newpartkey][$col_id_to_num[DESIGNATOR_COL_NAME]] = $reflist; + } + + $newpartkey = $key; + $reflist = ""; + } + } + } + + if ($newpart == 1) { + if ($debug) { + echo "DEBUG: NEWPART\n"; + } + + $reflist = $refdes; + } else { + $reflist = $reflist . "," . $refdes; + + /* Discard row. */ + unset($data[$key]); + } + } +} + +?>