掌桥专利:专业的专利平台
掌桥专利
首页

一种在Allegro中创建文字块的方法和系统

文献发布时间:2023-06-19 11:44:10


一种在Allegro中创建文字块的方法和系统

技术领域

本发明属于电子电路印刷电路板布线设计领域,尤其涉及一种在Allegro中创建文字块的方法和系统。

背景技术

目前,Cadence Allegro主要应用于中大型PCB板的布线设计,此类板布线元素相对较多,常需要在板面印刷标识性文字。但因后期的光绘程序只识别线(Line)和图形块(Shape),不识别文字,所以在前期设计时都只有简单的线条型字体,且不支持输入非英语的文字。如图1所示,在电子电路布线工具Cadence Allegro中只能输入键盘字符(英文),不支持其它语言的文字,同时文字字体也只有几种简单的单线体。

发明内容

本发明的主要目的在于克服现有技术的缺点与不足,提供一种在Allegro中创建文字块的方法和系统,使用本发明的方法,用户可输入当前计算机上的任意字体、任意字符的文字块,生成可支持后期光绘和丝印的图形元素,用户界面友好,操作简单。

根据本发明的一个方面,本发明提供了一种在Allegro中创建文字块的方法,所述方法包括以下步骤:

S1:通过Allegro的操作界面接收用户选择的文字类型和所述用户输入的文字;

S2:获取所述用户输入的文字的轮廓数据,将其转换成由多个连续的点组成的封闭路径;

S3:基于所述封闭路径在所述Allegro中创建所述文字的笔画的shape对象。

优选地,所述文字包括Windows TrueType字体,所述创建的文字的笔画的shape对象轮廓和填充两种模式。

优选地,所述获取所述用户输入的文字的轮廓数据,包括:

使用C++微软基础类MFC中应用设备描述对象CDC,利用TextOut函数根据所述用户选定的字体和文字大小输出所述文字,通过GetPath函数获取所述文字的轮廓数据。

优选地,所述基于所述封闭路径在所述Allegro中创建所述文字的笔画的shape对象,包括:

通过所述MFC取得所述文字的轮廓数据后,将其传回到Allegro中,利用skill的axlPathStart、axlPathLine、axlDBCreatePath函数在Allegro中创建出Allegro的path对象,使用axlDBCreateShape函数创建以所述Path对象为边界的Shape对象。

根据本发明的另一个方面,本发明还提供了一种在Allegro中创建文字块的系统,所述系统包括:

接收模块,用于通过Allegro的操作界面接收用户选择的文字类型和所述用户输入的文字;

获取模块,用于获取所述用户输入的文字的轮廓数据,将其转换成由多个连续的点组成的封闭路径;

创建模块,用于基于所述封闭路径在所述Allegro中创建所述文字的笔画的shape对象。

优选地,所述文字包括Windows TrueType字体,所述创建的文字的笔画的shape对象轮廓和填充两种模式。

优选地,所述获取所述用户输入的文字的轮廓数据,包括:

使用C++微软基础类MFC中应用设备描述对象CDC,利用TextOut函数根据所述用户选定的字体和文字大小输出所述文字,通过GetPath函数获取所述文字的轮廓数据。

优选地,所述基于所述封闭路径在所述Allegro中创建所述文字的笔画的shape对象,包括:

通过所述MFC取得所述文字的轮廓数据后,将其传回到Allegro中,利用skill的axlPathStart、axlPathLine、axlDBCreatePath函数在Allegro中创建出Allegro的path对象,使用axlDBCreateShape函数创建以所述Path对象为边界的Shape对象。

根据本发明的另一方面,本发明还提供了一种在Allegro中创建文字块的系统,所述系统包括:处理器、存储器,所述存储器存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现上述方法步骤。

根据本发明的另一方面,本发明还提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现上述方法步骤。

有益效果:本发明通过在Allegro中嵌入软件提供用户界面,用户能够输入任意文字、任意TrueType字体,并提供轮廓和填充两种模式,在Allegro中生成文字的全拟合图形,可在后期制作Gerber光绘文件时输出,用户界面友好,操作简单。

通过参照以下附图及对本发明的具体实施方式的详细描述,本发明的特征及优点将会变得清楚。

附图说明

图1是现有技术中在Allgero中输入英文字符的示意图;

图2是本发明的在Allegro中创建文字块的方法流程示意图;

图3是本发明的Allegro中用于文字类型选择和输入的用户界面示意图;

图4是本发明的window中字体轮廓示意图;

图5是本发明的通过Allgero生成shape对象的示意图;

图6是本发明的在Allgero中生成轮廓型的文字块的示意图;

图7是本发明的在Allegro中创建文字块的系统结构示意图;

图8是本发明的另一种在Allegro中创建文字块的系统结构示意图。

具体实施方式

下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。

实施例1

图2是本发明的在Allegro中创建文字块的方法流程示意图。如图2所示,本发明提供一种在Allegro中创建文字块的方法,所述方法包括以下步骤:

S1:通过Allegro的操作界面接收用户选择的文字类型和所述用户输入的文字;

如图3所示,本实施例通过在Allegro中嵌入软件,为用户提供一个用户界面,用户通过该界面可以选择需要输入的文字类型和文字的具体内容,用户可以输入任意文字、任意字体。

S2:获取所述用户输入的文字的轮廓数据,将其转换成由多个连续的点组成的封闭路径;

