具体实施方式
如在背景技术章节中所指出的,不同人员如对其责任范围而言适当的那样对产品数据的某些部分做出改变。典型地存在三种类型的产品部件数据。第一类型的产品数据是标识产品的变体的功能部件的配置数据。配置数据可以由组织的市场营销部门定义或与之相关联,并且可以对应于产品能力、特征或选项。如本文和随附权利要求中所定义的,“变体”应当被宽泛地理解成意指对应于功能部件的特定集合的产品的版本。如随后将参照附图更加详细地讨论的,示例工具柜产品可以以经济、中级和高级(deluxe)版本可得到。因此标识三个变体:经济工具柜、中级工具柜和高级工具柜。变体的更加复杂的示例可以是配备有诸如例如特定引擎、悬挂装置、轮胎、音频封装等等之类的选项的特定集合的汽车。
第二类型的产品数据是描述变体的物理部件的材料清单数据。材料清单数据典型地以分层次的形式来组织,所述分层次的形式反映如它被制造或要被制造的那样的产品的组件和子组件。例如,使用在组件中的物理部件可以本身是其它物理部件的较低级别子组件。对于物理部件,材料清单数据典型地至少包括其部件号和使用在层次的该级别处的部件的量。
第三类型的产品数据是可视地描绘变体的虚拟部件的计算机辅助设计(“CAD”)数据。CAD数据可以是二维(“2D”)或更常见地,三维(“3D”)的。用于虚拟部件的CAD数据典型地描述其形状、尺寸和在产品中的定位或位置,绝对或相对于其它虚拟部件。
在配置数据、材料清单数据或CAD数据中的一个或多个被维护在应用、数据库和系统(其未被集成)中的情况下,对一个系统中的部件数据做出的改变不引起对其它系统中的对应部件数据做出对应改变。换言之,一个数据库中的部件数据相对于至少一个其它数据库的部件数据是可异步修改的。结果得到的数据同步的缺乏对于作为整体的产品和组织二者都可能是成问题的。
考虑具有数百或甚至数以千计的部件的产品的示例,诸如汽车。许多用户可以在一段时间内对功能、物理和虚拟部件做出数百个改变。组织内的其他用户期望以集成的方式查看对应于特定变体的功能部件的虚拟和物理部件。这样的用户可以是例如通过参考其视觉外观来标识替换部件的服务手册或所有者的撰写者;试图标识产品的最昂贵部件的金融分析者;尝试查明超过可允许的缺陷阈值的产品部件的质量管理者;或者组装产品的制造团队。
然而,集成的视图依赖于具有同步的CAD、材料清单和功能部件数据。典型地,同步已经是通过使用文本地查看和搜索的电子表格执行的手动过程。每当集成和聚合部件数据时,都是匹配用于整个产品的每一个部件/子组件的手动过程。添加的复杂性层次在于手动生成电子表格的用户典型地不可以访问维护部件数据的不同数据库和应用,或者不具有操作这样的应用的专门知识。可以领会到的是,手动过程是耗时且易出错的,特别是在其中存在组成产品的数百或数千部件并且要匹配它们的情况下。另外,对各种部件的改变的历史典型地难以访问。
而且,由于当部件数据被维护在分离的系统、应用和数据库中时通常发生的不一致性,不仅知晓可以匹配的部件数据,而且还知晓失配的部件数据是有益的。手动发现失配的数据是耗时且昂贵的,因为越进一步在发现失配的商务过程内,解决失配就变得越复杂。
现在参照附图,图示了依照本公开而构造的产品智能引擎的示例,所述产品智能引擎具有确定在可异步修改的功能部件、物理部件和虚拟部件之中的匹配和非匹配的匹配引擎。产品智能引擎中的可视化指令构建器生成指令,所述指令控制可视化引擎针对变体的用户选择的一个而呈递(render)用于匹配的部件的CAD数据和材料清单数据并且针对非匹配的部件而呈递可用于解决非匹配的帮手信息。
现在进一步详细地考虑产品部件数据,并且进一步参照图1,用于每一个功能部件100的配置数据包括功能部件标识符102和变体数据104。典型地,功能部件标识符102是功能部件名称。变体数据104为功能部件100指定用于一个或多个变体特性中的每一个的至少一个变体。变体特性的示例集合例如可以包括产品、级别、制造工厂、构建日期、型式年份、地理区域和/或其它特性。变体特性的其它集合可以包括更多、更少或不同的特性。对于产品特性,所指定的变体可以是例如文件机柜(cabinet)、工具柜或书柜。对于工具柜产品的级别特性,所指定的变体可以是例如经济模型、中级模型或高级模型。其它特性是类似的。
用于每一个物理部件120的材料清单数据包括物理部件标识符122和部件数据124。典型地,物理部件标识符122是部件号,或者在一些情况中,是对应于物理部件120的功能部件名称。部件数据124指定针对由物理部件标识符122标识的物理部件120的部件特性。部件特性的示例集合例如可以包括产品(诸如工具柜)、级别(诸如经济、中级或高级)、数量、部件的仓库位置、部件制造商、制造商的部件号(其可以不同于物理部件标识符122的部件号)以及关于部件的附加数据,诸如除其它之外的其规范、描述、成本、颜色和/或图像。此外,未被用作物理部件标识符122的部件号或功能部件名称中的无论哪一个作为部件特性而被包括在部件数据124中。
用于每一个虚拟部件140的CAD数据包括虚拟部件标识符142、几何数据144和元数据146。典型地,虚拟部件标识符122是包含几何数据的CAD数据文件的名称,或者在一些情况中是对应于虚拟部件140的功能部件名称。几何数据144和元数据146共同地指定针对由虚拟部件标识符142标识的虚拟部件140的部件特性。几何数据144典型地包括可以从任何角度查看的3D虚拟模型、如由从中性设计定位的变换(移动)和旋转所定义的其在3D空间中的位置和其中所有部件可以具有共享的变换和旋转的虚拟组装中的部件的分组。在一些情况中,几何数据144还可以包括一些非几何信息,诸如例如应用于虚拟部件以便模拟金属、塑料、木材等等的外观的虚拟纹理或材料。由元数据146指定的信息的示例集合可以包括例如,如在这以前已经描述的产品和级别。此外,未被用作虚拟部件标识符142的CAD数据文件名或功能部件名称中的无论哪一个也可以被包括在元数据146中。
现在考虑处理经异步修改的配置数据、材料清单数据和CAD数据以确定功能、物理和虚拟部件之间的匹配和非匹配并且提供可用于解决非匹配的帮手信息的系统,并且参照图2,系统200包括产品智能引擎(“PIE”)210。PIE 210耦合到至少一个外部PLM/CAD系统202。CAD数据140从PLM/CAD系统202获得。在一些示例中,PLM/CAD系统202可以包括CAD子系统和PLM(产品生命周期管理)子系统;在其它示例中,这些可以是两个分离的系统。典型地,具有几何数据144的CAD文件从CAD系统/子系统获得,而元数据146从PLM系统/子系统获得。元数据146不被包括在CAD文件本身中,并且不能单独地从CAD文件确定。一些商业可用的PLM系统的示例包括Siemens Teamcenter、Dassault Enovia、PTC Windchill和SAP PLM。一些商业可用的CAD系统的示例包括Siemens NX、Dassault CATIA和PTC Pro E。
PIE 210还耦合到至少一个外部商务信息系统204。配置数据100和材料清单120从商务信息系统204获得。在一些示例中每一个从不同的商务信息系统204获得。商业可用的商务信息系统的示例包括Oracle Enterprise Business Suite(企业商务套件)和SAP ERP。
PIE 210中的系统访问模块212定义到(多个)PLM/CAD系统202和(多个)商务信息系统204的接口。系统访问模块212具有从(多个)PLM/CAD系统202和(多个)商务信息系统204获得数据的知识和访问特权。作为结果,PIE 210的用户有利地不需要该知识或访问特权。
PIE 210中的数据转化器模块214从系统访问模块212接收数据并且将以原生格式存储在系统202,204中的数据变换成可用于进一步处理的PIE 210的内部格式。在一些示例中,CAD数据、配置数据和材料清单数据中的至少两个的原生格式是不同的。数据转化器模块214生成功能部件数据100、物理部件数据120和虚拟部件数据140,并且将该信息存储在部件数据存储装置216中。在一些示例中,几何数据144本身可以不被导入到PIE中,而是相反,对几何数据144的CAD系统/子系统上的位置进行指定的CAD文件名。
除了从外部系统202,204获得部件数据之外,系统访问模块212还典型地从这些系统获得部件历史数据。部件改变历史数据反映随时间对部件数据做出的改变。例如,每当部件改变配合(fit)、形式或功能时,都可以向它指派新的部件号。考虑这样的情况:其中部件号1234被部件号5678替换,部件号5678然后被部件号9876替换。可以领会到,对物理部件或虚拟部件做出的这种类型的改变可以引起功能部件数据100、物理部件数据120和虚拟部件数据140脱离同步。例如,部件1234可以是滑入和滑出开口的抽屉。设计新的抽屉,其由更加耐压痕的不同合金制成,并且被给予部件号5678。然后,利用新的烤上(baked-on)的涂料改善抽屉,并且给予其部件号9876。在该情况中,物理部件已经改变,但是虚拟部件尚未改变。
以原生格式存储在系统202,204中的部件改变历史数据由转化器214变换成由PIE 210可使用的PIE 210的内部格式以帮助标识在何处新的部件已经替换产品中较旧的部件。部件历史数据典型地指示这样的改变的序列(例如1234,到5678,到9876)。部件历史数据还可以存储在部件数据存储装置216中。
终端用户设备206耦合到PIE 210。用户与终端用户设备206交互以向PIE 210传送命令和数据。为了发起PIE 210的部件匹配操作,用户指定感兴趣的特定变体220。为此目的,用户可以被呈现有例如允许他指定产品(例如工具柜)、级别(例如经济、中级、高级)、型式年份、制造工厂、构建日期和地理区域中的一个或多个的可填充表单。
将所指定的变体数据提供给PIE 210的匹配引擎230。匹配引擎230访问被存储在数据存储装置216中的部件数据和部件改变历史数据,并且处理该数据以确定在功能部件100与物理部件120和虚拟部件140二者之间的匹配和非匹配。在一些示例中,针对所有功能部件100执行匹配和非匹配的确定。在其它示例中,针对被包括在用户指定的变体中的功能部件100执行匹配和非匹配的确定。例如,如果用户在可填充表单中指定产品=“工具柜”并且级别=“中级”,同时使其它条目留空,则匹配引擎230中的部件过滤器232过滤功能部件100以标识其变体数据104指定它们被使用在中级工具柜中的那些部件100,并且然后执行匹配操作。匹配操作的结果可以存储在匹配基线234中。确定针对所有功能部件100的匹配和非匹配花费比确定针对对应于所指定变体的功能部件100的子集的匹配和非匹配更多的时间。然而,对于不同变体的后续用户请求可以完成得更加迅速,因为所存储的匹配基线234已经包含针对所有功能部件100的匹配/非匹配结果。此外,在所存储的匹配基线234随时间而保持的情况下,匹配引擎230可以再使用被存储在基线234中的结果以用于未改变的部件,并且确定针对任何添加或改变的部件的匹配和非匹配。这还可以有利地加速响应时间。
在一些示例中,匹配引擎230首先使用部件标识符102,122,142来确定匹配和非匹配。在这些标识符不匹配的情况下,匹配引擎230然后另外使用诸如物理部件数据124和虚拟部件元数据146之类的物理部件和虚拟部件的特性来确定匹配和非匹配。在其中标识符不匹配的情况下,匹配引擎230的部件历史调解器236处理针对部件100,120,140的部件改变历史数据以通过参考随时间对部件做出的改变来确定匹配和非匹配。
可视化引擎(“VE”)280被用于向用户传送由PIE 210执行的匹配操作的结果。终端用户设备206耦合到VE 280,用户可以与之交互。由匹配引擎230确定的针对用户指定的变体220的匹配和非匹配238被传送到PIE 210中的可视化指令构建器(“VIB”)250。在其中已经针对所有功能部件100执行了匹配和非匹配的确定的情况下,部件过滤器232在将它们传送到VIB 250之前首先过滤对用户指定的变体的那些的结果。VIB 250然后构建可视化指令252的流,所述可视化指令被发送到VE 280以指令VE 280如何向终端用户设备206显示匹配和非匹配结果。商业可用的可视化引擎的示例包括SAP Visual Enterprise(可视企业), Team Center Visualization(团队中心可视化)和Anark Core(核心)。
VIB 250生成指令,所述指令控制VE 280以针对用户选择的变体220呈递关于匹配部件和非匹配部件的表格式信息。对于匹配部件,VIB 250还生成指令,所述指令控制VE 280以针对用户选择的变体220而呈递针对匹配部件的CAD数据和材料清单数据。此外,在用户指定的可视上下文254中呈递CAD数据。可视上下文指定在该处用户期望对匹配进行可视化的产品上下文。例如,并且如随后将更加详细地讨论的,用户可能希望可视化整个工具柜,或者仅工具柜的特定抽屉。为了构建用于在所指定的上下文中可视化匹配的部件的指令,VIB 250利用产品的可视谱系260。可视谱系260由数据转化器214生成,典型地通过处理针对虚拟部件140的几何数据144以构建指示产品的变体的可视部件层次的部件谱系树。在一些示例中,VIB 250将匹配的部件定位在对应于针对用户指定的变体的用户指定的上下文的谱系树中,并且然后构建指令以可视化该部件及其较低级别的匹配部件。
对于非匹配部件,VIB 250也生成指令,所述指令控制VE 280呈递可用于解决非匹配的帮手信息。如果功能部件不被物理部件和虚拟部件二者匹配则发生完全非匹配。在发生完全非匹配的情况下,帮手信息典型地包括非匹配的功能部件的部件标识符,并且在一些示例中还可以包括针对功能部件的一些或全部变体数据。
当功能部件匹配物理部件但不匹配虚拟部件时,或者当功能部件匹配虚拟部件但不匹配物理部件时结果导致部分非匹配。例如,如果功能部件匹配虚拟部件但不匹配物理部件,则帮手信息可以包括虚拟部件的一般图像。作为另一示例,如果功能部件匹配物理部件但不匹配虚拟部件,则帮手信息可以包括针对物理部件的某些部件数据124。在两种情况中,帮手信息都可以包括针对非匹配部件的部件改变历史信息。
在发生非匹配的情况下,用户期望解决非匹配。由VE 280呈现给用户的帮手信息可以帮助用户解决非匹配。在一些情况中,用户通过布置成使部件100,120,140中的一个或多个在(多个)商务信息系统204和/或(多个)PLM/CAD系统202中被修改来解决非匹配。在其它情况中,用户通过向PIE 210指定覆盖(override)数据256来解决非匹配。覆盖数据256可以指令VIB 250忽略非匹配,或者可以指令VIB 250如何解决非匹配。例如,用户可以确定,由于历史数据中的间隙,具有部件标识符A的物理部件匹配具有部件标识符B的虚拟部件,并且可以将这作为覆盖数据256向PIE 210指定。覆盖数据256可以存储在PIE 210中的覆盖历史存储装置258中以用于在针对其它变体的后续匹配操作期间或随时间的持久性。
现在将参照图3-9来考虑关于配置、材料清单和CAD数据的示例集合的产品智能系统200的操作。现在考虑示例工具柜产品,并且参照图3-4,工具柜产品在三个级别中可得到:经济302、中级304和高级306。三个级别的工具柜各自共享共同的一些部件:机柜主体312、浅抽屉314、中等抽屉316和抽屉把手318。中级304和高级306工具柜共享轮组件322。高级工具柜306使用抽屉把手装饰324和侧把手326。中级工具柜304使用深抽屉328。将领会到,工具柜302-306使用多个部件314-324,328,但是为了图示的清楚,并非所述多个部件中的所有都标记有参考标志符。
现在考虑与工具柜产品相关联的部件数据,并且参照图4,图示了针对工具柜产品的配置数据、材料清单数据和CAD数据的部分。示例配置数据402具有八个功能部件,其对应于图3的部件312-328。针对每一个功能部件而图示的变体数据的部分示出级别字段,所述级别字段指示对应功能部件使用在经济级别工具柜302(“E”)、中级级别工具柜304(“M”)和高级级别工具柜306(“D”)的哪个中。例如,配置数据指示浅抽屉314使用在所有三个工具柜级别E,M,D中,而深抽屉328使用在中级工具柜级别M中。
对于每一个功能部件312-328,用于材料清单数据404中的对应物理部件和CAD数据406中的虚拟部件的部件标识符被图示在图4的相同行中。可以领会到,对于一些部件,诸如机柜主体312,部件标识符对于功能、物理和虚拟部件是相同的。对于其它部件,特定部件的部件标识符中的一些或全部是不同的。
图5图示了终端用户设备206上的示例屏幕显示500。显示500由可视化引擎280(图2)响应于由产品智能引擎210生成的可视化指令252而生成。PIE 210基于图4的示例配置数据402、材料清单数据404和CAD数据406而生成响应于变体220和上下文254的用户输入的可视化指令252。在该示例中,用户指定用于工具柜产品的中级级别的所期望的变体502。用户还指定用于显示匹配部件的CAD数据的所期望的可视上下文504是整个中级工具柜。一旦已经输入了这些用户选择,PIE 210从系统202,204获得和转化数据,利用匹配引擎230执行匹配操作,并且利用可视化指令构建器250生成可视化指令252。可视化指令252被传送至可视化引擎280,其进而生成被呈现在终端用户设备206上的显示500。
考虑针对示例配置数据402的更加详细的匹配操作,假定部件过滤器232首先被用于过滤功能部件的完整集合402以标识特定于中级工具柜的那些。过滤操作确定侧把手326和抽屉把手装饰324功能部件未被使用在中级工具柜中,并且因此对于这些部件将不试图进行匹配。匹配引擎230然后在针对用于机柜主体312、浅抽屉314、中等抽屉316、深抽屉328、抽屉把手318和轮组件322的功能部件的配置数据402、材料清单数据404和CAD数据406之中执行匹配操作。机柜主体312、中等抽屉316和轮组件322可以使用它们的部件标识符来匹配,所述部件标示符对于功能、物理和虚拟部件是相同的。然而,在用于浅抽屉314、深抽屉328、和抽屉把手318的功能部件的情况下,用于物理部件和/或虚拟部件的部件标识符不匹配功能部件标识符。因此,用于物理部件和/或虚拟部件的部件特性和/或部件改变历史由匹配引擎230处理以确定是否存在针对功能部件的匹配。例如,假定在之前的某个时间点,用于浅抽屉314的物理部件标识符从“浅抽屉”改变成“5英寸抽屉”。匹配引擎230处理物理部件的改变历史并且确定具有部件标识符“5英寸抽屉”的物理部件是用于浅抽屉314的当前部件标识符。作为另一示例,假定在之前的某个时间点,用于深抽屉328的虚拟部件标识符从“深抽屉”改变成“扩展的抽屉”。匹配引擎分析针对虚拟部件的元数据146(图1)和/或几何数据144并且确定具有部件标识符“扩展的抽屉”的虚拟部件是用于深抽屉328的当前部件标识符。例如,元数据146可以指示该虚拟部件使用在中级工具柜中。
针对图4的示例数据而生成的、由可视化引擎280处理的可视化指令252导致屏幕显示500。屏幕显示500包括表格式部分510。表格式部分典型地指示变体502的各种功能部件及其匹配的虚拟部件和物理部件。在表格510中,每一行对应于不同的功能部件及其匹配的虚拟部件和物理部件。功能部件标识符在列512中示出,虚拟部件标识符在列514中,并且物理部件标识符在列516中。还可以显示关于部件的附加信息。在表格510中,例如,物理部件号显示在列518中,并且使用在变体中的物理部件的数量显示在列510中。列522中的“M”指示:对应的功能部件已经匹配于虚拟部件和物理部件二者。可以领会到,在其它示例中,可以显示针对部件的不同数据和表格式部分的不同布置。
屏幕显示500还包括可视部分530。可视化引擎280,如由可视化指令252指令的那样,使用针对匹配部件的CAD数据来可视地显示匹配操作的结果。在一些示例中,显示在可视部分530中的图像可以由与可视化引擎280交互的用户来操纵(例如旋转、缩放等)。
由系统200产生的屏幕显示可以帮助用户解决非匹配的部件。参照图6,考虑针对其中产品智能引擎210确定针对特定功能部件存在非匹配的情况的示例屏幕显示600。假定对于用于机柜主体312的功能部件,找到匹配的物理部件,但是不能找到匹配的虚拟部件。这在表格式部分610中由针对列614中的虚拟ID的“***无匹配***”条目和列622中的“NM”(无匹配)指示符来指示。因此,表格式部分610以不能匹配的功能部件的标识和虚拟部件和/或物理部件中哪一个不能匹配到该功能部件的标识的形式来提供帮手信息。
可视部分630图示了对应于匹配操作的结果的图像。在可视部分630中图示中级工具柜的各种抽屉和轮子,但是不存在机柜主体被包括在可视部分630中,因为没有对应于机柜主体的虚拟部件被匹配。可以领会到,图示在可视部分630中的抽屉和轮组件被正确地定位但是实际上“浮动”,因为不存在将它们绑在一起的机柜主体。
屏幕显示600还包括附加的帮手信息。在该示例中,帮手信息包括机柜主体的一般描绘640。该描绘640可以例如是被包括在针对机柜主体物理部件312的部件数据124(图1)中的部件图像。可以领会到,机柜主体的一般描绘640不是恰当的机柜主体,因为其特征中的一些是不同的;例如,所图示的一般机柜主体640将不容纳被图示在可视部分630中的抽屉的左列。然而,一般机柜主体640提供关于非匹配的部件的充足一般信息以帮助用户解决非匹配。
现在更加详细地考虑用于屏幕显示500,600的可视上下文,并且参照图7,从可视谱系260(图2)得到可视上下文。如在这之前已经讨论的,可视谱系260由数据转化器214生成并且指示变体的可视部件层次。在用于中级工具柜的变体的示例可视谱系700中,将父代图示到左侧,并且将子代图示到右侧。谱系700的每一个框对应于用户可选的可视上下文。当用于特定上下文的框被选择时,屏幕显示将包含针对该框和针对在所选框的右侧的树中所有框的虚拟部件的描绘。
图5-6的“工具柜中级”可视上下文504,604对应于可视谱系700的工具柜中级框710。工具柜中级框710使得处于该级别或在该级别以下的所有匹配部件(即机柜主体、抽屉、抽屉把手和轮组件)被显示在可视部分530,630中。现在考虑从“工具柜中级”上下文504到“抽屉行1右”上下文804的可视上下文中的改变的效果,并且参照图8。“抽屉行1右”上下文804对应于可视谱系700的抽屉行1右框720。作为结果,处于该级别或在该级别以下的所有匹配部件(即右侧最上机柜槽的浅机柜抽屉和抽屉把手)被显示在可视部分830中。在非匹配的情况中,改变上下文可以帮助用户通过视觉上更加特定地聚焦于受非匹配影响的产品的部分上来解决它们。
现在考虑使产品可视化的方法的流程图,参照图9。可替换地,图9的流程图可以被视为由处理器执行的计算机可读指令所实现的方法中的步骤。方法900在902处开始,通过在产品智能引擎处从至少一个外部系统接收标识产品变体的功能部件的配置数据、描述变体的物理部件的材料清单数据和可视地描绘变体的虚拟部件的CAD数据。配置数据、材料清单数据和CAD数据是独立和异步地可修改的。在904处,在引擎处接收变体之一的用户选择。
在906处,显示二者都匹配功能部件的虚拟部件和物理部件的CAD数据和材料清单数据。在一些示例中,在908处,利用产品智能引擎确定在功能部件与物理部件和虚拟部件二者之间的匹配和非匹配。在一些示例中,在910处,对于用户选择的变体之一的功能部件执行确定;而在其它示例中,在912处,对于所有功能部件执行确定。在一些示例中,在914处,使用与功能、物理和/或虚拟部件相关联的部件标识符、部件数据和部件元数据中的一个或多个来执行确定。
在918处,针对不匹配物理部件和虚拟部件二者的功能部件而显示可用于解决非匹配的帮手信息。在一些示例中,在920处,帮手信息包括针对非匹配部件的部件历史信息和/或非匹配部件的一般可视表示。
现在考虑处理可异步修改的配置数据、材料清单数据和CAD数据以确定功能、物理和虚拟部件之间的匹配和非匹配并且提供可用于解决非匹配的帮手信息的另一系统,并且参照图10,系统1000包括产品智能引擎(“PIE”)1010。PIE 1010具有耦合到存储器1020的处理器1012。存储器1020包括存储在存储器1020中的产品智能引擎程序1022。程序1022具有由处理器1012可执行以实现产品智能引擎的功能性的指令。在一些示例中,产品智能引擎1010可以是产品智能引擎210。
从前文将领会到,由本公开提供的引擎和方法表示本领域中的显著进步。尽管已经描述和图示了若干特定示例,但是本公开不限于如此描述和图示的特定方法、形式或部件的布置。该描述应当被理解成包括本文所描述的元件的所有新颖和非显而易见的组合,并且可以在本申请或稍后的申请中为这些元件的任何新颖和非显而易见的组合而呈现权利要求。前述示例是说明性的,并且没有单个特征或元件对于可以在本申请或稍后的申请中要求保护的所有可能组合是必需的。除非另行指定,否则方法权利要求的步骤不需要以所指定的次序执行。类似地,图解中的块或数字(诸如(1),(2)等)不应当解释为必须以特定次序进行的步骤。可以添加附加的块/步骤,移除一些块/步骤,或者变更块/步骤的次序并且仍在所公开的示例的范围内。另外,在不同图内讨论的方法或步骤可以被添加到其它图或者与其它图中的方法或步骤交换。还另外地,特定数字数据值(诸如特定数量、号码、类别等)或其它特定信息应当被解释为说明性的以用于讨论示例。这样的特定信息不被提供来限制示例。取向和相对定位(诸如“顶部”、“底部”、“侧部”等等)的术语不意图要求任何元件或组件的特定取向,并且仅仅用于图示和描述的便利性。本公开不限于以上描述的实现,而是代替地由随附权利要求鉴于其等同物的完整范围而限定。在权利要求陈述其等同物的“一”或“第一”元件的地方,这样的权利要求应当被理解为包括一个或多个这样的元件的合并,其既不要求也不排除两个或更多这样的元件。