一种自动标识主板零件表中正反面零件的方法转让专利

申请号 : CN200810175367.1

文献号 : CN101414319B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 吴锋

申请人 : 深圳市神舟电脑股份有限公司

摘要 :

本发明提供了一种自动标识主板零件表中正反面零件的方法,通过VC程序语言对EXCEL表格进行操作,结合Allegro软件自动生成的表格,读取打在PCB反面的零件,将其与零件表做对比并标识,省去了手工进行零件正反面标记的繁琐步骤,也确保了标识的正确性。

权利要求 :

1.一种自动标识主板零件表中正反面零件的方法,通过VC程序语言对EXCEL表格进行操作,其特征在于,包含以下步骤:步骤1:通过调用CFileDialog类的方法分别获取BOM表和零件表的路径;

步骤2:根据步骤1所获路径新建CSpreadSheet类的对象SS1、SS2,用SS1表示BOM表,SS2表示零件表;

步骤3:判断表格是否符合规格,否,则弹出报错信息,是,则继续;

步骤4:选取SS1表(BOM表)Part Reference列中SYM_MIRROR值为NO的零件,组合成一个大的字符串,即一个CString类的对象SS1PARTSUM,并作为下一步要搜索的库;

步骤5:选取SS2表(零件表)中DES列中各行字符串,依次在SS1PARTSUM库中搜索是否存在,并做相应处理;

步骤6:最后把已经在内存中处理完的SS2表(零件表)保存回原表。

2.根据权利要求1所述的一种自动标识主板零件表中正反面零件的方法,其特征在于,在DES列中有些单元格包含多个零件,需要对其进行分割,分别对每个零件进行搜索。

3.根据权利要求1所述的一种自动标识主板零件表中正反面零件的方法,其特征在于,处理方式可由用户根据自己的要求设定。

说明书 :

一种自动标识主板零件表中正反面零件的方法

技术领域

[0001] 本发明涉及主板零件表的制作,更具体的说,涉及一种自动标识主板零件表中正反面零件的方法。

背景技术

[0002] PCB在设计阶段需要完成原理图的制作和layout部分,在layout完成后会形成一份PCB资料,根据这份PCB资料通过Allegro软件会自动生成一份表格(可称为BOM表,如图1所示),在这个表格中有PCB板上各个零件的位号并标明该零件是在PCB板正面还是反面(显示NO即为反面)。
[0003] 为配合生产,BOM表工程师要根据电路原理图手工制作一份零件表(如图2所示),表内会记录各零件的料号、打板位置、描述等。为保证顺利生产,还需标明零件是打在PCB板的正面还是反面。由于主板上零件众多,仅靠手工将零件打板的正反标识一个个记录到零件表中,不仅浪费时间、资源,而且也极容易出错。

发明内容

[0004] 本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种自动标识主板零件表中正反面零件的方法。
[0005] 本发明的解决其技术问题所采用的技术方案是:构造一种自动标识主板零件表中正反面零件的方法,通过VC程序语言对EXCEL表格进行操作,包含以下步骤:
[0006] 步骤1:通过调用CFileDialog类的方法分别获取BOM表和零件表的路径;
[0007] 步骤2:根据步骤1所获路径新建CSpreadSheet类的对象SS1、SS2,用SS1表示BOM表,SS2表示零件表;
[0008] 步骤3:判断表格是否符合规格,否,则弹出报错信息,是,则继续;
[0009] 步骤4:选取SS1表(BOM表)Part Reference列中SYM_MIRROR值为NO的零件,组合成一个大的字符串,即一个CString类的对象SS1PARTSUM,并作为下一步要搜索的库;
[0010] 步骤5:选取SS2表(零件表)中DES列中各行字符串,依次在SS1PARTSUM库中搜索是否存在,并做相应处理;
[0011] 步骤6:最后把已经在内存中处理完的SS2表(零件表)保存回原表。
[0012] 在步骤5中需要特别注意的是在DES列中有些单元格可能包含多个零件,故需要对其进行分割,分别对每个零件进行搜索。
[0013] 处理方式可由用户根据自己的要求设定,如在零件表中把主板背面使用的零件标识成黑体斜体或下划线等。
[0014] 实施本发明进行主板零件表的制作,具有以下有益效果:通过结合Allegro软件自动生成的表格,读取打在PCB反面的零件,将其与零件表做对比并标识,省去了手工进行零件正反面标记的繁琐步骤,也确保了标识的正确性。

附图说明

[0015] 下面将结合附图及实施例对本发明作进一步说明,附图中:
[0016] 图1是Allegro软件生成的BOM表局部图;
[0017] 图2是BOM表工程师手工制作的零件表局部图;
[0018] 图3是本发明的工作流程图;
[0019] 图4是实施本发明后生成的带有零件正反面标识零件表局部图。

具体实施方式

[0020] 如图1所示,BOM表是根据layout完成后产生的PCB资料,由Allegro软件自动生成的,包含“Part Reference”和“SYM_MIRROR”两列。“Part Reference”列表示零件的位号;“SYM_MIRROR”列表示零件打在PCB板正面还是反面,“YES”表示打在正面,“NO”表示打在反面。
[0021] 如图2所示,零件表是BOM表工程师根据电路原理图进行手工制作的,根据各自制作规范与要求分别有若干列,其中主要有层数“level”列(表示用在第几层)、料号“HASEEP/N”列(表示零件物料料号)、打板位置“DES”列(表示零件打板位置)、零件描述“Description”列(进行对零件的描述)等。
[0022] 如图3所示,实现本发明的具体步骤如下:
[0023] 步骤1:通过调用CFileDialog类的方法分别获取BOM表和零件表的路径;
[0024] 步骤2:对BOM表和零件表进行重新标示,根据步骤1所获路径新建CSpreadSheet类的对象SS1、SS2,用SS1表示BOM表、SS2表示零件表;
[0025] 步骤3:判断表格是否符合规格(如要比较的列是否存在,表的格式等),否,则弹出报错信息,是,则继续;
[0026] 步骤4:选取SS1表(BOM表)Part Reference列中SYM_MIRROR值为NO的零件,组合成一个大的字符串,即一个CString类的对象SS1PARTSUM,并作为下一步要搜索的库;
[0027] 步骤5:选取SS2表(零件表)中DES列中各行字符串,依次在SS1PARTSUM库中搜索是否存在,并做相应处理。这里需要特别注意的是在DES列中有些单元格可能包含多个零件,故需要对其进行分割,分别对每个零件进行搜索。处理方式可由用户根据自己的要求设定,如在零件表中把主板背面使用的零件标识成黑体斜体或下划线等;
[0028] 步骤6:最后把已经在内存中处理完的SS2表(零件表)保存回原表。
[0029] 如图4所示,实施本发明后生成的零件表,打在PCB板背面的零件其位号标识为黑体斜体。