CN115344932A - 一种模型数据的规则审查方法、装置及电子设备 - Google Patents
一种模型数据的规则审查方法、装置及电子设备 Download PDFInfo
- Publication number
- CN115344932A CN115344932A CN202211037298.4A CN202211037298A CN115344932A CN 115344932 A CN115344932 A CN 115344932A CN 202211037298 A CN202211037298 A CN 202211037298A CN 115344932 A CN115344932 A CN 115344932A
- Authority
- CN
- China
- Prior art keywords
- examination
- rule
- model data
- review
- specific
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/13—Architectural design, e.g. computer-aided architectural design [CAAD] related to design of buildings, bridges, landscapes, production plants or roads
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Architecture (AREA)
- Civil Engineering (AREA)
- Structural Engineering (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Evolutionary Computation (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种模型数据的规则审查方法、装置及电子设备,所述方法包括:接收用于审查模型数据的审查任务,将所述审查任务拆分成至少一个审查规则,并将每个所述审查规则转换成特定语言的特定指令,每个所述特征指令对应至少一个关键字;将每个特定指令所对应的至少一个关键字按照逻辑框架转化成可执行的表达式,其中多个所述特定指令转化后形成可执行的表达式集合;利用所述可执行的表达式集合对所述模型数据进行审查,得到所述审查任务的审查结果。本方法将每个审查规则转化成特定语言的特定指令,从而可对特定的审查内容进行修改、编辑、自定义操作,无需重新制定、编辑审查规范,避免了人工开发制定审查规范,节约成本,提高了审查效率。
Description
技术领域
本发明涉及计算机辅助设计技术领域,具体涉及一种模型数据的规则审查方法、装置及电子设备。
背景技术
在施工图审查过程中,无论是审查二维施工图纸,亦或是三维建筑信息模型(Building Information Modeling,BIM)模型,都需要按照相应建筑、设计规范要求,利用人工或者编写专用的审查程序进行逐项审查。这导致二维施工图纸或者三维BIM模型无法被快速应用于施工过程中,同样也会给开发人员带来繁重的条文审查开发工作。比如某企业想自定义专有规则条文审查逻辑,可采用的一种方法是,联系专业审查人员对待审查的施工图纸逐张审查、或对BIM模型逐个审查;另一种方法是,投入大量开发人员针对自定义条文进行定制化开发,这极大的影响了二维、三维模型在整个施工模型中的使用。
因此,在施工过程中,为了避免投入额外的人力、物力,不再强制进行施工图审查,但这又会为以后的施工过程及项目验收带来极大的安全和质量隐患。基于此,需要一个快速、灵活的模型数据审查系统。
发明内容
本发明实施例提供了一种模型数据的规则审查方法、装置及电子设备,从而提供一种视频合成方法、装置及电子设备。
第一方面,本发明实施例公开了一种模型数据的规则审查方法,所述方法包括:接收用于审查模型数据的审查任务,所述模型数据为二维图纸或者三维模型导出的表示建筑各构件信息的数据;将所述审查任务拆分成至少一个审查规则,并将每个所述审查规则转换成特定语言的特定指令,每个所述特征指令对应至少一个关键字;将每个所述特定指令所对应的至少一个关键字按照逻辑框架转化成可执行的表达式,其中多个所述特定指令转化后形成可执行的表达式集合;利用所述可执行的表达式集合对所述模型数据进行审查,得到所述审查任务的审查结果。
可选地,在第一方面的一种可能的实施方式中,将每个所述审查规则转换成特定语言的特定指令,包括:根据审查规则和特定语言之间的对应关系,将所述每个审查规则转换成所述特定语言的特定指令。
可选的,在第一方面的另一种可能的实施方式中,将每个所述特定指令所对应的至少一个关键字按照逻辑框架转化成可执行的表达式,包括:对每个所述特征指令进行分词处理,得到每个特征指令对应的至少一个关键字;对每个所述特征指令对应的至少一个关键字按照分词逻辑框架结构筛选,得到条件语句集合和审查语句集合;根据所述条件语句集合和所述审查语句集合,转化为所述可执行的表达式。
可选的,在第一方面的又一种可能的实施方式中,根据所述条件语句集合和所述审查语句集合,转化为所述可执行的表达式,包括:根据所述条件语句集合和所述审查语句集合,生成待执行表达式集合;对所述待执行表达式集合进行结构化处理,生成所述可执行的表达式。
可选的,在第一方面的又一种可能的实施方式中,所述待执行表达式集合的语句格式为:
如果满足预设条件,则执行审查语句
其中,所述预设条件可通过条件表达式来表示,所述执行语句可通过审查逻辑语句来表示。
可选的,在第一方面的又一种可能的实施方式中,对每个所述特征指令进行分词处理,包括:利用分词器对每个所述特征指令进行分词处理,所述分词器是基于Antlr框架开发的分词器。
可选的,所述至少一个关键字包括:构件关键字、构件属性关键字、审查函数关键字、函数参数关键字和逻辑运算关键字。
第二方面,本发明实施例还公开了一种模型数据的规则审查装置,所述装置包括:
接收单元,用于接收审查任务,所述审查任务用于审查模型数据,所述模型数据为二维图纸或者三维模型导出的表示建筑各构件信息的数据;
处理单元,用于将所述审查任务拆分成至少一个审查规则,并将每个所述审查规则转换成特定语言的特定指令,每个所述特征指令对应至少一个关键字;
转化单元,用于将每个所述特定指令所对应的至少一个关键字按照逻辑框架转化成可执行的表达式,其中多个所述特定指令转化后形成可执行的表达式集合;
审查单元,用于利用所述可执行的表达式集合对所述模型数据进行审查,得到所述审查任务的审查结果。
此外,本方面提供的规则审查装置还用于实现前述第一方面各种可能实施方式中的方法步骤。
第三方面,本发明实施例还公开了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器连接的存储器。
其中,所述存储器存储有可被所述至少一个处理器执行的指令,当存储器中的指令被至少一个处理器执行,以使所述至少一个处理器执行如第一方面或第一方面任一可选实施方式所述的模型数据的规则审查方法。
另外,本发明实施方式还公开了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面或第一方面任一可选实施方式所述的模型数据的规则审查方法。
本实施例提供的规则审查方法、装置及电子设备,将审查任务拆分成至少一个审查规则,然后将每个审查规则转化成特定语言的特定指令,该特定指令可针对特定的审查内容进行修改、编辑、自定义操作,无需重新制定、编辑审查规范,该特定指令的规范条文可重复使用、编辑,从而避免人工开发制定审查规范,节约人工审查成本和开发成本,提高了系统对模型数据的审查效率。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种处理装置的结构示意图;
图2为本发明实施例提供的一种模型数据的规则审查方法的流程图;
图3为本发明实施例提供的一种规则审查方法的信令流程图;
图4为本发明实施例提供的一种部分审查引擎解释器中语法配置文件的示例图;
图5为本发明实施例提供的一种解释器解释语句的流程图;
图6为本发明实施例提供的一种审查结果的示例图;
图7为本发明实施例提供的一种规则审查装置的结构框图;
图8为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施提供的技术方案属于工程建筑领域全过程中三维信息模型应用,尤其是在施工图审查阶段,针对施工图纸及BIM模型进行的合规性审查。
目前,市面上针对规则条文的审查工具或系统基本都是对具体条文进行定制化开发的、不具有可重用性,因此导致企业无法实现各类规范条文的快速审查,更无法灵活的自定义自己的规则条文,无法提高规则检查的应用范围,需要花费大量人工审查成本和开发成本,使得模型价值无法真正落地到施工过程应用中。
为了提高建筑模型数据的审查效率、节约人工审查成本,本实施例提供了一种模型数据的规则审查方法,该方法可应用于一种电子设备或处理装置,比如处理芯片或终端设备。
其中,如图1所示,该装置或设备100中包括:任务器110、审查引擎120和库130,进一步地,该任务器110可以是一种任务worker,或任务模块;审查引擎120中包括解释器和执行器,用于基于模型数据,对模型数据进行语言解释和执行,并输出执行结果。库130包括模型库和规则库等,用于存储用于规则审查的各种构件、模型等信息,并在审查引擎120进行审查时调用库130中的各种审查构件和信息。
其中,模型库,用于存储模型数据的基础服务。该服务可将各类模型数据标准化为可供审查引擎系统直接使用的模型数据储存并提供导出功能。可选的,模型库可以是SQLite,所述SQLite是一款轻型的数据库。
规则库:用户维护审查规则的系统。该系统可将需要执行的规则条文语句录入到规则库中,方便审查引擎使用。
另外,上述装置还包括模型空间(Model Space)和内存空间等。其中,模型空间可以是基于C++/C#语言开发的处理模型数据,内存空间可以用于存储构件数据的数据格式,比如以八叉树结构存储的的代码逻辑模块。另外,所有底层模型数据逻辑可以通过调用内存控件的代码逻辑模块执行规则审查流程。
应理解,上述图1所示的装置或设备中,还可以包括其他更多或更少的模型、单元,本实施例对此不予限制。
下面对本实施例提供的技术方案进行详细说明。
参见图2,为本发明实施例提供的一种模型数据的规则审查方法的流程图,该方法可由上述装置或设备执行,具体地,所述包括:
步骤101,接收用于审查模型数据的审查任务。
其中,模型数据是由二维图纸或者建筑信息模型(Building InformationModeling,BIM)三维模型导出的表示建筑各构件信息的数据。所述审查任务为审查所述模型数据是否符合行业、建筑规范等。
在一种可能的实施方式中,任务器110中的任务worker接收用户下发的审查任务,并启动对模型数据的审查流程。
步骤102,将所述审查任务拆分成至少一个审查规则,并将每个所述审查规则转换成特定语言的特定指令,每个所述特征指令对应至少一个关键字。
具体地,拆分至少一个审查规则的过程,可以根据审查任务传递过来的规则信息确定。比如通过传递过来的规则信息个数,将审查任务拆分为对等数量的审查规则。其中,一个审查任务至少包括一条需要处理的审查规则。
另外,所述特定语言可以是一种DSL(domain-specific language,领域特定语言),所述DSL语言指的是专注于某个应用程序领域的计算机语言,该语言又可称为领域专用语言。本实施例中将拆分后的审查规则转换成DSL语言,从而实现对模型数据的逐个规范审查。
步骤102中,将每个审查规则转换成特定语言的特定指令,包括:根据审查规则和特定语言之间的对应关系,将所述每个审查规则转换成所述特定语言的特定指令。本实施例中,所述对应关系为审查规则与DSL语言之间的对应关系。
另外,每个特征指令包含的至少一个关键字为:构件关键字、构件属性关键字、审查函数关键字、函数参数关键字和逻辑运算关键字。此外,还可以包括其他关键字,本实施例对此不予限制。
例如,所述构件关键字可以是任一构件的名称,比如房梁、屋、立柱等;所述构件属性关键字可以是描述构件的“面积”、“体积”、“尺寸”等特征,“函数参数关键字”可以是描述构件的具体大小的特征,比如面积对应的函数参数关键字是4.5平方米(m2)、长度尺寸10厘米(cm)等。
将审查规则转换为特定指令后,用户可以对其中的特定关键字进行修改和更新,比如对“构件属性关键字”、“函数参数关键字”可以自由设置和编辑,进而可避免耗费大量人力物理修改、编辑审查规范条文。
步骤103,将每个所述特定指令所对应的至少一个关键字按照逻辑框架转化成可执行的表达式,其中多个所述特定指令转化后形成可执行的表达式集合。
具体地,将步骤102中转换的至少一个关键字按照逻辑框架转化成执行器可识别或可执行的逻辑语句,从而实现在执行器中审查。
其中,逻辑框架可以是一种Antlr(Another Tool for Language Recognition)框架。Antlr框架是一款开源的框架,用来分析语法。本实施例中使用Antlr4,Antlr4是一款基于Java开发的开源的语法分析器生成工具,能够根据语法规则文件生成对应的语法分析器,广泛应用于DSL构建,语言词法语法解析等领域。使用者可以自己创建语法规则文件,然后使用Antlr4生成类文件。这些类文件可实现将语句按照关键字分词、然后将分词构造成一种树形结构,例如构造成指基于Antlr4框架分词形式的语法树,生成该语法树后,便可使用Antlr4技术框架进行语法分词处理,得到对应的关键字信息,最后根据关键字信息生成执行器可执行的表达式集合。
步骤104,利用所述可执行的表达式集合对所述模型数据进行审查,得到所述审查任务的审查结果。
其中,每个可执行表达式可用于审查模型数据中的一部分数据是否符合建筑规范,或是否合规,进而审查全部模型数据则需要多个不同的可执行表达式(即可执行表达式集合),来审查,每个可执行表达式审查一部分模型数据后得到一个审查结果,所有模型数据经过可执行表达式集合审查后,得到多个审查结果,即审查结果集合,汇总后,得到该审查任务的最终审查结果。
本实施例提供的方法,将审查任务拆分成至少一个审查规则,然后将每个审查规则转化成特定语言的特定指令,该特定指令可针对特定的审查内容进行修改、编辑、自定义操作,无需重新制定、编辑审查规范,该特定指令的规范条文可重复使用、编辑,从而避免人工开发制定审查规范,节约人工审查成本和开发成本,提高了系统对模型数据的审查效率。
在一具体实施例中,如图3所示,为本实施例提供的一种规则审查方法的信令流程图。该方法可通过任务worker、解释器、执行器和模型库/规则库等执行,具体地,该方法包括:
步骤201、任务worker获取模型数据。
其中,所述模型数据为前述步骤101中的模型数据。所述模型数据可以从外部获取,或者从模型库/规则库中获取,本实施例对此不做限制。
具体地,任务worker可以从模型库中获取SQLite库中获取SQLite文件包/数据包,根据该SQLite文件包或数据包进行数据本地化处理,得到模型数据,该过程为数据准备阶段。在该数据准备阶段,还包括任务worker将原始数据加载到系统运行环境中。
步骤202、任务worker获取审查任务,所述审查任务用于对模型数据的规范性进行审查。
其中,所述审查任务包含诸如建筑规范、行业规范等信息。所述审查任务可根据待审查的模型数据确定。
步骤203、任务worker根据所述审查任务,将用于审查所述模型数据的建筑规范拆分成多个规则,每个所述规则对应一个规则ID。
具体地,拆分过程可参见前述实施例的步骤102中描述,此处不详细赘述。将审查任务拆分成多个执行单元,每个执行单元分别用于进行规则DI语句的解释、算法适配以及审查语句准备工作。
步骤204、任务worker根据规则ID与DSL之间的对应关系,将所述多个规则ID转换为多个DSL指令。其中,每个规则ID可对应一个DSL指令。
可选的,所述DSL指令为前述实施例中的特征指令。
步骤205、任务worker将多个DSL指令发送给解释器,对应地,解释器接收任务worker发送的多个DSL指令。
本实施例基于DSL理论,本实施例设计的审查规则语句格式为:
如果满足预设条件,则执行审查语句
通过程序代码表示为:If conditions,Then expresses;
其中,所述预设条件可通过条件表达式来表示,所述执行语句可通过审查逻辑语句来表示。进一步地,conditions表示需要系统执行器过滤的条件表达式,根据该条件表达式,系统(执行器)会从审查数据中过滤出待审查的原始数据;expresses表示需要系统(执行器)基于条件原始模型数据执行的审查逻辑语句表达式,根据该表达式,系统会在条件原始模型数据中过滤出不满足执行语句表达式的模型数据,从而输出异常模型数据。
可选的,conditions可以由若干子表达式通过逻辑运算关键字连接拼接组成,如:
[Room].Name=卧室and[Room].Area=100
其中“[]”括号内“Room”表示为主体构件关键字,英文点(“.”)为用来连接构件关键字与属性关键字;“Name”位置表示构件属性关键字,“Name”自身表示构件名称属性;等号(“=”)表示一种相等函数关键字,该关键字又称为审查函数关键字。另外,系统还同样支持其他各类自定义审查函数关键字,比如“+”、“-”。“卧室”与“100”表示函数参数关键字;“and”表示逻辑运算关键字。
“conditions”条件表达式位于固定关键字“if”和“then”之间,表示期望过滤出满足表达式条件的构件对象。
同理地,expresses执行审查语句也可以由若干子表达式,通过逻辑运算关键字连接拼接组成。需要说明的是,expresses位于关键字“then”之后,表示基于条件表达式过滤出来的构件列表,期望审查出的不满足表达式条件的构件对象,进而得到审查结果。
在一具体示例中,一种DSL指令,即审查语句如下表示:
if[Room].Name≈前室then[Room].Area≥4.5;
该DSL指令(审查语句)表征的审查语义为:模型数据中所有名称包含“前室”的房间面积应大于等于4.5平方米。
否则,该房间为不满足规则的房间构件,需要输出该(不满足规则房间)构件信息,即得到一个审查结果。
步骤206、解释器对多个DSL指令中的每个DSL指令进行分词处理,得到多个关键字信息。
其中,所述分词处理可使用基于Antlr框架开发的分词器。该Antlr框架会基于语法配置文件(如图4所示)生成可执行文件类,通过系统执行,将输入文本切分为关键字列表。其中,图4为部分审查引擎解释器中语法配置文件的示例图。
其中,该语法配置文件中具体包括:定义语句整体格式,定义结束符为分号、gif关键字、gthen关键字、定义条件表达式格式、执行表达式集合,以及配置简单函数表达式集合、基础简单函数表达式格式、简单函数关键字、属性关键字、构件关键字、运算符关键字、逻辑运算符关键字、关键字定义、定义纯数字常量、定义大小写字符常量和中文字符常量等信息。
通过预先定义的关键字列表,分词结果可以按照不同维度返回信息。如通过conditions关键字、迭代分词,即可获取所有condition子句列表,即条件语句字符串集合(简称条件语句集合)。同理地,通过expresses关键字,也可获取拆分后的所有审查语句字符串集合,即得到审查语句集合。例如图5所示,将DSL指令经过分词处理后,得到M个关键字,M≥2且为正整数。
可选的,M=5,所述M个关键字包括:构件关键字、构件属性关键字、审查函数关键字、函数参数关键字和逻辑运算关键字。
本实施例中,详细介绍一个DSL指令对应的M个关键字的执行/审查过程。
根据图3所示,本实施例的方法还包括:
步骤207、解释器基于一个DSL指令对应的所述M个关键字按照分词逻辑框架结构筛选,得到条件语句集合if和审查语句集合then。
步骤208、解释器合并所述条件语句集合和审查语句集合,转化为执行器可执行的表达式。
步骤209、解释器对所述可执行表达式进行结构化处理,得到可执行表达式集合。
其中,所示结构化处理是指将可执行表达式转化成执行器能够执行的结构化表达式。
具体地,解释器得到条件语句集合if和审查语句集合then后,通过循环分词,可以分别获取具体到构件关键字、属性关键字、函数关键字等维度的字符串集合,然后就可以生成对应的语言对象,如Java Object,得到结构化表达式对象集合,例如本示例给出Json表示Demo,如一种结构化条件对象表达式集合为:
{"dslAttributeExprList":[{"attributeList":["Name"],"object":"Room","operator":"≈","value":"前室"}],"operatorList":[]},
一种结构化执行对象表达式集合:
{"dslAttributeExprList":[{"attributeList":["Area"],"object":"Room","operator":"≥","value":"4.5"}],"operatorList":[]}。
应理解,利用不同的解释器语法配置文件可解析出不同的条件语句if和审查语句then,进而得到不同的结构化条件对象表达式和结构化执行对象表达式,本实施例对解释器中的语法配置文件不予限制。
步骤210、解释器将该可执行表达式集合发送给执行器,对应地,执行器接收所述解释器发送的可执行表达式集合。
另外,还包括:执行器获取所述模型数据,该模型数据可在前述步骤201中获取,比如从模型库中获取原始模型数据。
步骤211:执行器利用所述可执行结构化表达式集合对所述模型数据进行审查,得到审查结果。
具体地,执行器根据一个DSL指令生成第一可执行结构化表达式集合,对所述模型数据的一部分进行审查,得到第一审查结果。同理地,执行器利用其他DSL指令生成第二、第三、......、第N结构化表达式集合,分别对所述模型数据进行过滤/审查,得到N个审查结果。
步骤212、执行器将所有审查结果发送给任务worker。比如将N个审查结果发送给任务worker。
步骤213、任务worker接收所有审查结果,并对所有审查结果进行汇总,得到所述审查任务的审查结果。
本实施例,执行器利用多个可执行结构化表达式集合对原始模型数据进行过滤、审查计算,最终输出不满足规则的构件信息,并返回任务审查结果。
例如图6所示,为一种审查结果示例,采用Json数据格式表示。该示例审查出:ID号为2,名称为“前室”的原始数据条目不符合规则/条文,并且在构件模型3上的视图4(viewList4)中显示。
本实施例提供的规则审查方法,包括以下有益效果:
1、本方法结合自研的模型数据转化系统,将审查任务规范拆分成多个特定语言,从而能执行基于满足工业基础类(Industry Foundation Classes,IFC)、数字建筑数据交换标准(General Foundation Classes,GFC)及Revit格式的模型数据规则审查任务。
2、本规则审查方法支持行业或企业自定义审查条文,只需要编写对应的审查语句,比如conditions条件语句和/或expresses执行审查语句,便可快速进行规则审查;不需要重复开发定制化审查逻辑,所有审查规则均能基于统一的底层执行逻辑进行审查,从而大大降低审查投入的人力、物力成本。
3、本方法具备审查规则语法可扩展性,解释器和执行器可不断迭代升级,提高审查效率和准确度。
本发明实施例还公开了一种模型数据的规则审查装置,该装置用于实现前述实施例中的规则审查方法,如图7所示,该规则审查装置包括:接收单元701、处理单元702、转化单元703和审查单元704,此外还可以包括其他更多或更少模块,比如存储单元、发送单元等。
其中,接收单元701,用于接收审查任务,所述审查任务用于审查模型数据,所述模型数据为二维图纸或者三维模型导出的表示建筑各构件信息的数据。
处理单元702,用于将所述审查任务拆分成至少一个审查规则,并将每个所述审查规则转换成特定语言的特定指令,每个所述特征指令对应至少一个关键字。
其中,所述至少一个关键字包括:构件关键字、构件属性关键字、审查函数关键字、函数参数关键字和逻辑运算关键字等。
转化单元703,用于将每个所述特定指令所对应的至少一个关键字按照逻辑框架转化成可执行的表达式,其中多个所述特定指令转化后形成可执行的表达式集合。
审查单元704,用于利用所述可执行的表达式集合对所述模型数据进行审查,得到所述审查任务的审查结果。
可选的,所述特定指令为DSL指令。
可选的,在本实施例的一种具体的实现方式中,转化单元703具体用于根据审查规则和特定语言之间的对应关系,将所述每个审查规则转换成所述特定语言的特定指令。
可选的,在本实施例的另一种具体的实现方式中,所述转化单元703,具体还用于对每个所述特征指令进行分词处理,得到每个特征指令对应的至少一个关键字;对每个所述特征指令对应的至少一个关键字按照分词逻辑框架结构筛选,得到条件语句集合和审查语句集合;以及根据所述条件语句集合和所述审查语句集合,转化为所述可执行的表达式。
进一步地,所述转化单元703,还用于根据所述条件语句集合和所述审查语句集合,生成待执行表达式集合;对所述待执行表达式集合进行结构化处理,生成所述可执行的表达式。
其中,所述待执行表达式集合的语句格式为:
如果满足预设条件,则执行审查语句
通过程序代码表示为:If conditions,Then expresses;
所述预设条件可通过条件表达式来表示,所述执行语句可通过审查逻辑语句来表示。
可选的,在本实施例的又一种具体的实现方式中,所述转化单元703,具体还用于利用分词器对每个所述特征指令进行分词处理,所述分词器是基于Antlr框架开发的分词器。
需要说明的是,结合上述如图1所示的装置,任务器110的功能可由本实施例的接收单元701来实现,审查引擎120的功能可由处理单元702、转化单元703和审查单元704结合实现,模型库和规则库的功能则可通过存储单元来实现,所述存储单元在图7中未示出。
本实施例提供的装置,将审查任务拆分成至少一个审查规则,然后将每个审查规则转化成特定语言的特定指令,该特定指令可针对特定的审查内容进行修改、编辑、自定义操作,无需重新制定、编辑审查规范,该特定指令的规范条文可重复使用、编辑,从而避免人工开发制定审查规范,节约人工审查成本和开发成本,提高了系统对模型数据的审查效率。
另外,本发明实施例还提供了一种电子设备,如图8所示,该电子设备可以包括处理器801和存储器802,其中处理器801和存储器802可以通过总线或者其他方式连接,图8中以通过总线连接为例。此外,该电子设备中还包括至少一个接口803,该至少一个接口803可以是通信接口或其他接口,本实施例对此不做限制。
其中,处理器801可以为中央处理器(Central Processing Unit,CPU)。此外处理器801还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器802作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施例中的规则审查方法对应的程序指令/模块。处理器801通过运行存储在存储器802中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施例中的规则审查方法。
存储器802可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器801所创建的数据等。此外,存储器802可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器802可选包括相对于处理器801远程设置的存储器,这些远程存储器可以通过网络连接至处理器801。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
另外,至少一个接口803用于电子设备与外部设备的通信,比如与服务器通信等。可选的,至少一个接口803还可以用于连接外设输入、输出设备,比如键盘、显示屏等。
所述非暂态计算机可读存储介质中存储有计算机程序指令,当被所述指令被处理器801执行时,可实现前述实施例中的规则审查方法。
本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random AccessMemory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下作出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (10)
1.一种模型数据的规则审查方法,其特征在于,所述方法包括:
接收用于审查模型数据的审查任务,所述模型数据为二维图纸或者三维模型导出的表示建筑各构件信息的数据;
将所述审查任务拆分成至少一个审查规则,并将每个所述审查规则转换成特定语言的特定指令,每个所述特征指令对应至少一个关键字;
将每个所述特定指令所对应的至少一个关键字按照逻辑框架转化成可执行的表达式,其中多个所述特定指令转化后形成可执行的表达式集合;
利用所述可执行的表达式集合对所述模型数据进行审查,得到所述审查任务的审查结果。
2.根据权利要求1所述的方法,其特征在于,将每个所述审查规则转换成特定语言的特定指令,包括:
根据审查规则和特定语言之间的对应关系,将所述每个审查规则转换成所述特定语言的特定指令。
3.根据权利要求1所述的方法,其特征在于,将每个所述特定指令所对应的至少一个关键字按照逻辑框架转化成可执行的表达式,包括:
对每个所述特征指令进行分词处理,得到每个特征指令对应的至少一个关键字;
对每个所述特征指令对应的至少一个关键字按照分词逻辑框架结构筛选,得到条件语句集合和审查语句集合;
根据所述条件语句集合和所述审查语句集合,转化为所述可执行的表达式。
4.根据权利要求3所述的方法,其特征在于,根据所述条件语句集合和所述审查语句集合,转化为所述可执行的表达式,包括:
根据所述条件语句集合和所述审查语句集合,生成待执行表达式集合;
对所述待执行表达式集合进行结构化处理,生成所述可执行的表达式。
5.根据权利要求4所述的方法,其特征在于,所述待执行表达式集合的语句格式为:
如果满足预设条件,则执行审查语句
其中,所述预设条件可通过条件表达式来表示,所述执行语句可通过审查逻辑语句来表示。
6.根据权利要求3所述的方法,其特征在于,对每个所述特征指令进行分词处理,包括:
利用分词器对每个所述特征指令进行分词处理,所述分词器是基于Antlr框架开发的分词器。
7.根据权利要求1-4任一项所述的方法,其特征在于,所述至少一个关键字包括:构件关键字、构件属性关键字、审查函数关键字、函数参数关键字和逻辑运算关键字。
8.一种模型数据的规则审查装置,其特征在于,所述装置包括:
接收单元,用于接收审查任务,所述审查任务用于审查模型数据,所述模型数据为二维图纸或者三维模型导出的表示建筑各构件信息的数据;
处理单元,用于将所述审查任务拆分成至少一个审查规则,并将每个所述审查规则转换成特定语言的特定指令,每个所述特征指令对应至少一个关键字;
转化单元,用于将每个所述特定指令所对应的至少一个关键字按照逻辑框架转化成可执行的表达式,其中多个所述特定指令转化后形成可执行的表达式集合;
审查单元,用于利用所述可执行的表达式集合对所述模型数据进行审查,得到所述审查任务的审查结果。
9.一种电子设备,其特征在于,包括处理器和存储器,所述存储器与所述处理器耦合;
所述存储器上存储有计算机可读程序指令,当所述指令被所述处理器执行时,实现如权利要求1至7任一所述的模型数据的规则审查方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的模型数据的规则审查方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211037298.4A CN115344932A (zh) | 2022-08-26 | 2022-08-26 | 一种模型数据的规则审查方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211037298.4A CN115344932A (zh) | 2022-08-26 | 2022-08-26 | 一种模型数据的规则审查方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115344932A true CN115344932A (zh) | 2022-11-15 |
Family
ID=83953243
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211037298.4A Pending CN115344932A (zh) | 2022-08-26 | 2022-08-26 | 一种模型数据的规则审查方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115344932A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115576523A (zh) * | 2022-12-12 | 2023-01-06 | 数云科际(深圳)技术有限公司 | 一种基于模板自动生成检验规则语句的方法 |
CN116523469A (zh) * | 2023-05-09 | 2023-08-01 | 中设数字技术有限公司 | 一种面向工程建设行业的规范智能审查方法及装置 |
-
2022
- 2022-08-26 CN CN202211037298.4A patent/CN115344932A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115576523A (zh) * | 2022-12-12 | 2023-01-06 | 数云科际(深圳)技术有限公司 | 一种基于模板自动生成检验规则语句的方法 |
CN116523469A (zh) * | 2023-05-09 | 2023-08-01 | 中设数字技术有限公司 | 一种面向工程建设行业的规范智能审查方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115344932A (zh) | 一种模型数据的规则审查方法、装置及电子设备 | |
KR101213890B1 (ko) | 강한 데이터 유형을 이용하여 소프트웨어 프로그램에서음성 인식 문법을 나타내기 위한 방법 | |
CN108255837B (zh) | 一种sql解析器及方法 | |
CN108984155B (zh) | 数据处理流程设定方法和装置 | |
CN110673854A (zh) | Sas语言编译方法、装置、设备及可读存储介质 | |
CN111581920A (zh) | 文档转换方法、装置、设备及计算机存储介质 | |
CN110941427A (zh) | 代码生成方法及代码生成器 | |
CN111309751A (zh) | 大数据处理方法及装置 | |
CN108153522B (zh) | 基于模型转换由midcore生成Spark和Hadoop程序代码的方法 | |
WO2021259290A1 (zh) | 存储过程转换方法、装置、设备和存储介质 | |
CN109284088B (zh) | 一种信令大数据处理方法及电子设备 | |
Bajwa et al. | Automated generation of OCL constraints: NL based approach vs pattern based approach | |
CN112416333A (zh) | 软件模型训练方法、装置、系统、设备和存储介质 | |
US11604774B2 (en) | Method and apparatus of converting schema in deep learning framework, and computer storage medium | |
US20070050706A1 (en) | Method of xml transformation and presentation utilizing an application-specific parser | |
CN114064685A (zh) | 数据标准化访问方法及其装置、设备、介质、产品 | |
CN113448852A (zh) | 一种测试案例的获取方法、装置、电子设备及存储介质 | |
CN112306493A (zh) | 热修复补丁生成方法、装置、存储介质及计算机设备 | |
CN111475403A (zh) | 测试脚本的动态生成方法及相关装置 | |
CN111240693A (zh) | 实时数据处理方法、装置、设备及存储介质 | |
CN114489682B (zh) | nginx配置文件的操作方法、装置和设备 | |
Quesada et al. | Parsing abstract syntax graphs with ModelCC | |
CN111736813B (zh) | Jpa代码的生成方法、装置、终端设备及存储介质 | |
CN112162738B (zh) | 数据转化方法、装置、终端设备及存储介质 | |
CN116501303B (zh) | Api代码自动生成方法与装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |