Detailed Description
In order to make the technical solutions of the present application better understood, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are only a part of the embodiments of the present application, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
The terms "first," "second," and the like in the description and claims of the present application and in the above-described drawings are used for distinguishing between different objects and not for describing a particular order. Furthermore, the terms "include" and "have," as well as any variations thereof, are intended to cover non-exclusive inclusions. For example, a process, method, software, product or apparatus that comprises a list of steps or elements is not limited to those listed but may alternatively include other steps or elements not listed or inherent to such process, method, product or apparatus.
Reference herein to "an embodiment" means that a particular feature, structure, or characteristic described in connection with the embodiment can be included in at least one embodiment of the application. The appearances of the phrase in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments mutually exclusive of other embodiments. It is explicitly and implicitly understood by one skilled in the art that the embodiments described herein can be combined with other embodiments. The embodiments of the present application will be described in detail below with reference to the accompanying drawings.
It should be noted that the technical solution in the embodiment of the present application may be executed by the local terminal of the electronic device, or may be executed by interaction between the electronic device and the processing server in the B/S architecture or the C/S architecture.
The following embodiments of the present application first specifically describe a case executed by a home terminal of an electronic device.
The electronic device according to the embodiment of the present application may be various handheld devices, vehicle-mounted devices, wearable devices, User Equipment (UE), terminal devices (terminal device), Personal Digital Assistants (PDA), Personal Computers (PC), terminal devices in a 5G communication system, and terminal devices in a Public Land Mobile Network (PLMN) for future evolution, which are used to provide an electronic file processing function.
Referring to fig. 1, fig. 1 is a schematic structural diagram of an electronic device according to an embodiment of the present disclosure. The electronic device 100 may include a processor 110, an Artificial Intelligence (AI) module 120, a memory 130, acommunication interface 140, and at least one communication bus for connecting the processor 110, the AI module 120, the memory 130, and thecommunication interface 140. The processor 100 may be a Central Processing Unit (CPU) or an Application Processor (AP); the AI module 120 may be implemented in hardware and/or software, and when the AI module 120 is implemented in hardware, the processor 110 and the AI module 120 may be integrated or separated, and are not limited in this respect.
When the processor 110 and the AI module 120 are in an integrated configuration, if the processor 110 is a single-core processor, the AI module 120 may be an intelligent micro-processing circuit in the processor 110; if the processor 110 is a multi-core processor, the AI module 120 may be a single intelligent microprocessor core in the multi-core processor or an intelligent microprocessor circuit in a certain intelligent microprocessor core.
When the processor 110 and the AI module 120 are separately disposed, the AI module 120 may be a coprocessor in the application processor platform architecture, such as a neural-Network Processing Unit (NPU), an application-specific integrated circuit (ASIC), a Field Programmable Gate Array (FPGA), a Graphics Processing Unit (GPU), an Image Signal Processor (ISP), or a Digital Signal Processor (DSP), besides the processor 110; AI module 120 may be an intelligent microprocessor circuit in a coprocessor; AI module 120 may be a newly configured intelligent microprocessor in the application processor platform architecture, in addition to processor 110; the AI module 120 may be a newly configured intelligent processing platform independent of the processor 110, and the intelligent processing platform includes at least one dedicated intelligent processor, and the intelligent processing platform is in communication connection with the processor 110, and meanwhile, the intelligent processing platform may also be in direct communication with a memory, an external device, and the like. In one possible example, the AI module 120 may be comprised of at least one NPU.
The memory 130 may be used to store software programs and/or modules and may include a program storage area and a data storage area. The storage program area may be used to store an operating system or a software program required by at least one function, and the software program required by the at least one function may be used to execute the electronic document processing function in the embodiment of the present application; the storage data area may be used to store electronic files, data in electronic files, and the like. The operating system may be any one or more computer operating systems that implement business processing through processes (processes), such as a Linux operating system, a Unix operating system, an Android operating system, an iOS operating system, or a Windows operating system.
Thecommunication interface 140 may be used to send and receive electronic files, data in electronic files, and the like.
The AI module 120 in the electronic device 100 may perform the following operations by reading one or more programs 131 stored in the memory 130: acquiring a first electronic file for building floor modeling through thecommunication interface 140, and analyzing the first electronic file to obtain first BIM data; preprocessing the first BIM data to obtain second BIM data, wherein preprocessing is used for deleting component data, related to the same geometric shape information and component attribute information, in the first BIM data, corresponding to at least one first component, and the component data corresponding to the first component comprises geometric information of the first component and non-geometric information of the first component; and storing a first set of geometric information in the second BIM data in a first data table in a preset data classification table, and storing a first set of non-geometric information in the second BIM data in a second data table in the preset data classification table, wherein the first set of geometric information is used for representing a set of geometric information of each component in the second BIM data, and the first set of non-geometric information is used for representing a set of non-geometric information of each component in the second BIM data.
It can be seen that, in the embodiment of the present application, since the first electronic file may be an electronic file created by different BIM software, the embodiment of the present application is beneficial to implementing analysis on electronic files created by different BIM software. Furthermore, since the preprocessing is used to delete the component data in the first BIM data that relates to the correspondence of the same geometric shape information with at least one first component of the component attribute information, the second BIM data requires a smaller amount of data to be processed than the first BIM. Meanwhile, the second BIM data is divided into the first geometric information set and the first non-geometric information set, the first geometric information set is stored in the first data table, and the first non-geometric information set is stored in the second data table, so that the BIM data in the electronic files created by different BIM software can be directly divided into the geometric information set and the non-geometric information set, the geometric information set is stored in the first data table, and the non-geometric information set is stored in the second data table, so that the BIM data in the electronic files created by different BIM software can be prevented from being separately and respectively stored, and the data volume and the data redundancy of the BIM data needing to be stored can be reduced.
In line with the above described embodiments, the steps of the electronic document processing method will be described below from the perspective of a method example, please refer to fig. 2. Fig. 2 is a flowchart of an electronic document processing method provided in an embodiment of the present application, and is applied to an electronic device 100 including a processor 110 and an AI module 120, where the method includes:
s210, the electronic equipment acquires a first electronic file for building floor modeling, and analyzes the first electronic file to obtain first BIM data.
It should be noted that, in the electronic device 100, the AI module 120 in the internal structure parses the first electronic file to obtain the first BIM data, and stores the first BIM data in the memory 130 of the electronic device. Since the AI module 120 can directly call the first BIM data in the memory 130, the data processing operation is facilitated.
Specifically, the first electronic file may include a Computer Aided Design (CAD) drawing for Modeling the Building floor, a Building Information Model (BIM) file, and the like. Further, the first electronic file may be a file created by BIM software, and the BIM software may include AutoCAD, RevitStructure, ArchiCAD, Bentley System, Tekla Structures, Digital Project, and the like.
In particular, the first BIM data may include geometric information in the first electronic file and non-geometric information in the first electronic file.
Specifically, the geometric information in the first electronic file may include geometric information of each member in the first electronic file, and the geometric information of the member may include geometric description information of the member and geometric information of the member. Wherein the geometric description information is used to represent a description of the geometric shape of the component, for example, for a component having a triangle, the geometric description information may include length information of each side in the triangle and included angle degree information of each vertex; the geometry information may be used to represent the geometry of the component.
Specifically, the non-geometric information in the first electronic file may include component attribute information, component Identifier (ID) information, component material information, component coordinate information, and the like.
It should be noted that the component may also be referred to as a primitive, and the primitive is a basic unit constituting a building model, and can be divided into a model primitive, an annotation primitive, a reference primitive, and a view primitive. The model primitives may include, among other things, body primitives and building block primitives. The main body primitive is used for representing a main body component in an actual building, such as a wall, a floor slab, a roof, a stair and the like, and the parameter setting of the main body primitive is preset by BIM software; the component primitives are the most basic primitives in building project modeling, constitute structures in actual construction, such as beams, columns, trusses, reinforcing steel bars and the like, and are flexible and changeable in parameter setting; the annotation primitive is used for describing and explaining the model in detail, such as dimension marking, text annotation, marking, symbols and the like, and can be designed by a user; the benchmark primitives are used for providing a framework for placing and positioning model primitives, such as axis network, elevation, reference plane and the like; the view primitives are view representations generated based on the BIM file, and each view can set the visibility, level of detail, and scale of the building blocks it displays, as well as the range of views that the view can display, such as floor plan, elevation, cut-away, three-dimensional, detail, list, and the like.
Further, the component attribute information may contain at least one key-value pair consisting of an attribute name and an attribute value. For example, in the case where the member is a window, the member attribute information of the window may include < category name: window >, < category ID: -2000010>, < construction type ID: GSPTP >, < thermal conductivity: 3.0>, < thermal resistance: 0.28>, < floor: the capital floor > equal key value pair; the window can be made of glass material; the window geometry may include width 2100, frame width 25, height 2700, and the like.
For example, please refer to fig. 3, fig. 3 is a schematic structural diagram of data in a first electronic file. Thedata 310 in the first electronic file is BIM data modeled for a building floor. The three-dimensional view of thedata 310 in the first electronic file is mainly formed by a first floor, a second floor and a third floor, and each floor is formed by walls, steel bars, floor slabs, stairs, various spatial areas, windows, doors and the like.
How the electronic device 100 parses the first electronic file to obtain the first BIM data is described in detail below.
In one possible example, parsing the first electronic file to obtain the first BIM data may include the following operations: determining a two-dimensional building plan modeled by a first electronic file for each of the first building floors to obtain at least one first two-dimensional building plan; obtaining axis network data on a first two-dimensional building plan, wherein the axis network data comprises an axis A and an axis 1; determining, from the a-axis and the 1-axis, member data corresponding to at least one second member on the first two-dimensional building plan, the member data corresponding to the at least one second member including geometric information of each of the at least one second member and non-geometric information of each of the at least one second member; and taking the axis net data and the member data corresponding to at least one second member as first BIM data.
It should be noted that, in the electronic device 100, at least one first two-dimensional building plan is determined by the AI module 120 in the internal structure, and then component data corresponding to at least one second component is determined according to the a axis and the 1 axis in the axis network data. In addition, since there are multiple floors in the first building floor, the two-dimensional building plan modeled for each floor by the first electronic file determined by the AI module 120 is considered in the embodiment of the present application, and the net axes in the two-dimensional building plan include the horizontal axes sequentially labeled by the arabic numbers from left to right and the longitudinal axes sequentially labeled by the capital latin letters from bottom to top, so as to determine the first BIM data according to the net axes in the two-dimensional building plan.
For example, please refer to fig. 4 and 5. In fig. 4, the first building floor includes a first floor, a second floor, and a third floor, and thus thedata 410 in the first electronic file modeled for the first building floor is formed primarily of the first floor, the second floor, and the third floor; the electronic device then determines a two-dimensional building plan modeled by the first electronic file for each of the first building floors to obtain a two-dimensional building plan 420 for the first floor, a two-dimensional building plan 430 for the second floor, and a two-dimensional building plan 430 for the third floor. In fig. 5, a two-dimensional building plan 510 is a detailed distribution diagram of the two-dimensional building plan 430 for the first floor. Firstly, in the axis network data of the two-dimensional building plan 510, the horizontal axes are composed of axes sequentially labeled from left to right according to the numbers 1-5, and the vertical axes are composed of axes sequentially labeled from bottom to top according to the numbers A-D; then, the electronic device determines all components in the two-dimensional building plan 510 according to the axis a and the axis 1, such as a wall around the living room area, a window in the living room area, a door in the living room area, a stair in the living room area, a wall around the bedroom a area, a window in the bedroom a area, a door in the bedroom a area, a wall around the bathroom a area, a wall around the kitchen area, a wall around the dining room area, a wall around the bedroom B area, a door in the bedroom B area, a window in the bedroom B area, a wall around the bathroom B area, a door in the bathroom B area, and the like, and then determines geometric information of all the components and non-geometric information of all the components; finally, the axis network data of the two-dimensional building plan 510, the geometric information of all the members and the non-geometric information of all the members are used as electronic equipment to analyze the BIM data of the first electronic file aiming at the first floor in the first building floor. Similarly, the electronic device analyzes the BIM data of the first electronic file for the second floor of the first building floor and the BIM data of the first electronic file for the third floor of the first building floor.
The following describes in detail how the electronic device 100 determines a two-dimensional building plan modeled by a first electronic file for each of the first building floors to obtain at least one first two-dimensional building plan.
In one possible example, determining a two-dimensional building plan modeled by the first electronic file for each of the first building floors to derive at least one first two-dimensional building plan may comprise the operations of: identifying at least one first map layer of the first electronic file modeled for each floor in the first building project; and sectioning the first electronic file along a horizontal plane according to the at least one first layer, and orthographically projecting the first electronic file to the H surface to obtain at least one first two-dimensional building plan.
It should be noted that the electronic device 100 recognizes at least one first primitive by the AI module 120 in the internal structure, and obtains at least one first two-dimensional building plan according to the at least one primitive. In addition, when the BIM software creates the first electronic file for modeling the building floors, the BIM software creates data such as components in each floor of the building floors on different layers, and constructs a three-dimensional view through a plurality of layers. Therefore, in the embodiment of the application, the first electronic file is sectioned along the horizontal plane according to the map layer, and orthographic projection is performed on the H surface to obtain the two-dimensional building plane map layer corresponding to each floor in the building floors.
The following describes in detail how the electronic device determines component data corresponding to at least one second component on the first two-dimensional building plan according to the a-axis and the 1-axis.
In one possible example, determining component data corresponding to at least one second component on the first two-dimensional building plan from the a-axis and the 1-axis may include the operations of: identifying an intersection point between the axis A and the axis 1 to obtain a first intersection point; forming an area to be identified on the first two-dimensional building plan according to the first intersection point as a circular point and the preset threshold value as a radius; sequentially identifying the components in the area to be identified from the 1 axis in a clockwise direction to obtain at least one second component; determining geometric information of each of the at least one second member according to a coordinate information set of each of the at least one second member in a preset two-dimensional coordinate system, wherein the preset two-dimensional coordinate system is constructed by taking the first intersection point as an origin, taking the A axis as an X axis and taking the 1 axis as a Y axis; non-geometric information for each of the at least one second component is determined based on the component property information for each of the at least one second component.
It should be noted that, in the electronic device 100, the AI module 120 in the internal structure identifies a first intersection point, forms an area to be identified by using the first intersection point as a circular point and using a preset threshold as a radius, identifies at least one second component in the area to be identified, and finally obtains component data corresponding to the at least one second component. In addition, the embodiment of the application may sequentially acquire the coordinate information of each member in the at least one second member in the preset two-dimensional coordinate system from the identified at least one second member in the order from small to large or from large to small through the area size of the member.
Specifically, the preset threshold may be dynamically changed by the electronic device 100, so that all the members in the first two-dimensional building plan, i.e. at least one second member, are identified through traversal by continuously changing the preset threshold, that is, by continuously changing the radius of the preset identification area.
For example, referring to fig. 6, first, the electronic device identifies an intersection 620 between the a axis and the 1 axis in the two-dimensional building plan 610; secondly, the electronic device forms a region to be identified 630 in the two-dimensional building plan 610 according to the intersection point 620 as a circular point and the preset threshold r as a radius; again, the electronic device identifies the components in the area to be identified 630 in order from the 1 axis in a clockwise direction to obtain the windows 640 in the living room area; the electronic device then calculates a set of coordinate information { (x) for all vertices in window 640 in the living room area to intersection 6201,1,0),(x1,2,0),...,(x1,m0) and according to the coordinate information set { (x)1,1,0),(x1,2,0),...,(x1,m0), geometric information such as geometric shape information, vertex coordinate information, geometric size, geometric area and the like of the window 640 in the living room area is obtained; meanwhile, the electronic device is based on member attribute information (e.g., member attribute information) of the window 640 in the living room area<The name of the category: window>、<Type ID: -2000010>、<Constructing type ID: GSPTP>、<Coefficient of thermal conductivity: 3.0>、<Thermal resistance: 0.28>、<Floor: bottom building>An equivalent key value pair; the window material is a glass material, etc.) to obtain geometric information of the window 640 in the living room area; finally, the electronic device traverses and identifies the component data corresponding to all the components in the two-dimensional building plan 610 by continuously changing the preset threshold r.
Currently, the commonly used BIM software mainly includes RevitStructure, AutoCAD, ArchiCAD, Bentley System, Tekla structure, and Digital Project, and the electronic files created by different BIM software have different file formats, such as rvt (revit) format of RevitStructure software, dgn (design) format of Bentley System software, and dwg (drawing) format of AutoCAD software. Because different BIM software lacks a uniform file storage standard and the support capability of the different BIM software to the file format is different, the embodiment of the application also considers that the electronic files with different file formats are stored in different data tables. As will be described in detail below.
In one possible example, prior to parsing the first electronic file to obtain the first BIM data, the electronic device further performs the following: identifying the file format of the first electronic file to obtain a first file format; and storing the first electronic file in a third data table in a preset data classification table corresponding to the first file format.
It should be noted that, in the electronic device 100, the AI module 120 in the internal structure recognizes the file format of the first electronic file, and then stores the first electronic file in the third data table. It can be understood that, before parsing the first electronic file, the electronic device may firstly store the first electronic file in the data table according to the file format of the first electronic file, so that the subsequent electronic device 100 reads or retrieves the electronic file corresponding to the file format from the preset classification table through the file format, thereby facilitating to improve the efficiency of performing the reading or retrieving operation on the stored electronic file.
Specifically, the first file format may include one of the following: RVT format, DGN format, DWG format, IFC format, OBJ format, 3DS format, or SKP format.
Specifically, the preset data classification table may be a data table obtained by dividing a storage data area of the memory 130 in the electronic device 100 according to a predetermined setting. The preset data classification table comprises a first data table, a second data table and a third data table. The first data table may be used to store geometric information of the member, the second data table may be used to store non-aggregate information of the member, and the third data table may be used to store an electronic file having a first file format. It can be understood that, in the internal structure of the electronic device 100, the first data table, the second data table and the third data table are divided in the storage data area of the memory 130 according to a predetermined setting, and each data table has a respective function to store different types of BIM data or electronic files, so that the electronic device 100 can classify and store the BIM data or electronic files through the storage data area of the memory 130 in the internal structure, so that the subsequent AI module 120 directly reads or retrieves the corresponding BIM data or electronic files from the preset classification data table in the memory 130, thereby facilitating to improve the efficiency of performing the reading or retrieving operation on the stored BIM data or electronic files.
Specifically, identifying the file format of the first electronic file to obtain the first file format may include the following operations: converting the first electronic file into a binary file through a preset identification plug-in; and analyzing the character information in the binary file to obtain the file format of the first electronic file, wherein the file format is the first file format.
It should be noted that, the electronic device 100 calls a preset identification plug-in from the AI module 120 in the internal structure, and identifies the file format of the first electronic file by the preset identification plug-in, and the plug-in is a program written by an application program interface following a certain specification, can be used as a file editing tool, and is run on a device (such as the electronic device 100) specified by the program. In addition, since the character information in the binary file is convenient to analyze, the embodiment of the application considers that the first electronic file is converted into the binary file through the preset identification plug-in, so that the efficiency of identifying the file format of the first electronic file is improved by analyzing the character information in the binary file.
S220, the electronic equipment preprocesses the first BIM data to obtain second BIM data.
Wherein the preprocessing may be used to delete the member data of the first BIM data corresponding to at least one first member relating to the same geometry information and the member property information, the member data corresponding to the first member including the geometry information of the first member and the non-geometry information of the first member.
It should be noted that the electronic device 100 preprocesses the first BIM data by the AI module 120 in the internal structure to obtain the second BIM data. In addition, since the geometric information of the first member includes the geometric description information of the first member and the geometric information of the first member, the non-geometric information of the first member includes the member attribute information, the member identifier information, the member material information and the member coordinate information of the first member, and the geometric information and the member attribute information have a large influence on the member of the BIM software in creating the electronic file, the embodiment of the present application judges only the members relating to the same geometric information and the member attribute information, thereby providing the processing efficiency for the first BIM data. Meanwhile, the component data corresponding to at least one first component with the same geometric shape and component attribute information in the first BIM data are deleted, so that the data volume of the BIM data needing to be stored is reduced, and the data redundancy is reduced.
For example, in FIG. 6, the electronic device calculates a set of coordinate information { (x) for all vertices inwindow 650 in the bedroom A area tointersection 6202,1,0),(x2,2,0),...,(x2,m0) and according to the coordinate information set { (x)2,1,0),(x2,2,0),...,(x2,m0), geometric shape information of thewindow 650 in the bedroom area a is obtained; when the geometric information of thewindow 650 in the bedroom a area is the same as the geometric information of thewindow 640 in the living room area, and the component attribute information of thewindow 650 in the bedroom a area is the same as the component attribute information of thewindow 640 in the living room area, the electronic device may delete thewindow 640 in the living room area or thewindow 650 in the bedroom a area, and store the deletedwindow 640 or the component attribute information.
S230, the electronic device stores the first geometric information set in the second BIM data in a first data table of a preset data classification table, and stores the first non-geometric information set in the second BIM data in a second data table of the preset data classification table.
Wherein the first set of geometric information may be used to represent a set of geometric information for each member in the second BIM data, and the first set of non-geometric information is used to represent a set of non-geometric information for each member in the second BIM data.
Specifically, the preset data classification table may be a data table obtained by dividing a storage data area of the memory 130 in the electronic device 100 according to a predetermined setting. The preset data classification table comprises a first data table, a second data table and a third data table. The first data table may be used to store geometric information of the member, the second data table may be used to store non-aggregate information of the member, and the third data table may be used to store an electronic file having a first file format. It can be understood that, in the internal structure of the electronic device 100, the first data table, the second data table and the third data table are divided in the storage data area of the memory 130 according to a predetermined setting, and each data table has a respective function to store different types of BIM data or electronic files, so that the electronic device 100 can classify and store the BIM data or electronic files through the storage data area of the memory 130 in the internal structure, so that the subsequent AI module 120 directly reads or retrieves the corresponding BIM data or electronic files from the preset classification data table in the memory 130, thereby facilitating to improve the efficiency of performing the reading or retrieving operation on the stored BIM data or electronic files.
In one possible example, before storing the first set of geometric information in the second BIM data in the first data table of the preset data classification table and storing the first set of non-geometric information in the second BIM data in the second data table of the preset data classification table, the electronic device further performs the following operations: dividing second BIM data according to a first data table in a preset data classification table to obtain a first geometric information set; and dividing the second BIM data according to a second data table in the preset data classification table to obtain a first non-geometric information set. It is understood that the electronic device 100 divides the second BIM data by the AI module 120 in the internal structure according to the existing data tables in the preset data classification table, and obtains the corresponding geometric information set and/or non-geometric information set.
It can be seen that, in the embodiment of the present application, since the first electronic file may be an electronic file created by different BIM software, the embodiment of the present application is beneficial to implementing analysis on electronic files created by different BIM software. Furthermore, since the preprocessing is used to delete the component data in the first BIM data that relates to the correspondence of the same geometric shape information with at least one first component of the component attribute information, the second BIM data requires a smaller amount of data to be processed than the first BIM. Meanwhile, the second BIM data is divided into the first geometric information set and the first non-geometric information set, the first geometric information set is stored in the first data table, and the first non-geometric information set is stored in the second data table, so that the BIM data in the electronic files created by different BIM software can be directly divided into the geometric information set and the non-geometric information set, the geometric information set is stored in the first data table, and the non-geometric information set is stored in the second data table, so that the BIM data in the electronic files created by different BIM software can be prevented from being separately and respectively stored, and the data volume and the data redundancy of the BIM data needing to be stored can be reduced.
The embodiment of the present application further specifically introduces a case of interactive execution between an electronic device and a processing server in a B/S architecture or a C/S architecture.
Referring to fig. 7, fig. 7 is a schematic diagram illustrating an architecture of an electronic document processing system according to an embodiment of the present application. The electronicdrawing processing system 700 may include aprocessing server 710, anelectronic device 720. Theelectronic device 720 may upload an electronic file for building floor modeling to theprocessing server 710, may send an operation instruction for BIM data in the electronic file to theprocessing server 820, and may also receive information or a processed electronic file sent by theprocessing server 720; theprocessing server 710 may obtain the electronic file uploaded by theelectronic device 720, may parse, store, display, or process the BIM data in the electronic file, and may also send information or the processed electronic file to theelectronic device 720. It should be noted that theprocessing server 710 and theelectronic device 720 may communicate with each other in a wired or wireless manner, and are not limited in this respect.
Specifically, theprocessing server 710 in the embodiment of the present application may be various cloud servers for providing an electronic file processing function, an internet of things server, a data center network device, a Personal Computer (PC), a computing device, a network device in a 5G system, a network device in a Public Land Mobile Network (PLMN) that is evolved in the future, and the like, and the embodiment of the present application is not particularly limited.
Specifically, theelectronic device 720 in the embodiment of the present application may be various handheld devices, vehicle-mounted devices, wearable devices, User Equipment (UE), terminal devices (terminal device), Personal Digital Assistants (PDA), Personal Computers (PC), terminal devices in a 5G communication system, terminal devices in a PLMN that is evolved in the future, and the like, which are used for supporting the uploading and displaying functions of electronic files.
An example of a possible configuration of theprocessing server 710 is described below with reference to fig. 8. Fig. 8 is a schematic structural diagram of a processing server according to an embodiment of the present application.Processing server 710 may include aprocessor 810, acommunication module 820, a power management module 830, and a memory 840. Theprocessor 810 is connected to and controls thecommunication module 820, the power management module 830, and the memory 840 in the form of corresponding buses. Theprocessor 810 is a control center of theprocessing server 710, and is connected to various parts of theprocessing server 710 through various interfaces and lines. In addition, theprocessor 810 invokes the stored data in the memory 840 by running or executing software programs and/or modules in the memory 840 to perform various functions of theprocessing server 710 and process data and to monitor the overall operation of theprocessing server 710. Optionally, theprocessor 810 may include a Central Processing Unit (CPU), a Digital Signal Processor (DSP), an application-specific integrated circuit (ASIC), a Field Programmable Gate Array (FPGA), and the like. Thecommunication module 820 may implement functions of a second generation 2G mobile communication technology network, a third generation 3G mobile communication technology network, a fourth generation 4G mobile communication technology network, and a fifth generation 5G mobile communication technology network, etc. to perform uploading and receiving of electronic drawings or transmission and receiving of information, etc., and may provide channel spectrum resources of 2.4GHz and 5GHz to perform uploading and receiving of electronic drawings or transmission and receiving of information, etc. The power management module 830 may include a power management chip and may provide management functions such as power conversion, distribution, detection, etc. for theprocessing server 710. The memory 840 may be used to store software programs and/or modules and may include a program storage area and a data storage area. The storage program area may be used to store an operating system or a software program required by at least one function, and the software program required by the at least one function may be used to execute the electronic drawing processing function in the embodiment of the present application; the storage data area can be used for storing electronic drawings, data in the electronic drawings, measurement data sets, non-measurement data sets and the like.
In the embodiment of the present application, theprocessing server 710 may include a hardware layer, an operating system layer running on top of the hardware layer, and an application layer running on top of the operating system layer. The hardware layer includes hardware such as a CPU, a Memory Management Unit (MMU), and a memory (also referred to as a storage). The memory may be used to store software programs and/or modules, and may include a program storage area and a data storage area. The storage program area may be used to store an operating system or a software program required by at least one function, and the software program required by the at least one function may be used to execute the electronic document processing function in the embodiment of the present application; the storage data area can be used for storing electronic files, BIM data in the electronic files, geometric information sets, non-geometric information sets and the like. The operating system may be any one or more computer operating systems that implement business processing through processes (processes), such as a Linux operating system, a Unix operating system, an Android operating system, an iOS operating system, or a Windows operating system. A graphic engine or the like runs on the application layer. Thus, theprocessing server 710 may parse the electronic file through the graphic engine running on the application layer to obtain the first BIM data. In addition, the embodiment of the present application does not particularly limit the specific structure of the execution subject providing the electronic document processing method, as long as the execution subject can communicate according to the method provided by the embodiment of the present application by running the program recorded with the code of the method provided by the embodiment of the present application, for example, the execution subject of the method provided by the embodiment of the present application may be theprocessing server 710, and may be a functional module in theprocessing server 710, which can call the program and execute the program.
The steps performed by the electronic document processing method will be described below in the context of a method example, please refer to fig. 9. Fig. 9 is a schematic flowchart of another electronic document processing method provided in this embodiment of the present application, which is applied to theprocessing server 710, and the method includes:
s910, the electronic device uploads a first electronic file for building floor modeling to a processing server.
Specifically, the first electronic file may include a Computer Aided Design (CAD) drawing for Modeling the Building floor, a Building Information Model (BIM) file, and the like. Further, the first electronic file may be a file created by BIM software, and the BIM software may include AutoCAD, RevitStructure, ArchiCAD, Bentley System, Tekla Structures, Digital Project, and the like.
S920, the processing server acquires the first electronic file and analyzes the first electronic file to obtain first BIM data.
It should be noted that theprocessing server 710 parses the first electronic file by theprocessor 810 in the internal structure to obtain the first BIM data, and stores the first BIM data in the memory 130 of the electronic device. Since theprocessor 810 can directly call the first BIM data in the memory 840, the data processing operation is facilitated.
In particular, the first BIM data may include geometric information in the first electronic file and non-geometric information in the first electronic file.
Specifically, the geometric information in the first electronic file may include geometric information of each member in the first electronic file, and the geometric information of the member may include geometric description information of the member and geometric information of the member. Wherein the geometric description information is used to represent a description of the geometric shape of the component, for example, for a component having a triangle, the geometric description information may include length information of each side in the triangle and included angle degree information of each vertex; the geometry information may be used to represent the geometry of the component.
Specifically, the non-geometric information in the first electronic file may include component attribute information, component Identifier (ID) information, component material information, component coordinate information, and the like.
It should be noted that the component may also be referred to as a primitive, and the primitive is a basic unit constituting a building model, and can be divided into a model primitive, an annotation primitive, a reference primitive, and a view primitive. The model primitives may include, among other things, body primitives and building block primitives. The main body primitive is used for representing a main body component in an actual building, such as a wall, a floor slab, a roof, a stair and the like, and the parameter setting of the main body primitive is preset by BIM software; the component primitives are the most basic primitives in building project modeling, constitute structures in actual construction, such as beams, columns, trusses, reinforcing steel bars and the like, and are flexible and changeable in parameter setting; the annotation primitive is used for describing and explaining the model in detail, such as dimension marking, text annotation, marking, symbols and the like, and can be designed by a user; the benchmark primitives are used for providing a framework for placing and positioning model primitives, such as axis network, elevation, reference plane and the like; the view primitives are view representations generated based on the BIM file, and each view can set the visibility, level of detail, and scale of the building blocks it displays, as well as the range of views that the view can display, such as floor plan, elevation, cut-away, three-dimensional, detail, list, and the like.
Further, the component attribute information may contain at least one key-value pair consisting of an attribute name and an attribute value. For example, in the case where the member is a window, the member attribute information of the window may include < category name: window >, < category ID: -2000010>, < construction type ID: GSPTP >, < thermal conductivity: 3.0>, < thermal resistance: 0.28>, < floor: the capital floor > equal key value pair; the window can be made of glass material; the window geometry may include width 2100, frame width 25, height 2700, and the like.
How theprocessing server 710 parses the first electronic file to obtain the first BIM data is described in detail below.
In one possible example, parsing the first electronic file to obtain the first BIM data may include the following operations: determining a two-dimensional building plan modeled by a first electronic file for each of the first building floors to obtain at least one first two-dimensional building plan; obtaining axis network data on a first two-dimensional building plan, wherein the axis network data comprises an axis A and an axis 1; determining, from the a-axis and the 1-axis, member data corresponding to at least one second member on the first two-dimensional building plan, the member data corresponding to the at least one second member including geometric information of each of the at least one second member and non-geometric information of each of the at least one second member; and taking the axis net data and the member data corresponding to at least one second member as first BIM data.
It should be noted that theprocessing server 710 determines at least one first two-dimensional building plan by theprocessor 810 in the internal structure, and determines component data corresponding to at least one second component according to the a-axis and the 1-axis in the axis network data. In addition, since there are multiple floors in the first building floor, the embodiment of the present application considers that theprocessor 810 determines the two-dimensional building plan modeled by the first electronic file for each floor, and the net axes in the two-dimensional building plan include the transverse axes sequentially labeled by the arabic numbers from left to right and the longitudinal axes sequentially labeled by the capital latin letters from bottom to top, so as to determine the first BIM data according to the net axes in the two-dimensional building plan.
The following describes in detail how theprocessing server 710 determines a two-dimensional building plan modeled by a first electronic file for each of the first building floors to obtain at least one first two-dimensional building plan.
In one possible example, determining a two-dimensional building plan modeled by the first electronic file for each of the first building floors to derive at least one first two-dimensional building plan may comprise the operations of: identifying at least one first map layer of the first electronic file modeled for each floor in the first building project; and sectioning the first electronic file along a horizontal plane according to the at least one first layer, and orthographically projecting the first electronic file to the H surface to obtain at least one first two-dimensional building plan.
It should be noted that theprocessing server 710 recognizes at least one first primitive by theprocessor 810 in the internal structure, and obtains at least one first two-dimensional building plan according to the at least one primitive. In addition, when the BIM software creates the first electronic file for modeling the building floors, the BIM software creates data such as components in each floor of the building floors on different layers, and constructs a three-dimensional view through a plurality of layers. Therefore, in the embodiment of the application, the first electronic file is sectioned along the horizontal plane according to the map layer, and orthographic projection is performed on the H surface to obtain the two-dimensional building plane map layer corresponding to each floor in the building floors.
The following describes in detail how theprocessing server 710 determines component data corresponding to at least one second component on the first two-dimensional building plan according to the a-axis and the 1-axis.
In one possible example, determining component data corresponding to at least one second component on the first two-dimensional building plan from the a-axis and the 1-axis may include the operations of: identifying an intersection point between the axis A and the axis 1 to obtain a first intersection point; forming an area to be identified on the first two-dimensional building plan according to the first intersection point as a circular point and the preset threshold value as a radius; sequentially identifying the components in the area to be identified from the 1 axis in a clockwise direction to obtain at least one second component; determining geometric information of each of the at least one second member according to a coordinate information set of each of the at least one second member in a preset two-dimensional coordinate system, wherein the preset two-dimensional coordinate system is constructed by taking the first intersection point as an origin, taking the A axis as an X axis and taking the 1 axis as a Y axis; non-geometric information for each of the at least one second component is determined based on the component property information for each of the at least one second component.
It should be noted that, theprocessing server 710 identifies the first intersection point by theprocessor 810 in the internal structure, forms an area to be identified by using the first intersection point as a dot and using a preset threshold as a radius, identifies at least one second component in the area to be identified, and finally obtains component data corresponding to the at least one second component. In addition, the embodiment of the application may sequentially acquire the coordinate information of each member in the at least one second member in the preset two-dimensional coordinate system from the identified at least one second member in the order from small to large or from large to small through the area size of the member.
In particular, the preset threshold may be dynamically changed by theprocessing server 710, so that all the members in the first two-dimensional building plan, i.e. at least one second member, are identified through traversal by continuously changing the preset threshold, that is, by continuously changing the radius of the preset identification area.
Currently, the commonly used BIM software mainly includes RevitStructure, AutoCAD, ArchiCAD, Bentley System, Tekla structure, and Digital Project, and the electronic files created by different BIM software have different file formats, such as rvt (revit) format of RevitStructure software, dgn (design) format of Bentley System software, and dwg (drawing) format of AutoCAD software. Because different BIM software lacks a uniform file storage standard and the support capability of the different BIM software to the file format is different, the embodiment of the application also considers that the electronic files with different file formats are stored in different data tables. As will be described in detail below.
In one possible example, prior to parsing the first electronic file to obtain the first BIM data, the processing server further performs the following operations: identifying the file format of the first electronic file to obtain a first file format; and storing the first electronic file in a third data table in a preset data classification table corresponding to the first file format.
It should be noted that, theprocessing server 710 recognizes the file format of the first electronic file by theprocessor 810 in the internal structure, and stores the first electronic file in the third data table. It can be understood that, before the electronic device parses the first electronic file, the first electronic file may be classified and stored in the data table according to the file format of the first electronic file, so that thesubsequent processing server 710 reads or retrieves the electronic file corresponding to the file format from the preset classification table through the file format, thereby facilitating to improve the efficiency of executing the reading or retrieving operation on the stored electronic file.
Specifically, the first file format may include one of the following: RVT format, DGN format, DWG format, IFC format, OBJ format, 3DS format, or SKP format.
Specifically, the preset data classification table may be a data table obtained by dividing a storage data area of the memory 840 in theprocessing server 710 according to a predetermined setting. The preset data classification table comprises a first data table, a second data table and a third data table. The first data table may be used to store geometric information of the member, the second data table may be used to store non-aggregate information of the member, and the third data table may be used to store an electronic file having a first file format. It can be understood that, in the internal structure of theprocessing server 710, the first data table, the second data table and the third data table are divided in the storage data area of the memory 840 according to a predetermined setting, and each data table has a respective function to store different types of BIM data or electronic files, so that theprocessing server 710 can classify and store the BIM data or electronic files through the storage data area of the memory 840 in the internal structure, so that thesubsequent processor 810 directly reads or retrieves the corresponding BIM data or electronic files from the preset classification data table in the memory 840, thereby facilitating to improve the efficiency of performing the reading or retrieving operation on the stored BIM data or electronic files.
Specifically, identifying the file format of the first electronic file to obtain the first file format may include the following operations: converting the first electronic file into a binary file through a preset identification plug-in; and analyzing the character information in the binary file to obtain the file format of the first electronic file, wherein the file format is the first file format.
It should be noted that theprocessing server 710 calls a preset identification plug-in from theprocessor 810 in the internal structure, and identifies the file format of the first electronic file by the preset identification plug-in, and the plug-in is a program written by an application program interface following a certain specification, and can be used as a file editing tool, and it runs on a device (such as the processing server 710) specified by the program. In addition, since the character information in the binary file is convenient to analyze, the embodiment of the application considers that the first electronic file is converted into the binary file through the preset identification plug-in, so that the efficiency of identifying the file format of the first electronic file is improved by analyzing the character information in the binary file.
S930, preprocessing the first BIM data by the processing server to obtain second BIM data
Wherein the preprocessing may be used to delete the member data of the first BIM data corresponding to at least one first member relating to the same geometry information and the member property information, the member data corresponding to the first member including the geometry information of the first member and the non-geometry information of the first member.
It should be noted that theprocessing server 710 preprocesses the first BIM data by theprocessor 810 in the internal structure to obtain the second BIM data. In addition, since the geometric information of the first member includes the geometric description information of the first member and the geometric information of the first member, the non-geometric information of the first member includes the member attribute information, the member identifier information, the member material information and the member coordinate information of the first member, and the geometric information and the member attribute information have a large influence on the member of the BIM software in creating the electronic file, the embodiment of the present application judges only the members relating to the same geometric information and the member attribute information, thereby providing the processing efficiency for the first BIM data. Meanwhile, the component data corresponding to at least one first component with the same geometric shape and component attribute information in the first BIM data are deleted, so that the data volume of the BIM data needing to be stored is reduced, and the data redundancy is reduced.
S940, the processing server stores the first geometric information set in the second BIM data in a first data table in a preset data classification table, and stores the first non-geometric information set in the second BIM data in a second data table in the preset data classification table.
Wherein the first set of geometric information may be used to represent a set of geometric information for each member in the second BIM data, and the first set of non-geometric information is used to represent a set of non-geometric information for each member in the second BIM data.
Specifically, the preset data classification table may be a data table obtained by dividing a storage data area of the memory 840 in theprocessing server 710 according to a predetermined setting. The preset data classification table comprises a first data table, a second data table and a third data table. The first data table may be used to store geometric information of the member, the second data table may be used to store non-aggregate information of the member, and the third data table may be used to store an electronic file having a first file format. It can be understood that, in the internal structure of theprocessing server 710, the first data table, the second data table and the third data table are divided in the storage data area of the memory 840 according to a predetermined setting, and each data table has a respective function to store different types of BIM data or electronic files, so that theprocessing server 710 can classify and store the BIM data or electronic files through the storage data area of the memory 840 in the internal structure, so that thesubsequent processor 810 directly reads or retrieves the corresponding BIM data or electronic files from the preset classification data table in the memory 840, thereby facilitating to improve the efficiency of performing the reading or retrieving operation on the stored BIM data or electronic files.
In one possible example, before storing the first set of geometric information in the second BIM data in the first data table in the preset data classification table and storing the first set of non-geometric information in the second BIM data in the second data table in the preset data classification table, the processing server further performs the following operations: dividing second BIM data according to a first data table in a preset data classification table to obtain a first geometric information set; and dividing the second BIM data according to a second data table in the preset data classification table to obtain a first non-geometric information set. It is understood that theprocessing server 710 divides the second BIM data according to the existing data tables in the preset data classification table by theprocessor 810 in the internal structure, and obtains the corresponding geometric information set and/or non-geometric information set.
It can be seen that, in the embodiment of the present application, since the first electronic file may be an electronic file created by different BIM software, the embodiment of the present application is beneficial to implementing analysis on electronic files created by different BIM software. Furthermore, since the preprocessing is used to delete the component data in the first BIM data that relates to the correspondence of the same geometric shape information with at least one first component of the component attribute information, the second BIM data requires a smaller amount of data to be processed than the first BIM. Meanwhile, the second BIM data is divided into the first geometric information set and the first non-geometric information set, the first geometric information set is stored in the first data table, and the first non-geometric information set is stored in the second data table, so that the BIM data in the electronic files created by different BIM software can be directly divided into the geometric information set and the non-geometric information set, the geometric information set is stored in the first data table, and the non-geometric information set is stored in the second data table, so that the BIM data in the electronic files created by different BIM software can be prevented from being separately and respectively stored, and the data volume and the data redundancy of the BIM data needing to be stored can be reduced.
Embodiments of the present application also provide a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program for electronic data exchange, the computer program being operable to cause a computer to perform part or all of the steps of any of the methods as set forth in the above method embodiments.
Embodiments of the present application also provide a computer program product, where the computer program product includes a computer program operable to cause a computer to perform part or all of the steps of any one of the methods as described in the above method embodiments. The computer program product may be a software installation package.
For simplicity of description, each of the above method embodiments is described as a series of combinations of operations. Those skilled in the art should appreciate that the present application is not limited by the order of acts described, as some steps in the embodiments of the present application may occur in other orders or concurrently. Moreover, those skilled in the art should also appreciate that the embodiments described in the specification are preferred embodiments and that acts and modules referred to are not necessarily required to implement the embodiments of the application.
In the foregoing embodiments, the descriptions of the respective embodiments have respective emphasis, and for parts that are not described in detail in a certain embodiment, reference may be made to related descriptions of other embodiments.
It will be understood by those skilled in the art that all or part of the steps of the embodiments of the present application may be performed by associated hardware instructed by a program, and the program may be stored in a memory, which may include a flash memory disk, a ROM, a RAM, a magnetic or optical disk, and the like.
The embodiments of the present application are described in detail above, and the description in the embodiments of the present application is only for assisting understanding of the method and the core idea of the present application. One skilled in the art will appreciate that the embodiments of the present application can be varied in both the detailed description and the application, and thus the present description should not be construed as limiting the application.