どうもタイトルのようなリストを作るソフトが無さそうなので
急遽作った
普通の部品なら こんなソフトは要らないけど FC部品なので
とてもじゃないが 寸法線で追えない
又ここのpadのピッチが違うので 原点からの位置寸法リストを
出すしかない
下記がawkで書いたリスト
10分くらいかかったと思う
その下にこれが吐き出したリストを出しておく
BEGIN{
print "1個の部品をDRMデータ絶対原点に置く";
print "それを読ませ ピン番号と座標値のリストを出す";
print "";
printf "DREAM file name (only Text save) : "; getline dream;
if (dream=="") dream="shape_test.drm";
printf "X offset ? (mm/dim) cr=0 = "; getline offsetx;
if (offsetx=="") offsetx=0;
printf "Y offset ? = "; getline offsety;
if (offsety=="") offsety=0;
doc=dream "make_lib_xy.txt";
# --------------------------------------
if ((getline <dream ) <= -1){
exit;
}
close (dream);
# -------------------------------------
print "loading.. " dream;
print "データ読み込み";
while (getline <dream > 0){
if ($1=="#DATA") read=1;
if ($1=="PAD" && read==1){
c27=sprintf("%x\n",$27);
get_pin_name();
# PAD ... $6=X $7=Y;
x=$6;y=$7;
x=x/10000;y=y/10000;
x=x-offsetx;y=y-offsety;
print " pin_name= " pin_name " x= " x " y= " y >doc;
}
}
close (doc);
close (dream);
}
function get_pin_name(){
pin_name=0;
c=substr(c27,1,2);
c1=get_pin_name1();
if (c1==-1) return;
else pin_name=get_pin_name1();
c=substr(c27,3,2);
c1=get_pin_name1();
if (c1==-1) return;
else pin_name=pin_name get_pin_name1();
c=substr(c27,5,2);
c1=get_pin_name1();
if (c1==-1) return;
else pin_name=pin_name get_pin_name1();
c=substr(c27,7,2);
c1=get_pin_name1();
if (c1==-1) return;
else pin_name=pin_name get_pin_name1();
}
function get_pin_name1(){
if (c==00) return(-1);
if (c=="2b") return("+");
if (c>=30 && c<=39)
return (c-30);
if (c>=41 && c<=66){
if (c=="41") return("A");
if (c=="42") return("B");
if (c=="43") return("C");
if (c=="44") return("D");
if (c=="45") return("E");
if (c=="46") return("F");
if (c=="47") return("G");
if (c=="48") return("H");
if (c=="49") return("I");
if (c=="4a") return("J");
if (c=="4b") return("K");
if (c=="4c") return("L");
if (c=="4d") return("M");
if (c=="4e") return("N");
if (c=="4f") return("O");
if (c=="50") return("P");
if (c=="51") return("Q");
if (c=="52") return("R");
if (c=="53") return("S");
if (c=="54") return("T");
if (c=="55") return("U");
if (c=="56") return("V");
if (c=="57") return("W");
if (c=="58") return("X");
if (c=="59") return("Y");
if (c=="5a") return("Z");
return (-1);
}
else return (-1);
}
--------------------
下記がリストの一部
pin_name= 1 x= 2.018 y= -2.608
pin_name= 2 x= 1.848 y= -2.608
pin_name= 3 x= 1.678 y= -2.608
pin_name= 4 x= 1.508 y= -2.608
pin_name= 5 x= 1.338 y= -2.608
pin_name= 6 x= 1.168 y= -2.608
pin_name= 7 x= 0.998 y= -2.608
pin_name= 8 x= 0.828 y= -2.608
pin_name= 9 x= 0.658 y= -2.608
pin_name= 10 x= 0.488 y= -2.608
pin_name= 11 x= 0.318 y= -2.608
pin_name= 12 x= 0.148 y= -2.608
pin_name= 13 x= -0.022 y= -2.608
pin_name= 14 x= -0.192 y= -2.608
pin_name= 15 x= -0.362 y= -2.608
pin_name= 16 x= -0.532 y= -2.608
pin_name= 17 x= -0.702 y= -2.608
pin_name= 18 x= -0.872 y= -2.608
全部を書く必要はないだろう
上のawkの部分 カット&コピーして awk95.exeに
食わせると ちゃんと動きます
願わくば DREAMのコマンドとして実装されることを!
この逆の事も当然考えた
一番のネックは メーカーから座標値リストが得られない事
入手できれば何とかなると思う
ベースマークを任意の位置に配置するソフトはある(どこかに..)
ベースマークをおいといてそこに実際の寸法を考えたPADを
置けば楽々セーフ