• 易迪拓培训,专注于微波、射频、天线设计工程师的培养
首页 > 电子设计 > PCB设计 > PCB技术问答 > 自己写了个NET2ASC,把Protel网表转PADS格式.

自己写了个NET2ASC,把Protel网表转PADS格式.

录入:edatop.com    点击:
收到一个Protel文件,奈何很久没用了,转PADS结果网表全乱了,一怒之下自己写了一个,下面是源程序,可执行文件见附件。
//net2asc.cpp:Definestheentrypointfortheconsoleapplication.
//
#include”stdafx.h”
#include<fstream>
#include<cstring>
usingnamespacestd;
struct{
_TCHARdes[20];
_TCHARpart[20];
_TCHARfoot[20];
}iComp,oComp;
int_tmain(intargc,_TCHAR*argv[])
{
_TCHAR*pszCh;
fstreamOutfile,Con,Infile;
intcntcmp=0,cntnet=0,cntnod=0;
Con.open(”con”,ios_base::out);
Con<<”ProtelNetlisttoPADSAsciiConverterVer0.1n”;
Con<<”Copyright(c)2008Micheal,theWolf.nn”;
switch(argc){
case2:
argv[2]=new_TCHAR[35];//theprojectmustbemulti-bytecharacterset;
strcpy(argv[2],argv[1]);
if((pszCh=strrchr(argv[2],'.'))!=NULL)*pszCh='';
strncat(argv[2],”.asc”,4);
//Con<<”nn”<<argv[1]<<”nn”<<argv[2];
case3:
Outfile.open(argv[2],ios_base::out|ios_base::trunc);
//Con<<”a”;
if(!Outfile.is_open())gotousage;
Infile.open(argv[1],ios_base::in);
if(!Infile.is_open())gotousage;
break;
default:
usage:
Con<<”Usage:Net2AscInputfile[Outputfile]nn”<<argc;
exit(-1);
}
//Outputtheasciiheader
Outfile<<”!PADS-POWERPCB-V2005.0-MILS-250L-CP936!NETLISTFILEFROMPADSLOGICV2005.0n”;
Outfile<<”*REMARK*”<<argv[1]<<”nn”;
//pass1:parsethecomponets
pszCh=new_TCHAR[180];
Outfile<<”*PART*ITEMSn”;
while(Infile.getline(pszCh,180,'n')){
if(!strcmp(pszCh,”[”)){
Infile.getline(iComp.des,80,'n');
Infile.getline(iComp.foot,80,'n');
Infile.getline(iComp.part,80,'n');
Infile.getline(pszCh,80,'n');
Infile.getline(pszCh,80,'n');
Infile.getline(pszCh,80,'n');
Infile.getline(pszCh,80,'n');
if(*pszCh!=']'){Con<<iComp.des<<'n'<<iComp.foot<<'n'<<iComp.part<<'n'<<pszCh;exit(2);}
Outfile<<iComp.des<<'t'<<iComp.part;
if(strlen(iComp.foot))Outfile<<'@'<<iComp.foot;
Outfile<<'n';
cntcmp++;
}
elseif(!strcmp(pszCh,”(”)){
Infile.getline(pszCh,80,'n');
Outfile<<”n*SIGNAL*”<<pszCh<<'n';
cntnet++;
inti=0;
Infile.getline(pszCh,80,'n');
while(*pszCh!=')'){
cntnod++;
char*pszTemp=strchr(pszCh,'-');
*pszTemp='.';
Outfile<<pszCh<<'';
if(!(++i%5))Outfile<<'n';
Infile.getline(pszCh,80,'n');
}
}
}
Outfile<<”n*END*OFASCIIOUTPUTFILEn”;
Outfile.close();
Infile.close();
Con<<”n”<<cntcmp<<”components,”<<cntnet<<”netsand”<<cntnod<<”nodeshadbeengenerated.n”;
exit(0);
}
相关链接:
down21ic/370-2007108235342596.rar

射频工程师养成培训教程套装,助您快速成为一名优秀射频工程师...

天线设计工程师培训课程套装,资深专家授课,让天线设计不再难...

上一篇:问一下一个连接器元器件 原理图
下一篇:四层板DRC校验后出现如下警告提示.

射频和天线工程师培训课程详情>>

  网站地图