1.本发明涉及计算机技术领域,尤其涉及一种图库图元配置方法、装置、电子设备和存储介质。
背景技术:2.cad(computer aided design,计算机辅助设计)软件是目前应用最为广泛的通用计算机辅助设计和绘图软件,具有强大的二维绘图能力与编辑功能。cad二次开发可用于定制和扩展cad功能,autocad或国产cad软件均支持二次开发。其中,常用的二次开发接口有autolisp、.net和objectarx等。通过上述接口可以在cad界面中增加图库面板,开发形成cad应用程序插件,在cad中加载插件后,用户绘图界面中可以显示出具有专业特色的自定义图库。
3.通过二次开发方式添加的图元实体类型分为块实体和自定义实体。块实体是cad中自带的一种类型,可以直接使用其提供的接口进行操作,所有二次开发接口都可以通过块实体的方式定义和绘制图元。自定义实体是objectarx二次开发方式特有的,由于objectarx与autocad共享地址空间,其可以快速地访问和操作autocad图形数据库。在cad基类实体的基础上,开发者可以创建一种新的实体,即为自定义实体。自定义实体的绘制与修改等操作均可由开发者重新定义。
4.然而,采用块实体定义的方式需要预先将图元的属性设置在图块定义的dwg文件中,需要对每一个图元定义一遍属性,相同类别的图元通常具有同样的属性域,但是仍然需要对每一个图元定义属性,重复量大。并且,每一个新的图元都需要一个对应的dwg文件,由于各行业的专业性图库需要大量图元,即使只需改部分特征,也需要创建一个新的图元dwg文件,当图元量大时,图元的修改和维护难度较大。采用自定义实体的方式可以在程序中对每一类自定义实体添加属性,但是使用这种方式需要在程序中定义属性,如果需要修改属性定义,则需要修改程序源码,并且仍然需要给每一个图元设置一个dwg文件。
技术实现要素:5.本发明提供一种图库图元配置方法、装置、电子设备和存储介质,用以解决现有技术中图元配置操作繁琐、重复工作量大的缺陷。
6.本发明提供一种图库图元配置方法,包括:
7.读取图库图元配置文件和图元属性配置文件;所述图库图元配置文件中包含各图元的子图元组成描述;
8.加载图库时,基于所述图库图元配置文件,动态组装各个子图元,形成对应的父类图元,并基于所述图元属性配置文件,对所述父类图元进行动态属性配置。
9.根据本发明提供的一种图库图元配置方法,所述加载图库时,基于所述图库图元配置文件,动态组装各个子图元,形成对应的父类图元,具体包括:
10.确定面板中的被选择图元;
11.基于所述图库图元配置文件中所述被选择图元的子图元组成描述,确定所述被选择图元的各个子图元的相对坐标;
12.基于所述被选择图元的各个子图元的相对坐标,将各个子图元组合绘制在所述工作空间中,形成所述被选择图元对应的父类图元。
13.根据本发明提供的一种图库图元配置方法,所述基于所述被选择图元的各个子图元的相对坐标,将各个子图元组合绘制在所述工作空间中,具体包括:
14.基于所述被选择图元在工作空间中的插入点坐标,以及所述各个子图元的相对坐标,确定各个子图元在所述工作空间中的绝对坐标;
15.读取各个子图元的dwg文件;
16.基于各个子图元在所述工作空间中的绝对坐标,将对应子图元的dwg文件绘制在所述工作空间中。
17.根据本发明提供的一种图库图元配置方法,所述图元属性配置文件中包含每一类图元包含的属性信息。
18.根据本发明提供的一种图库图元配置方法,所述基于所述图元属性配置文件,对所述父类图元进行动态属性配置,具体包括:
19.基于所述父类图元的类型,从所述图元属性配置文件中查询所述父类图元的属性信息;
20.将所述父类图元的属性信息存储在所述父类图元的扩展字典中。
21.根据本发明提供的一种图库图元配置方法,所述读取图库图元配置文件和图元属性配置文件,具体包括:
22.获取所述图库图元配置文件和所述图元属性配置文件;
23.对所述图库图元配置文件和所述图元属性配置文件进行反序列化提取,得到各图元的图元配置信息以及各类图元的属性信息;
24.基于各图元的图元配置信息以及各类图元的属性信息,将图元和图元属性按图元类型进行关联。
25.根据本发明提供的一种图库图元配置方法,所述图库图元配置文件和所述图元属性配置文件为结构化数据或半结构化数据。
26.本发明还提供一种图库图元配置装置,包括:
27.配置文件读取单元,用于读取图库图元配置文件和图元属性配置文件;所述图库图元配置文件中包含各图元的子图元组成描述;
28.图库动态加载单元,用于加载图库时,基于所述图库图元配置文件,动态组装各个子图元,形成对应的父类图元,并基于所述图元属性配置文件,对所述父类图元进行动态属性配置。
29.本发明还提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述任一种所述图库图元配置方法的步骤。
30.本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述图库图元配置方法的步骤。
31.本发明提供的图库图元配置方法、装置、电子设备和存储介质,通过读取图库图元
配置文件和图元属性配置文件,并在加载图库时,基于图库图元配置文件,动态组装各个子图元,形成对应的父类图元,并基于图元属性配置文件,对父类图元进行动态属性配置,减少了图元配置的复杂度,提高了图元配置的灵活性和通用性。
附图说明
32.为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
33.图1为本发明提供的图库图元配置方法的流程示意图;
34.图2为本发明提供的图库图元配置方法的简要示意图;
35.图3为本发明提供的图库图元配置文件的示例性配置;
36.图4为本发明提供的图元属性配置文件的示例性配置;
37.图5为本发明提供的图库图元配置装置的结构示意图;
38.图6为本发明提供的电子设备的结构示意图。
具体实施方式
39.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
40.图1为本发明实施例提供的图库图元配置方法的流程示意图,如图1所示,该方法包括:
41.步骤110,读取图库图元配置文件和图元属性配置文件;图库图元配置文件中包含各图元的子图元组成描述;
42.步骤120,加载图库时,基于图库图元配置文件,动态组装各个子图元,形成对应的父类图元,并基于图元属性配置文件,对父类图元进行动态属性配置。
43.具体地,图库图元配置文件用于定义图库中的各图元,其中包含有各图元的配置信息,例如各图元的子图元组成描述。此处,图库图元配置文件中可以包括但不限于图元的类别、图元的名称、图元的缩略图、图元执行命令、子图元组成描述和图元属性等。其中,图元的子图元组成描述中可以包括但不限于子图元的文件所在路径和子图元的偏移量,且子图元组成描述中至少包含一个子图元的描述;图元属性可以包括但不限于属性名称及其对应的属性值。图元属性配置文件中可以包括但不限于各图元的属性名称、属性类型和属性含义等。
44.当图库图元配置文件和图元属性配置文件被定义完毕或更新完毕后,可以读取上述图库图元配置文件和图元属性配置文件。
45.在加载图库的过程中,可以基于图库图元配置文件,动态组装各个子图元,形成对应的父类图元。具体而言,可以根据图库图元配置文件中各图元对应的子图元组成描述,确定各个图元是由何种子图元组合而成。在加载图库时,可以依据各个图元的上述组合信息,
将各个子图元动态组装成对应的父类图元。此外,还可以基于图元属性配置文件,对父类图元进行动态的属性配置。
46.本发明实施例将图库中的图元拆解为各个基础的子图元,并在图库图元配置文件中对各图元包含的子图元进行描述,使得可以在加载图库时将多个子图元动态组装成对应的父类图元,而无需为每一个图元均绘制和存储对应的dwg文件,减少了图元配置的复杂度,提高了图元配置的灵活性。
47.此外,图元和属性的定义分别存储在独立的配置文件中,与软件编码相分离,且上述图元配置过程是在图库加载过程中动态完成的。因此,当设计人员需要对图库中的图元配置进行修改时,例如需要修改图元的子图元组成或部分属性时,仅需要对应更新图库图元配置文件或图元属性配置文件,而无需重新编译软件。更新图库图元配置文件或图元属性配置文件之后,再执行图库的加载过程,即可实现图元配置的动态更新,进一步提高了图元配置的灵活性和通用性。
48.本发明实施例提供的方法,通过读取图库图元配置文件和图元属性配置文件,并在加载图库时,基于图库图元配置文件,动态组装各个子图元,形成对应的父类图元,并基于图元属性配置文件,对父类图元进行动态属性配置,减少了图元配置的复杂度,提高了图元配置的灵活性和通用性。
49.基于上述实施例,加载图库时,基于图库图元配置文件,动态组装各个子图元,形成对应的父类图元,具体包括:
50.确定面板中的被选择图元;
51.基于图库图元配置文件中被选择图元的子图元组成描述,确定被选择图元的各个子图元的相对坐标;
52.基于被选择图元的各个子图元的相对坐标,将各个子图元组合绘制在工作空间中,形成被选择图元对应的父类图元。
53.具体地,对于使用objectarx开发包预先定义好的一个或多个自定义实体类,可以根据图库图元配置文件中的图元定义,动态对图元类型所对应的自定义实体类进行实例化和配置。
54.具体而言,用户点击图库面板中的图元后,可以确定当前面板中的被选择图元。基于图库图元配置文件中被选择图元的子图元组成描述,可以确定上述被选择图元中包含的各个子图元的相对坐标。其中,各个子图元的相对坐标可以指示各个子图元在对应父类图元中的相对位置关系。此处,可以根据子图元组成描述中子图元的偏移量,确定各个子图元的相对坐标。根据各个子图元的相对坐标,可以将各个子图元组合绘制在工作空间中,形成上述被选择图元对应的父类图元。
55.基于上述任一实施例,基于被选择图元的各个子图元的相对坐标,将各个子图元组合绘制在工作空间中,具体包括:
56.基于被选择图元在工作空间中的插入点坐标,以及各个子图元的相对坐标,确定各个子图元在工作空间中的绝对坐标;
57.读取各个子图元的dwg文件;
58.基于各个子图元在工作空间中的绝对坐标,将对应子图元的dwg文件绘制在工作空间中。
59.具体地,当用户选中图元在工作空间的插入点后,获取该被选择图元在工作空间中的插入点坐标。结合被选择图元在工作空间中的插入点坐标,以及各个子图元的相对坐标,可以确定各个子图元在工作空间中的绝对坐标。读取各个子图元的dwg文件。此处,各个子图元的dwg文件可以存储于图元源文件目录中,该目录中还可以存储各子图元的缩略图,其中,缩略图可以是任何图片格式的文件,例如jpg文件、bmp文件、png文件等。随后,根据各个子图元在工作空间中的绝对坐标,将对应子图元的dwg文件绘制在工作空间中。
60.基于上述任一实施例,图元属性配置文件中包含每一类图元包含的属性信息。
61.具体地,图元属性配置文件中以图元类型为基本存储单元,存储各类型图元包含的属性信息。因此,当设计人员需要对图元属性进行更新,特别是需要对某一类图元做相同的更新时,可以通过图元属性配置文件按图元类别进行增、删或改等更新操作,而无需针对每一个图元均执行一次属性更新操作,大大降低了图元属性配置的复杂度,进一步提高了图元配置的灵活性。
62.本发明实施例提供的方法,通过在图元属性配置文件中按图元类型存储每一类图元包含的属性信息,降低了图元属性配置的复杂度,进一步提高了图元配置的灵活性。
63.基于上述任一实施例,基于图元属性配置文件,对父类图元进行动态属性配置,具体包括:
64.基于父类图元的类型,从图元属性配置文件中查询父类图元的属性信息;
65.将父类图元的属性信息存储在父类图元的扩展字典中。
66.具体地,获取父类图元的类型,并据此从图元属性配置文件中查询得到该父类图元的属性信息。随后,将父类图元的属性信息存储在父类图元的扩展字典中,实现父类图元属性的动态配置。其中,属性信息可以包括各个属性及其对应的默认值。若图库图元配置文件中也设置了该父类图元的部分或全部属性的属性值,则还需将图库图元配置文件中设置的属性值存储在父类图元扩展字典对应的属性中,实现图元的个性化属性配置。
67.基于上述任一实施例,步骤110具体包括:
68.获取图库图元配置文件和图元属性配置文件;
69.对图库图元配置文件和图元属性配置文件进行反序列化提取,得到各图元的图元配置信息以及各类图元的属性信息;
70.基于各图元的图元配置信息以及各类图元的属性信息,将图元和图元属性按图元类型进行关联。
71.具体地,获取图库图元配置文件和图元属性配置文件。其中,配置文件可以通过数据库接口读取,也可以以文件形式(xml、json、excel等文件)动态读取至内存变量中。随后,可以对图库图元配置文件和图元属性配置文件进行反序列化提取,得到各图元的图元配置信息以及各类图元的属性信息,并基于各图元的图元配置信息以及各类图元的属性信息,将图元和图元属性按图元类型进行关联,以方便读取各图元的属性信息。
72.基于上述任一实施例,图库图元配置文件和图元属性配置文件为结构化数据或半结构化数据。
73.具体地,图库图元配置文件和图元属性配置文件可以为任意一种结构化数据或半结构化数据,以满足各种应用场景。例如,配置文件的格式可以包括但不限于xml文本文件、json文本文件、关系型数据库、非关系型数据库、具有固定语义语法格式的文本表达或
excel表格等。
74.基于上述任一实施例,图2为本发明实施例提供的图库图元配置方法的简要示意图,如图2所示,该方法主要包括以下三步:
75.定义图库图元配置文件和图元属性配置文件,将图元的定义和图元属性的定义作为软件的配置项,和程序源码分离开来。其中,图库图元配置文件和图元属性配置文件的示例性配置分别如图3和图4所示。
76.读取和预处理图库图元配置文件和图元属性配置文件。
77.根据图库图元配置文件和图元属性配置文件动态加载图库。其中,程序使用objectarx开发包定义好一个或多个自定义实体类,重写类中的绘制图元相关的函数,然后通过配置文件的方式动态组装子图元形成最终的父类图元实例,并给图元添加属性。具体的图元配置方式如上述实施例中所述,在此不再赘述。
78.基于上述任一实施例,图5为本发明实施例提供的图库图元配置装置的结构示意图,如图5所示,该装置包括:配置文件读取单元510和图库动态加载单元520。
79.其中,配置文件读取单元510用于读取图库图元配置文件和图元属性配置文件;图库图元配置文件中包含各图元的子图元组成描述;
80.图库动态加载单元520用于加载图库时,基于图库图元配置文件,动态组装各个子图元,形成对应的父类图元,并基于图元属性配置文件,对父类图元进行动态属性配置。
81.本发明实施例提供的装置,通过读取图库图元配置文件和图元属性配置文件,并在加载图库时,基于图库图元配置文件,动态组装各个子图元,形成对应的父类图元,并基于图元属性配置文件,对父类图元进行动态属性配置,减少了图元配置的复杂度,提高了图元配置的灵活性和通用性。
82.基于上述任一实施例,加载图库时,基于图库图元配置文件,动态组装各个子图元,形成对应的父类图元,具体包括:
83.确定面板中的被选择图元;
84.基于图库图元配置文件中被选择图元的子图元组成描述,确定被选择图元的各个子图元的相对坐标;
85.基于被选择图元的各个子图元的相对坐标,将各个子图元组合绘制在工作空间中,形成被选择图元对应的父类图元。
86.基于上述任一实施例,基于被选择图元的各个子图元的相对坐标,将各个子图元组合绘制在工作空间中,具体包括:
87.基于被选择图元在工作空间中的插入点坐标,以及各个子图元的相对坐标,确定各个子图元在工作空间中的绝对坐标;
88.读取各个子图元的dwg文件;
89.基于各个子图元在工作空间中的绝对坐标,将对应子图元的dwg文件绘制在工作空间中。
90.基于上述任一实施例,图元属性配置文件中包含每一类图元包含的属性信息。
91.本发明实施例提供的装置,通过在图元属性配置文件中按图元类型存储每一类图元包含的属性信息,降低了图元属性配置的复杂度,进一步提高了图元配置的灵活性。
92.基于上述任一实施例,基于图元属性配置文件,对父类图元进行动态属性配置,具
体包括:
93.基于父类图元的类型,从图元属性配置文件中查询父类图元的属性信息;
94.将父类图元的属性信息存储在父类图元的扩展字典中。
95.基于上述任一实施例,配置文件读取单元510具体用于:
96.获取图库图元配置文件和图元属性配置文件;
97.对图库图元配置文件和图元属性配置文件进行反序列化提取,得到各图元的图元配置信息以及各类图元的属性信息;
98.基于各图元的图元配置信息以及各类图元的属性信息,将图元和图元属性按图元类型进行关联。
99.基于上述任一实施例,图库图元配置文件和图元属性配置文件为结构化数据或半结构化数据。
100.图6示例了一种电子设备的实体结构示意图,如图6所示,该电子设备可以包括:处理器(processor)610、通信接口(communications interface)620、存储器(memory)630和通信总线640,其中,处理器610,通信接口620,存储器630通过通信总线640完成相互间的通信。处理器610可以调用存储器630中的逻辑指令,以执行图库图元配置方法方法,该方法包括:读取图库图元配置文件和图元属性配置文件;所述图库图元配置文件中包含各图元的子图元组成描述;加载图库时,基于所述图库图元配置文件,动态组装各个子图元,形成对应的父类图元,并基于所述图元属性配置文件,对所述父类图元进行动态属性配置。
101.此外,上述的存储器630中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read
‑
only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
102.另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的图库图元配置方法方法,该方法包括:读取图库图元配置文件和图元属性配置文件;所述图库图元配置文件中包含各图元的子图元组成描述;加载图库时,基于所述图库图元配置文件,动态组装各个子图元,形成对应的父类图元,并基于所述图元属性配置文件,对所述父类图元进行动态属性配置。
103.又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的图库图元配置方法方法,该方法包括:读取图库图元配置文件和图元属性配置文件;所述图库图元配置文件中包含各图元的子图元组成描述;加载图库时,基于所述图库图元配置文件,动态组装各个子图元,形成对应的父类图元,并基于所述图元属性配置文件,对所述父类图元进行动态属性配置。
104.以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单
元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
105.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
106.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。