82 lines
2.2 KiB
PHP
82 lines
2.2 KiB
PHP
<?php
|
|
|
|
$pcad_net = "";
|
|
|
|
// install components
|
|
for($i=1; $i<=$pcb->HDR['comp_count_real']['v']; $i++)
|
|
{
|
|
$C = $pcb->COMP[$i];
|
|
|
|
$name1 = ValidateRef($C['name1_str']['v']);
|
|
$name2 = ValidateRef($C['name2_str']['v']);
|
|
$pattern = $C['style']['v'];
|
|
$pcad_net .= " (compInst \"$name1\"\r\n";
|
|
$pcad_net .= " (compRef \"".$pattern."_1\")\r\n";
|
|
$pcad_net .= " (originalName \"$pattern\")\r\n";
|
|
$pcad_net .= " (compValue \"$name2\")\r\n";
|
|
$pcad_net .= " )\r\n";
|
|
}
|
|
file_put_contents($out_file, $pcad_net, FILE_APPEND | LOCK_EX);
|
|
|
|
|
|
|
|
echo"generate net list...<br>";
|
|
$net_lists = array();
|
|
for($i=1; $i<=$pcb->HDR['comp_count_real']['v']; $i++)
|
|
{
|
|
$C = $pcb->COMP[$i];
|
|
for ($j=1; $j<=$C['pads_count']['v']; $j++)
|
|
{
|
|
$net = $C['pad'.$j.'_net']['v'];
|
|
if (!trim($net)) continue;
|
|
|
|
if (!in_array($net, $net_list))
|
|
{
|
|
$net_list[] = $net;
|
|
}
|
|
}
|
|
}
|
|
echo"nets from components: ".sizeof($net_list)."<br>";
|
|
//for($n=0; $n<sizeof($net_list); $n++) echo"(".$net_list[$n].")"; echo"<br>";
|
|
|
|
$pcad_net = "";
|
|
for($n=0; $n<sizeof($net_list); $n++)
|
|
{
|
|
$net = $net_list[$n];
|
|
$pcad_net .= " (net \"".$net."\"\r\n";
|
|
|
|
for($i=1; $i<=$pcb->HDR['comp_count_real']['v']; $i++)
|
|
{
|
|
$C = $pcb->COMP[$i];
|
|
for ($j=1; $j<=$C['pads_count']['v']; $j++)
|
|
{
|
|
$pad_net = $C['pad'.$j.'_net']['v'];
|
|
$pad_des = $C['pad'.$j.'_des']['v'];
|
|
if ($net == $pad_net)
|
|
{
|
|
$pcad_net .= " (node \"".ValidateRef($C['name1_str']['v'])."\" \"$pad_des\")\r\n";
|
|
}
|
|
}
|
|
}
|
|
//*/
|
|
$pcad_net .= " )\r\n";
|
|
|
|
}
|
|
file_put_contents($out_file, $pcad_net, FILE_APPEND | LOCK_EX);
|
|
|
|
|
|
echo"generate netclass...<br>";
|
|
$pcad_net = " (netClass \"DefaultNetClass\"\r\n";
|
|
for($n=0; $n<sizeof($net_list); $n++)
|
|
{
|
|
$pcad_net .= " (netNameRef \"".$net_list[$n]."\")\r\n";
|
|
}
|
|
$pcad_net .= " (attr \"Width\" \"10\" (textStyleRef \"(Default)\"))\r\n";
|
|
$pcad_net .= " (attr \"Clearance\" \"10\" (textStyleRef \"(Default)\"))\r\n";
|
|
$pcad_net .= " (attr \"MaxWidth\" \"1000\" (textStyleRef \"(Default)\"))\r\n";
|
|
$pcad_net .= " (attr \"MinWidth\" \"1\" (textStyleRef \"(Default)\"))\r\n";
|
|
$pcad_net .= " (attr \"USE_LAYERS\" \"TOP, BOTTOM\" (textStyleRef \"(Default)\"))\r\n";
|
|
$pcad_net .= " )\r\n";
|
|
//file_put_contents($out_file, $pcad_net, FILE_APPEND | LOCK_EX);
|
|
|