如图4所示,所述文字包括Windows TrueType字体,TrueType字体中的字符(或字形)轮廓由直线和二次贝塞尔曲线(bézier)片段构成。这些构建在数学上比平面设计界PostScript使用的三次贝塞尔曲线(也被Type1字体所使用)更容易处理。

轮廓数据其实是一个个封闭的边界路径,比如一个“口”字,因笔画是有宽度的,所以它包括两个框型路径(Path,里外各一个)。当然不同的字体其路径不同。这些路径是由多个连续的点数据描述,比如[(0,0)(20,0)(20,20)(0,20)(0,0)],表示从坐标(0,0)开始,横向移动到(20,0),再移动到(20,20),在移动到(0,20),最后回到(0,0),这样就是个封闭的框型路径(Path)。

S3:基于所述封闭路径在所述Allegro中创建所述文字的笔画的shape对象。

如图5所示,基于所述封闭路径在所述Allegro中创建所述文字的笔画的shape对象可以英文字符,也可以是中文、韩文等字体,这些文字的实际形态是shape对象,可被后期PCB程序和工艺(光绘和丝印)识别。

优选地,所述创建的文字的笔画的shape对象轮廓和填充两种模式。

如图6所示,如果生成shape对象的方式是轮廓型,则生成的是挖空的文字轮廓。

优选地,所述获取所述用户输入的文字的轮廓数据,包括:

使用C++微软基础类MFC中应用设备描述对象CDC,利用TextOut函数根据所述用户选定的字体和文字大小输出所述文字,通过GetPath函数获取所述文字的轮廓数据。

具体地,使用C++MFC(微软基础类Microsoft Foundation Classes)中应用设备描述对象CDC,在BeginPath和EndPath函数中间进行的任何图形绘制操作,其路径都将被记录,所以在他们中间只需使用选定的字体和大小进行文字的输出(通过TextOut函数),然后通过GetPath函数就可获取其轮廓数据。其中DC是一个包含设备:物理输出设备,如显示器,以及设备驱动程序信息的结构体,在Windows平台下,所有的图形操作都是利用DC来完成的。C++中在所有类前加字母C,即CDC。

优选地,所述基于所述封闭路径在所述Allegro中创建所述文字的笔画的shape对象,包括:

通过所述MFC取得所述文字的轮廓数据后,将其传回到Allegro中,利用skill的axlPathStart、axlPathLine、axlDBCreatePath函数在Allegro中创建出Allegro的path对象,使用axlDBCreateShape函数创建以所述Path对象为边界的Shape对象。

具体地,SKILL是cadenceallegro提供的二次开发语言,它是一种基于通用人工智能语言—Lisp的交互式高级编程语言,cadence为allegro提供了丰富的skill图形处理函数,包括根据给定的数据创建Shape的函数。在Allegro的command窗口中输入skill即可运行skill脚本。在SKILL中通过axlDllSym可加载使用C++编写的dll程序。

通过MFC取得轮廓数据后,将其传回到Allegro中,利用skill的axlPathStart、axlPathLine、axlDBCreatePath等函数在Allegro中创建出Allegro的path对象,再使用axlDBCreateShape函数创建以此Path为边界的Shape对象。这些shape在后续的处理中可被丝印程序识别并处理。

本实施例通过在Allegro中嵌入软件提供用户界面,用户能够输入任意文字、任意TrueType字体,并提供轮廓和填充两种模式,在Allegro中生成文字的全拟合图形,可在后期制作Gerber光绘文件时输出,用户界面友好,操作简单。

实施例2

图7是本发明的在Allegro中创建文字块的系统结构示意图。如图7所示,本发明还提供了一种在Allegro中创建文字块的系统,所述系统包括:

接收模块,用于通过Allegro的操作界面接收用户选择的文字类型和所述用户输入的文字;

获取模块,用于获取所述用户输入的文字的轮廓数据,将其转换成由多个连续的点组成的封闭路径;

创建模块,用于基于所述封闭路径在所述Allegro中创建所述文字的笔画的shape对象。

优选地,所述文字包括Windows TrueType字体,所述创建的文字的笔画的shape对象轮廓和填充两种模式。

优选地,所述获取所述用户输入的文字的轮廓数据,包括:

使用C++微软基础类MFC中应用设备描述对象CDC,利用TextOut函数根据所述用户选定的字体和文字大小输出所述文字,通过GetPath函数获取所述文字的轮廓数据。

优选地,所述基于所述封闭路径在所述Allegro中创建所述文字的笔画的shape对象,包括:

通过所述MFC取得所述文字的轮廓数据后,将其传回到Allegro中,利用skill的axlPathStart、axlPathLine、axlDBCreatePath函数在Allegro中创建出Allegro的path对象,使用axlDBCreateShape函数创建以所述Path对象为边界的Shape对象。

本实施例2中各个模块所执行的方法步骤的具体实施过程与实施例1中的各个步骤的实施过程相同,在此不再赘述。

实施例3

图8是本发明的另一种在Allegro中创建文字块的系统结构示意图。如图8所示,本发明还提供了另一种在Allegro中创建文字块的系统,所述系统包括:处理器、存储器,所述存储器存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现实施例1中的方法步骤,具体的实现过程可以参考实施例1中的方法步骤的实现过程,在此不再赘述。

实施例4

根据本发明的另一方面,本发明还提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现实施例1中的方法步骤,具体的实现过程可以参考实施例1中的方法步骤的实现过程,在此不再赘述。

以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是在本发明的构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。

相关技术
  • 一种在Allegro中创建文字块的方法和系统
  • 用于在文件系统中创建文件的方法和装置
技术分类

06120113034030