一种外部资源库调用方法及系统
技术领域
本发明涉及线体工艺规划领域与计算机领域,特别是涉及一种外部资源库调用方法及系统。
背景技术
目前,西门子旗下的软件Process Design与Process Simulation已经成为世界主流的工艺仿真软件,特别对于自动化线体的工艺规划与仿真,应用更加广泛。而且越来越多的集成商选择Process Design软件与Process Simulation软件用于工艺规划与仿真。
此软件在导入资源时,要求导入的所有资源先拷贝至设定好的目录下,一个项目对应着一个文件夹目录,在此目录以外的资源均无法加载进当前的项目。这有时候对于线体的集成商来说是十分麻烦的。如白车身线体集成商,若已经根据项目积累建立了本公司的标准资源库,如焊枪库、修磨器库、机器人库等等,都需要将资源拷贝至特定项目的目录下,才能导入软件中验证,经常出现选定的资源不符合要求,需要在库中重新挑选的反复过程。若将整个库拷贝至项目目录下,会造成项目数据的大量冗余,因为数据量大,甚至造成很严重的数据负担。
另外,在对项目进行前期仿真验证时,往往只是概念与方案验证,无法也不需要导入准确资源,此阶段导入项目中的资源在后期几乎全部会被更新替换。这部分资源也不需要进入项目文件夹中,增加项目资源的复杂性。
总的来说,目前在Process Designer软件中,无法快速、自动地导入软件所需资源,工作效率低下,存在大量数据冗余。
发明内容
为了解决上述的技术问题,本发明的目的是提供一种外部资源库调用方法及系统。
本发明解决其技术问题所采用的技术方案是:
一种外部资源库调用方法,包括步骤:
针对选定的目标目录,创建第一xml文件,并遍历该目标目录下的所有文件夹后,在第一xml文件中创建对应的节点;
将该第一xml文件自动导入Process Design软件中,生成记载外部资源引用关系的资源库;
针对选定的资源树进行项目化,从而,自动对资源节点对应的外部资源进行调用。
进一步,所述针对选定的目标目录,创建第一xml文件,并遍历该目标目录下的所有文件夹后,在第一xml文件中创建对应的节点的步骤中,通过以下方式判断遍历的文件夹类型:
判断文件夹的后缀来是否为cojt,若是,则判断该文件夹为资源文件夹,反之,判断该文件夹为普通文件夹。
进一步,所述针对选定的目标目录,创建第一xml文件,并遍历该目标目录下的所有文件夹后,在第一xml文件中创建对应的节点的步骤,包括以下步骤:
针对选定的目标目录,创建第一xml文件,并遍历该目标目录下的所有文件夹;
当遍历的文件夹为普通文件夹时,在第一xml文件中创建对应的文件夹节点,并继续遍历该文件夹下的所有文件夹;
当遍历的文件夹为资源文件夹时,在第一xml文件中创建对应的资源节点。
进一步,所述当遍历的文件夹为资源文件夹时,在第一xml文件中创建对应的资源节点的步骤,具体为:
当遍历的文件夹为资源文件夹时,在第一xml文件中创建对应的资源节点,创建过程中保留资源节点的层级结构,同时将当前路径作为资源节点对应的资源引用路径,并为资源节点赋予唯一的ID号。
进一步,所述ID号为当前目录转换得到的字符串。
进一步,所述针对选定的资源树进行项目化,从而,自动对资源节点对应的外部资源进行调用的步骤,包括以下步骤:
针对选定的资源树进行项目化,从而,自动将资源树的节点信息导出为第二xml文件并存储至第一临时目录中;
遍历第二xml文件中的资源节点,进而判断获得引用外部资源的资源后,自动将这些资源由外部目录拷贝至当前项目的对应目录下;
在资源文件夹下生成TuneData.xml文件,同时更改第二xml文件中资源节点的引用路径,并更改资源节点的ID号;
将第二xml文件另存至第二临时目录下,并自动导入Process Design软件中,实现对外部资源的调用。
进一步,所述第一xml文件和第二xml文件为符合Process Design软件导入规则的xml文件。
本发明解决其技术问题所采用的另一技术方案是:
一种外部资源库调用系统,包括存储介质和处理器,所述存储介质存储有至少一个指令,所述处理器用于加载所述至少一个指令,从而执行以下步骤:
针对选定的目标目录,创建第一xml文件,并遍历该目标目录下的所有文件夹后,在第一xml文件中创建对应的节点;
将该第一xml文件自动导入Process Design软件中,生成记载外部资源引用关系的资源库;
针对选定的资源树进行项目化,从而,自动对资源节点对应的外部资源进行调用。
进一步,所述针对选定的资源树进行项目化,从而,自动对资源节点对应的外部资源进行调用的步骤,包括以下步骤:
针对选定的资源树进行项目化,从而,自动将资源树的节点信息导出为第二xml文件并存储至第一临时目录中;
遍历第二xml文件中的资源节点,进而判断获得引用外部资源的资源后,自动将这些资源由外部目录拷贝至当前项目的对应目录下;
在资源文件夹下生成TuneData.xml文件,同时更改第二xml文件中资源节点的引用路径,并更改资源节点的ID号;
将第二xml文件另存至第二临时目录下,并自动导入Process Design软件中,实现对外部资源的调用。
本发明方法、系统的有益效果是:本发明通过对选定的目标目录进行遍历后,在第一xml文件中创建对应的节点,进而可以将第一xml文件自动导入Process Design软件,实现外部资源的引用,然后再通过对选定的资源树进行项目化,可以实现自动调用外部资源的目的,数据量少,可以自动导入,导入速度快,而且工作效率高,可以实现快速、高效的外部资源调用。
附图说明
图1是本发明的一种外部资源库调用方法的流程图;
图2是本发明的一种外部资源库调用方法的步骤S3的流程图;
图3是本发明的一种外部资源库调用方法的实施例二的主要流程图。
具体实施方式
实施例一
参照图1,本发明提供了一种外部资源库调用方法,包括步骤:
S1、针对选定的目标目录,创建第一xml文件,并遍历该目标目录下的所有文件夹后,在第一xml文件中创建对应的节点;这里,目标目录是指项目目录之外的其它目录,一般指某一类型设备的库目录;
S2、将该第一xml文件自动导入Process Design软件中,生成记载外部资源引用关系的资源库;
S3、针对选定的资源树进行项目化,从而,自动对资源节点对应的外部资源进行调用。
本方案,通过对选定的目标目录进行遍历后,在第一xml文件中创建对应的节点,进而可以将第一xml文件自动导入Process Design软件,实现外部资源的引用,然后再通过对选定的资源树进行项目化,可以实现自动调用外部资源的目的,数据量少,可以自动导入,导入速度快,而且工作效率高,可以实现快速、高效的外部资源调用。
进一步作为优选的实施方式,所述针对选定的目标目录,创建第一xml文件,并遍历该目标目录下的所有文件夹后,在第一xml文件中创建对应的节点的步骤中,通过以下方式判断遍历的文件夹类型:
判断文件夹的后缀来是否为cojt,若是,则判断该文件夹为资源文件夹,反之,判断该文件夹为普通文件夹。
进一步作为优选的实施方式,所述步骤S1,包括以下步骤:
针对选定的目标目录,创建第一xml文件,并遍历该目标目录下的所有文件夹;
当遍历的文件夹为普通文件夹时,在第一xml文件中创建对应的文件夹节点,并继续遍历该文件夹下的所有文件夹;
当遍历的文件夹为资源文件夹时,在第一xml文件中创建对应的资源节点。
进一步作为优选的实施方式,所述当遍历的文件夹为资源文件夹时,在第一xml文件中创建对应的资源节点的步骤,具体为:
当遍历的文件夹为资源文件夹时,在第一xml文件中创建对应的资源节点,创建过程中保留资源节点的层级结构,同时将当前路径作为资源节点对应的资源引用路径,并为资源节点赋予唯一的ID号。这里,唯一的ID号是指用于识别资源节点的、不重复的ID号。
进一步作为优选的实施方式,所述ID号为当前目录转换得到的字符串。
步骤S1和S2之后,Process Design软件可以实现引用外部资源的目的,但是,该资源的引用仍然在项目目录以外时,会对项目有外部资源无法打包发布,离线状态无法使用等情况,所以对于此类资源有必要进行“项目化”,使其引用变更为项目目录下的资源。因此,需要通过步骤S3来实现对外部资源的项目化。
进一步作为优选的实施方式,参照图2,所述步骤S3,包括以下步骤:
S31、针对选定的资源树进行项目化,从而,自动将资源树的节点信息导出为第二xml文件并存储至第一临时目录中;
S32、遍历第二xml文件中的资源节点,进而根据资源节点的资源类型,判断获得引用外部资源的资源后,自动将这些资源由外部目录拷贝至当前项目的对应目录下;
S33、在资源文件夹下生成TuneData.xml文件,同时更改第二xml文件中资源节点的引用路径,并更改资源节点的ID号;这里,更改资源节点的ID号的目的是,保证资源库的完整性;
S34、将第二xml文件另存至第二临时目录下,并自动导入Process Design软件中,实现对外部资源的调用。
通过步骤S31~S34后,可以完成外部资源的项目化,实现外部资源的直接调用,而且调用方式与Process Design软件自带导入资源方式导入的资源没有区别。
进一步作为优选的实施方式,所述第一xml文件和第二xml文件为符合ProcessDesign软件导入规则的xml文件。
实施例二
本实施例是在实施例一的基础上的细化实施例,本实施例的主要流程如图3所示,图3中,在步骤的开始,针对被选定的焊枪库目录,先遍历判断被选择的目标目录,即遍历焊枪库目录是否包含cojt文件夹,若是,则继续,否则提示,不再执行本步骤。
图3中,遍历当前目录的第一级子目录,遍历完成后将当前目录设置为TempDir变量中的值,TempDir变量是一临时变量,用于指向当前所遍历的目录位置。
通过图3中的方法实现导入来自外部资源的焊枪库的目的后,可以在ProcessDesign软件展开焊枪库,可以看到焊枪库已经导入软件,实际上,此时项目文件夹中无焊枪资源,焊枪资源的实体位置为原焊枪库目录的位置。通过此方式实现对外部资源的引用。
另外,还可以对基于图3方法引用的焊枪库进行项目化。项目化之后,焊枪实体资源被拷贝至项目目录下,Porcess Design软件中焊枪的资源库中也导入了相应选中的焊枪资源;而库中的焊枪保持完整,可继续使用。此时,资源树下的选中的焊枪资源的引用路径也已经修改成指向项目目录下的焊枪。这时即使把焊枪库删除,也不会影响选中焊枪继续在项目中使用。选中的焊枪资源与用Process Design软件原有的导入方式导入的资源是完全相同的。
实施例三
本发明还提供了一种外部资源库调用系统,包括存储介质和处理器,所述存储介质存储有至少一个指令,所述处理器用于加载所述至少一个指令,从而执行以下步骤:
针对选定的目标目录,创建第一xml文件,并遍历该目标目录下的所有文件夹后,在第一xml文件中创建对应的节点;
将该第一xml文件自动导入Process Design软件中,生成记载外部资源引用关系的资源库;
针对选定的资源树进行项目化,从而,自动对资源节点对应的外部资源进行调用。
进一步作为优选的实施方式,所述针对选定的资源树进行项目化,从而,自动对资源节点对应的外部资源进行调用的步骤,包括以下步骤:
针对选定的资源树进行项目化,从而,自动将资源树的节点信息导出为第二xml文件并存储至第一临时目录中;
遍历第二xml文件中的资源节点,进而判断获得引用外部资源的资源后,自动将这些资源由外部目录拷贝至当前项目的对应目录下;
在资源文件夹下生成TuneData.xml文件,同时更改第二xml文件中资源节点的引用路径,并更改资源节点的ID号;
将第二xml文件另存至第二临时目录下,并自动导入Process Design软件中,实现对外部资源的调用。
本实施例的外部资源库调用系统中,控制器可执行本发明实施例一所提供的外部资源库调用方法,可执行实施例一的任意组合实施步骤,具备该方法相应的功能和有益效果。
以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做出种种的等同变形或替换,这些等同的变型或替换均包含在本申请权利要求所限定的范围内。