CN118194420A - B/S architecture-based method for online editing BIM model and related equipment - Google Patents

B/S architecture-based method for online editing BIM model and related equipment Download PDF

Info

Publication number
CN118194420A
CN118194420A CN202410620095.0A CN202410620095A CN118194420A CN 118194420 A CN118194420 A CN 118194420A CN 202410620095 A CN202410620095 A CN 202410620095A CN 118194420 A CN118194420 A CN 118194420A
Authority
CN
China
Prior art keywords
bim
file
dimensional
model
online
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
Application number
CN202410620095.0A
Other languages
Chinese (zh)
Inventor
黄练
蔡春苗
李鄂江
冯胜利
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen E Scope Space Intelligent Technology Co ltd
Original Assignee
Shenzhen E Scope Space Intelligent Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen E Scope Space Intelligent Technology Co ltd filed Critical Shenzhen E Scope Space Intelligent Technology Co ltd
Priority to CN202410620095.0A priority Critical patent/CN118194420A/en
Publication of CN118194420A publication Critical patent/CN118194420A/en
Pending legal-status Critical Current

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

The application discloses a method for on-line editing BIM model based on B/S architecture and relative equipment, wherein the method receives BIM file through web terminal and generates BIM map file corresponding to BIM file through server terminal; an online editing operation for a three-dimensional BIM model formed based on a BIM map file is received through a web terminal. The application is based on the B/S architecture, the online BIM editor of the web end edits the BIM model online, saves and displays the edited BIM model, and does not need to install BIM software and plug-in components. The online BIM editor can perform three-dimensional rendering on the map file, adopts a browser indexDB cache strategy, and supports GLTF model setting parameter translation, rotation, scaling, deletion, copying and LOD display levels. Meanwhile, an online BIM editor supports vector drawing, text labeling and picture uploading, and draws navigation points and navigation lines in a BIM map file to provide path planning and positioning navigation functions.

Description

B/S architecture-based method for online editing BIM model and related equipment
Technical Field
The application relates to the technical field of BIM, in particular to a method for on-line editing of a BIM model based on a B/S architecture and related equipment.
Background
With the development of cloud technology, more and more application programs start to go to the web end, and a user can conveniently open the application programs through a webpage or a mobile phone. BIM (Building Information Modeling) as a datamation tool applied to engineering design, construction and management, how to quickly render a BIM map through a webpage becomes a main research direction at present.
At present, when BIM drawings are displayed through webpages, revit software is generally required to be installed in advance, after the BIM drawings are opened through the Revit software, data in the BIM drawings are analyzed through Revit plug-in units, and the BIM drawings are packed and uploaded to a server for display, so that the web side can only display the BIM drawings and cannot edit the BIM images on line. When the BIM image is required to be edited online, the BIM image is required to be modified in the Revit software and then uploaded for data conversion, so that the time required for editing the BIM drawing is increased, and inconvenience is brought to a user.
There is thus a need for improvements and improvements in the art.
Disclosure of Invention
The technical problem to be solved by the application is to provide a method for on-line editing BIM model based on B/S architecture and related equipment aiming at the defects of the prior art.
In order to solve the above technical problems, a first aspect of the present application provides a method for online editing a BIM model based on a B/S architecture, where the method for online editing a BIM model based on a B/S architecture specifically includes:
Receiving BIM files uploaded by a user through a web terminal, and sending the BIM files to a server terminal so as to generate BIM map files corresponding to the BIM files through the server terminal;
performing three-dimensional rendering based on the BIM map file through a web end to obtain a three-dimensional BIM model;
And receiving an online editing operation for the three-dimensional BIM model through a web end, and editing the three-dimensional BIM model based on the online editing operation.
The method for editing BIM model on line based on B/S architecture, wherein the generating BIM map file corresponding to the BIM file through the server side specifically comprises:
Analyzing the BIM file to obtain a BIM model file, wherein the BIM model file comprises three-dimensional geometric information of each BIM component in the BIM file;
And generating a BIM map file corresponding to the BIM file through map generation service based on the BIM model file.
The method for online editing of BIM based on B/S architecture, wherein the analyzing the BIM file to obtain the BIM file specifically comprises the following steps:
Determining analysis software corresponding to the BIM file according to the file format of the BIM file, and analyzing the BIM file through the analysis software to read BIM components in the BIM file, wherein the cross-floor components in the BIM components are horizontally segmented according to the real height;
Pulling BIM components belonging to regular geometric bodies into three-dimensional regular geometric bodies, converting BIM components belonging to irregular geometric bodies into GLTF models, and encrypting GLTF files in each GLTF model;
A BIM model file is determined based on all three-dimensional regular geometries and the GLTF models.
In the method for editing the BIM model on line based on the B/S architecture, each BIM component in the BIM map file is configured with an LOD display grade; the performing three-dimensional rendering based on the BIM map file through the web end to obtain a three-dimensional BIM model specifically comprises the following steps:
Determining a member to be displayed corresponding to the BIM map file based on LOD display levels configured by the BIM members and a screen display range of a web end;
and rendering the component to be displayed by adopting an index caching strategy, and displaying the rendered three-dimensional BIM model.
The method for online editing of BIM model based on B/S architecture, wherein the receiving, by the web end, online editing operation for the three-dimensional BIM model, and editing the three-dimensional BIM model based on the online editing operation specifically comprises:
displaying the three-dimensional BIM model through a BIM online editor of a web end, wherein each floor in the three-dimensional BIM model is independently displayed and edited;
Receiving an online editing operation for the three-dimensional BIM model, wherein the online editing operation comprises one or more of setting BIM component display parameters, adding BIM component information and deleting BIM components;
And performing batch editing on the three-dimensional BIM model based on online editing operation, and submitting batch edited data to a server by JSON data so that the server regenerates the BIM map file.
The method for on-line editing of BIM model based on B/S architecture, wherein, setting BIM component display parameters comprises setting translation coefficient, rotation coefficient, scaling coefficient and LOD display level; the BIM component information adding step comprises the steps of adding a geometric body, a text label, a picture label and a 3dmax model; the deleting BIM components includes deleting useless BIM components.
The method for online editing of BIM model based on B/S architecture, wherein the receiving, by the web end, online editing operation for the three-dimensional BIM model, and editing the three-dimensional BIM model based on the online editing operation further comprises:
Receiving a drawing navigation operation through a web terminal, and acquiring navigation data corresponding to the drawing navigation operation, wherein the navigation data are navigation lines or a plurality of navigation points;
and drawing a navigation line in the three-dimensional BIM model based on the navigation data.
The second aspect of the present application provides a device for online editing of a BIM model based on a B/S architecture, where the device for online editing of a BIM model based on a B/S architecture specifically includes:
The uploading module is used for receiving BIM files uploaded by a user through a web end and sending the BIM files to a server end so as to generate BIM map files corresponding to the BIM files through the server end;
The rendering module is used for performing three-dimensional rendering based on the BIM map file through the web end to obtain a three-dimensional BIM model;
The editing module is used for receiving online editing operation for the three-dimensional BIM model through a web end and editing the three-dimensional BIM model based on the online editing operation.
A third aspect of the present application provides a computer readable storage medium storing one or more programs executable by one or more processors to implement the steps in a method of editing a BIM model online based on a B/S architecture as described in any of the above.
A fourth aspect of the present application provides a terminal device, comprising: a processor and a memory;
the memory has stored thereon a computer readable program executable by the processor;
The processor, when executing the computer readable program, implements the steps in the method for online editing of a BIM model based on a B/S architecture as described in any of the above.
The beneficial effects are that: compared with the prior art, the application provides a method for on-line editing BIM model based on B/S architecture and related equipment, the method comprises the steps of receiving BIM files uploaded by users through a web end, and sending the BIM files to a server end so as to generate BIM map files corresponding to the BIM files through the server end; performing three-dimensional rendering based on the BIM map file through a web end to obtain a three-dimensional BIM model; and receiving an online editing operation for the three-dimensional BIM model through a web end, and editing the three-dimensional BIM model based on the online editing operation. According to the application, based on the B/S architecture, a user does not need to install Revit software, the BIM drawing is directly uploaded through the online web end and processed by the BIM data analysis service of the server end, and then the web end displays the BIM drawing and can edit the BIM drawing online, so that the time spent on online editing of the BIM drawing is saved. Meanwhile, the cross-floor components are divided according to floors, so that each floor can display the corresponding BIM component part, display loss of the BIM components is avoided, and display effect is improved.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for the description of the embodiments will be briefly described below, and it is apparent that the drawings in the following description are only some embodiments of the present application, and other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
FIG. 1 is a flowchart of a method for online editing BIM model based on B/S architecture according to an embodiment of the present application.
FIG. 2 is a flowchart illustrating a method for online editing BIM model based on B/S architecture according to an embodiment of the present application.
Fig. 3 is a flow chart of a BIM map file generation process.
Fig. 4 is a flow chart of an encryption process of GLTF files.
Fig. 5 is a flow diagram of a rendering process.
FIG. 6 is an example of integrating a model within a model library into a BIM model.
FIG. 7 is an example of drawing a graph in a BIM model.
FIG. 8 is an example of drawing navigation points in a BIM model.
Fig. 9 is an example of drawing a navigation line in a BIM model.
FIG. 10 is an example of displaying BIM models through a web page.
FIG. 11 is a schematic structural diagram of a device for online editing BIM model based on B/S architecture according to an embodiment of the present application.
Fig. 12 is a schematic structural diagram of a terminal device according to an embodiment of the present application.
Detailed Description
The embodiment of the application provides a method for on-line editing BIM model based on B/S architecture and related equipment, and in order to make the purposes, technical schemes and effects of the application clearer and more definite, the application is further described in detail below by referring to the drawings and the embodiments. It should be understood that the specific embodiments described herein are for purposes of illustration only and are not intended to limit the scope of the application.
As used herein, the singular forms "a", "an", "the" and "the" are intended to include the plural forms as well, unless expressly stated otherwise, as understood by those skilled in the art. It will be further understood that the terms "comprises" and/or "comprising," when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof. It will be understood that when an element is referred to as being "connected" or "coupled" to another element, it can be directly connected or coupled to the other element or intervening elements may also be present. Further, "connected" or "coupled" as used herein may include wirelessly connected or wirelessly coupled. The term "and/or" as used herein includes all or any element and all combination of one or more of the associated listed items.
It will be understood by those skilled in the art that all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs unless defined otherwise. It will be further understood that terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of the prior art and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein.
It should be understood that the sequence number and the size of each step in this embodiment do not mean the sequence of execution, and the execution sequence of each process is determined by the function and the internal logic of each process, and should not be construed as limiting the implementation process of the embodiment of the present application.
According to research, with the development of cloud technology, more and more application programs start to move to the web end, and a user can conveniently open the application programs through a webpage or a mobile phone. BIM (Building Information Modeling) as a datamation tool applied to engineering design, construction and management, how to quickly render a BIM map through a webpage becomes a main research direction at present.
At present, when BIM drawings are displayed through webpages, revit software is generally required to be installed in advance, after the BIM drawings are opened through the Revit software, data in the BIM drawings are analyzed through Revit plug-in units, and the BIM drawings are packed and uploaded to a server for display, so that the web side can only display the BIM drawings and cannot edit the BIM images on line. When the BIM image is required to be edited online, the BIM image is required to be modified in the Revit software and then uploaded for data conversion, so that the time required for editing the BIM drawing is increased, and inconvenience is brought to a user. In addition, when the BIM drawing is displayed on line, the BIM floor structure conversion adopts a building tree structure in original Revit software, for example, an external curtain wall which spans multiple floors is allocated to one floor. Then, when other floors corresponding to the external curtain wall are switched and displayed, the problem of external curtain wall missing occurs, and the display effect is further affected.
In order to solve the above problems, in the embodiment of the present application, a web terminal receives a BIM file uploaded by a user, and sends the BIM file to a server terminal, so as to generate a BIM map file corresponding to the BIM file through the server terminal; performing three-dimensional rendering based on the BIM map file through a web end to obtain a three-dimensional BIM model; and receiving an online editing operation for the three-dimensional BIM model through a web end, and editing the three-dimensional BIM model based on the online editing operation. According to the application, based on the B/S architecture, a user does not need to install Revit software, the BIM drawing is directly uploaded through the online web end and processed by the BIM data analysis service of the server end, and then the web end displays the BIM drawing and can edit the BIM drawing online, so that the time spent on online editing of the BIM drawing is saved. The online BIM editor can perform three-dimensional rendering on the map file, adopts a browser indexDB cache strategy, supports BIM-derived GLTF model setting parameter translation, rotation, scaling, deletion and copying, and sets LOD display level. Meanwhile, the on-line BIM editor also supports vector drawing, text labeling, picture uploading and the like, and draws navigation points and navigation lines in the BIM map file to provide path planning, positioning and navigation functions. Meanwhile, the cross-floor components are divided according to floors, so that each floor can display the corresponding BIM component part, display loss of the BIM components is avoided, and display effect is improved.
The application will be further described by the description of embodiments with reference to the accompanying drawings.
The embodiment provides a method for on-line editing of BIM (building information modeling) based on a B/S (browser/Server) framework, which is applied to the B/S framework, wherein the B/S framework comprises a web end and a server end, and the web end is used for receiving BIM files uploaded by a user and transmitting the received BIM files to the server end; the server side is used for generating a BIM map file based on the BIM file; the web end is further used for performing three-dimensional rendering on the BIM map file to obtain a three-dimensional BIM model, receiving online editing operation on the three-dimensional BIM model, and editing the three-dimensional BIM model based on the online editing operation to realize online editing of the BIM model.
As shown in fig. 1 and fig. 2, the method for online editing of a BIM model based on a B/S architecture provided in this embodiment specifically includes:
s10, receiving BIM files uploaded by a user through a web terminal, and sending the BIM files to a server terminal so as to generate BIM map files corresponding to the BIM files through the server terminal.
Specifically, the BIM file is uploaded through the web end and can be uploaded to the server through the web end, the web end reads the file format of the BIM file after receiving the BIM file, judges whether the read file format is contained in a preset file format database, and uploads the BIM file to the server when the read file format is contained in the preset file format database; when the read file format is not contained in the preset file format database, prompting BIM file uploading errors. Thus, the web side can be prevented from transmitting BIM files with wrong file formats to the server side. The preset file format database is preset and is used for storing BIM file formats which can be edited online by the method provided by the embodiment of the application, for example, the preset file format database comprises RVT formats, IFC formats and the like.
In one implementation manner, the generating, by the server, the BIM map file corresponding to the BIM file specifically includes:
s11, analyzing the BIM file to obtain a BIM model file, wherein the BIM model file comprises three-dimensional geometric information of each BIM component in the BIM file;
and S12, generating a BIM map file corresponding to the BIM file through map generation service based on the BIM model file.
Specifically, in step S11, the BIM file includes a plurality of BIM members, the BIM model file includes three-dimensional geometric information of each of the BIM members in the BIM file, that is, three-dimensional data of the BIM members is stored in the BIM model file, and two-dimensional data of the BIM members is stored in the BIM file. Therefore, when the BIM file is analyzed to obtain the BIM model file, BIM components included in the BIM file are analyzed first, and then each BIM component obtained through analysis is converted into a three-dimensional model to obtain three-dimensional geometric information of each BIM component. When the BIM component is converted into the three-dimensional model, the BIM component can be directly stretched to obtain the corresponding three-dimensional model, or can be stretched according to the BIM component type of the BIM component.
In one implementation, as shown in fig. 3, the parsing the BIM file to obtain a BIM model file specifically includes:
s111, determining analysis software corresponding to the BIM file according to the file format of the BIM file, and analyzing the BIM file through the analysis software to read BIM components in the BIM file;
S112, pulling BIM components belonging to the regular geometric body into a three-dimensional regular geometric body, converting the BIM components belonging to the irregular geometric body into GLTF models, and encrypting GLTF files in each GLTF model;
s113, determining a BIM model file based on all three-dimensional regular geometric bodies and the GLTF models.
Specifically, the file format is used to reflect the data format of the BIM file, where the file format may be RVT format, IFC format, and the like. The parsing software is used for parsing the BIM file to read the component information of each BIM component in the BIM file. In the embodiment of the present application, as shown in fig. 3, the server supports BIM files in RVT format and IFC format. After the service end reads the BIM file, checking the file format of the BIM file, and if the file format is the IFC format, starting IFC software (such as IFCREAder. Exe) IFCREAder. Exe to analyze the BIM file; if the file format is RVT format, the data is parsed by the Revit software.
Further, when the file format is RVT data format, the first 10000 bytes of the head of the BIM file can be read first, then the version number of the BIM file is extracted through the regular expression, and when the version number is a preset version number or is located behind the preset version number, the Revit software corresponding to the version number is called to analyze the BIM file; when the version number is located before the preset version number, the latest version of Revit software is directly called to upgrade the BIM file to the latest version, and then the BIM file is analyzed through the latest version of Revit software. Therefore, by judging the version number of the BIM file in advance, the Revit software plug-in service corresponding to the version number can be directly started to analyze the data, the problem that the BIM file needs to be updated due to the fact that analysis software higher than the version number of the BIM file is adopted is avoided, and the analysis speed of the BIM file is improved. The preset version number is preset, for example, the preset version number is Revit 2006.
After determining the parsing software corresponding to the BIM file, parsing the BIM file by using the parsing software, where the parsing process may be to record each floor of the BIM building in the BIM file into the database floor table BIMFloorTable, and store the fields of the boundary geometry point data outline, the floor number fnum, the floor height, the floor name and the like of each floor. Each room component on each floor in the BIM building is stored in database room table BIMRoomTable, recording the field attributes of the room component's ID, name, data dataid, type typeid, set of boundary geometry points outline, height, center point coordinates xyz, LOD display level showlevel, texture material style styleid, associated GLTF model modelid, floor fnum, scaling translation rotation parameters of the model, click-able bclick, delete bdelete, etc.
In addition, when the BIM file is parsed, since the BIM file may include a cross-floor member crossing a plurality of floors, in order to avoid the problem that a part of floors crossed by the cross-floor member cannot display the cross-floor member, the read BIM member may be detected to determine whether the BIM file includes the cross-floor member, and when the cross-floor member exists, the cross-floor member is divided according to the real floors. Based on this, in one implementation, after parsing the BIM file by the parsing software to read BIM components in the BIM file, the method further includes:
S01, dividing each floor-crossing component in all read BIM components into a plurality of segmented components according to the real height of the floor, and taking each segmented component as a BIM component;
S02, regarding each non-cross-floor component in all read BIM components, taking each non-cross-floor component as one BIM component.
Specifically, for the cross-floor member, the cutting is performed according to the floor real height, wherein the floor real height can be uploaded by a user through a web terminal or can be contained in a BIM file. The real height of the floor can adopt a JSON storage parameter configuration field, and the longitude and latitude coordinates of the WGS84 where the building center point is located can be synchronously stored when the real height of the floor is stored. For example, the WGS84 latitude and longitude coordinates of the floor level and the building center point may be stored as:
{
"center":{x:33.5,y:114.2},
"floorset":{
"B01":-5.4,
"F01":0,
"F02":5.1,
"F03":9.6,
"F04":14.4
}
}
Further, after the cross-floor member is divided into a plurality of sectional members according to the real height of the floor, each sectional member is used as an independent BIM member, and each sectional member is displayed when the floor where the sectional member is located is displayed, so that on one hand, the shielding problem caused by displaying the whole cross-floor member on each floor can be avoided, and the problem that display is missing on other floors caused by displaying the cross-floor member on only one floor can be avoided. For example, assuming that the cross-floor component is a curtain wall crossing from 1 floor to 3 floors, the curtain wall is divided into three identical sectional components according to the level of each floor, and then each sectional component is used as an independent BIM component, when the building 1 is displayed, only the sectional component corresponding to the building 1 is required to be displayed, so that the sight problem caused by displaying the whole curtain wall is avoided.
In addition, in practical application, since the BIM file is a plane coordinate, in order to facilitate the integration and use of the BIM model file and the GIS system, after resolving each BIM component, the BIM coordinate of each BIM component can be matched with the WGS84 longitude and latitude coordinate of the building center point, so as to obtain the real WGS84 longitude and latitude coordinate of each BIM component.
Further, in step S112, the regular geometric body includes a polygonal column and a circular pipe, wherein the polygonal column stores a bottom side polygonal point set and a height, and then stretches the bottom side polygon in a height direction based on the height to obtain a three-dimensional regular geometric body; the circular pipe can be stretched into a three-dimensional regular geometric body according to the coordinates, the radius and the length of the central points of the two sides. The irregular geometric body is output to a folder through GLTF format protocols to be stored so as to obtain GLTF models corresponding to the irregular geometric body, each GLTF model of the irregular geometric body comprises GLTF files, bin files and texture pictures, the GLTF files are files which can be directly loaded by a web terminal, and the GLTF files are in a JSON format, so that GLTF file configuration and reading can be facilitated, and a user can obtain all GLTF files to directly use.
In order to ensure the safety of the GLTF model, GLTF files in the GLTF model can be encrypted after the GLTF model is generated, wherein when GLTF files are encrypted, the GLTF files can be completely encrypted directly by adopting the existing encryption algorithm, and part of files in the GLTF files can be encrypted by adopting the existing algorithm. In the embodiment of the present application, as shown in fig. 4, the encrypting the GLTF file in each GLTF model specifically includes:
acquiring the number of node files corresponding to each file type in the JSON format content in the GLTF model;
Determining a first encryption parameter according to the number of all the read node files, and randomly generating a second encryption parameter;
Encrypting the node file of the preset file type in the JSON format content based on the second encryption parameter, and storing the second encryption parameter and the hash value of the sum of the first encryption parameter and the second encryption parameter into the JSON format content.
Specifically, GLTF files are stored in JSON format, GLTF files include node files of several file types, and each file type may correspond to multiple node files. Therefore, each node file in GLTF files can be read by reading the JSON format content, then the file type of each node file is obtained, and finally the node file statistics is carried out according to the file type to obtain the number of the node files corresponding to each file type. Wherein, the file type may include a scene, and a gltf file may store a plurality of scenes, each scene including one or more node; node is a node in the scene graph hierarchy, each node may contain an array child named, which contains the index of its child nodes (i.e., the third node may contain information about the first two nodes); view configuration camera is view configuration of rendering a scene; geometric object mesh, which includes accessor and material, accessor is an object for accessing actual geometric data, an appearance object when the material geometric object is rendered; vertex parameter information skin, node change data animation, sampler and picture image, wherein the sampler is used for defining sampling and filtering modes of pictures and positioning to picture resources through uri.
The first encryption parameter is used for verifying the second encryption parameter, and the second encryption parameter is used for encrypting the node file of the preset file type in the JSON format content, wherein the second encryption parameter is randomly generated and can be any positive integer between 0 and 100000. The first encryption parameter may be a sum of the numbers of the files, a product of the numbers of the files, a weighted result of the numbers of the files, or the like. In the embodiment of the present application, the first encryption parameter is obtained by multiplying the number of all nodes, and correspondingly, the calculation formula of the first encryption parameter may be:
doubleA0=(Count1)*(Count2)*(Count3)*....*(CountN);
longA0=(long)(A01%10000000);
Wherein A0 represents a first encryption parameter, counti represents the number of files, and N represents the number of file types.
Further, the preset file type is preset, for example, the preset file type is nodes, bufferViews, or nodes and bufferViews, etc. Of course, in practical application, the preset file type may be set according to practical requirements, for example, it may also be buffers or the like. In the embodiment of the present application, the preset file types are nodes and bufferViews, and encrypting the node file of the preset file type in the JSON format content based on the second encryption parameter may specifically be: the method comprises the steps of carrying out multiplication substitution on a content byte stream in the nodes through a second encryption parameter displacement encryption byte 64 character string and a byteOffset value in bufferViews and A1, wherein the pseudo code of carrying out the second encryption parameter displacement encryption byte stream in the nodes can be as follows:
string encodedata=MyHash.encode("KEY",(JArray)scenes0["nodes"]);
byte[]encodedatabytes=System.Text.Encoding.UTF8.GetBytes(encodedata);
string encodedata2=Convert.ToBase64String(encodedatabytes)。
The pseudo code to multiply the byteOffset value inside bufferViews with A1 to replace may be:
JArray nodes=(JArray)js["bufferViews"];
for(int i=0;i<nodes.Count;i++)
{
JObject o =(JObject)nodes[i];
double byteOffset=Convert.ToDouble(o["byteOffset"]);
byteOffset=byteOffset*((A1%100)+1)+i;
o["byteOffset"]=byteOffset;
}。
further, after encrypting the GLTF file by the second encryption parameter, storing the second encryption parameter and the hash value of the sum of the first encryption parameter and the second encryption parameter into the JSON format content, wherein the hash value can be expressed as:
string hash=MyBase64.encode64(A1+MyBase64.encode64(A0+"ESMAPENCODE"));
where A1 represents the second encryption parameter and A0 represents the first encryption parameter.
According to the embodiment of the application, the hash value of the sum of the first encryption parameter and the second encryption parameter is stored in the JSON format content, and the second encryption parameter can be verified through the hash value and the first encryption parameter, so that the second encryption parameter can be prevented from being modified. Of course, when the GLTF model needs to be rendered, after the online BIM editor map rendering engine decrypts the first encryption parameter and the second encryption parameter, the first encryption parameter and the second encryption parameter can be verified through the hash code stored in the JSON format content, and when the verification is correct, file contents in a preset file type in a GLTF file in the GLTF model are decrypted.
In addition, after the GLTF files are encrypted, GLTF files in each GLTF model can be copied under the model folder of the BIM map, and texture pictures in each GLTF model can be copied under the BIM map style theme folder. Therefore, the server can acquire BIM component data from the model folder and the BIM map style theme file to generate a BIM map file based on the protobuf protocol, and the data amount serialized by the protobuf protocol is small, so that the transmission and loading speed is high. Of course, for a BIM component of a regular geometry, its pair of three-dimensional regular geometries can be read directly.
And S20, performing three-dimensional rendering on the basis of the BIM map file through the web end to obtain a three-dimensional BIM model.
Specifically, the BIM map file comprises BIM component data, the web side can request the BIM map file from the server side, then the BIM component data is analyzed from the BIM map file, instead of directly inquiring all BIM component data loading in real time at one time from the database interface of the server side, the inquiring pressure of the database is reduced, and the performance of the server side is saved.
Further, when the web end performs three-dimensional rendering on the BIM map file to obtain a three-dimensional BIM model, the BIM map file can be directly read by a BIM rendering engine, and then all BIM component data are read from the BIM map file to perform rendering, or alternatively, the web can adopt a browser indexDB to cache GLTF file strategy, and when the latest GLTF file is cached by the browser indexDB, the GLTF file cached by the browser indexDB is directly called; when the browser indexDB does not cache the latest GLTF files, BIM map files are acquired from the server, so that secondary request data of the browser can be reduced, BUFFER information needed by a rendering engine is saved, secondary direct loading is performed, the analysis process is reduced, and the loading display speed is increased.
In one particular implementation, each BIM member in the BIM map file is configured with a LOD display level; the performing three-dimensional rendering based on the BIM map file through the web end to obtain a three-dimensional BIM model specifically comprises the following steps:
Determining a member to be displayed corresponding to the BIM map file based on LOD display levels configured by the BIM members and a screen display range of a web end;
and rendering the component to be displayed by adopting an index caching strategy, and displaying the rendered three-dimensional BIM model.
Specifically, each BIM member may be configured with a display level, for example, a display level, a display range, and the like are assigned to each BIM member by visual experience knowledge. The webGL rendering engine can be combined with the display grade and the display range of the BIM components to quickly determine whether each BIM component is loaded and displayed, so that the BIM map files can be loaded and displayed according to the requirement, and the BIM components are not completely loaded into BIM scenes and then removed, and the display speed of the BIM map files is improved. That is, the webGL rendering engine may determine which component models need to be loaded according to the map range displayed on the screen, for example, only the component model outside the building is initially loaded, the component model not within the screen range is not displayed, and then the displayed construction model is correspondingly adjusted according to the change of the field of view of the screen, so that the rendering performance problem may be solved.
Further, as shown in fig. 5, a specific process of rendering the member to be displayed by adopting an index cache policy and displaying the three-dimensional BIM model obtained by rendering may be:
Detecting whether GLTF files of the member to be displayed exist time update files based on the time stamp;
when the file is updated in the presence time, reading the BIM map file through the server side and generating BUFFER information based on the read BIM map file, and when the file is not updated in the presence time, reading the BUFFER information corresponding to the BIM map file cached by the web side;
and reading the BUFFER information by a BIM rendering engine to obtain a three-dimensional BIM model.
Specifically, acquiring associated files of GLTF files, such as a bin file, a png file and the like, then comparing the time stamps of the associated files of GLTF files in the BIM map file with the time stamps of the associated files of GLTF files cached in a web terminal, judging GLTF that a time update file exists in the files when the time stamps of the two associated files are different, reading the BIM map file through the server terminal, and generating BUFFER information based on the read BIM map file; otherwise, when the time stamps of the two associated files are the same, the web side is read to cache BUFFER information corresponding to the BIM map file, so that network bandwidth and analysis time can be saved, and the loading display speed is increased.
Further, when the time update file exists, the BIM map file can be directly obtained again by reading the BIM map file by the server side and generating BUFFER information based on the read BIM map file, then the BUFFER information can be generated based on the BIM map file, the time update file can also be obtained from the BIM map file of the server side, the time update file is analyzed to obtain BUFFER information corresponding to the time update file, and finally the BUFFER information corresponding to the update file is updated to the BUFFER information of the BIM map file to obtain the BUFFER information of the final BIM map file. In the embodiment of the application, the BUFFER information of the latest BIM map file is determined by acquiring the time update file from the BIM map file of the server, and the determination process is as follows: and re-reading the time update file from the server, analyzing the time update file to determine BUFFER information, and finally storing the BUFFER information into indexDB caches of the web side, wherein the BUFFER information can comprise vertexes, normal vectors, UV data and the like.
S30, receiving online editing operation for the three-dimensional BIM model through a web end, and editing the three-dimensional BIM model based on the online editing operation.
Specifically, each BIM component in the three-dimensional BIM model is an independent map element, and can be edited online, that is, online editing operation can be performed on any one BIM component in the three-dimensional BIM model, and online editing operation can include one or more of setting a BIM component display parameter, adding BIM component information, and deleting a BIM component. The embodiment of the application enables the BIM model to be edited through the web end, so that the BIM model does not need to be modified in revit software each time when the BIM model is modified, the data conversion time is saved, and the editing efficiency is improved.
In one implementation manner, the receiving, by the web end, an online editing operation for the three-dimensional BIM model, and editing the three-dimensional BIM model based on the online editing operation specifically includes:
displaying the three-dimensional BIM model through a BIM online editor of a web end, wherein each floor in the three-dimensional BIM model is independently displayed and edited;
Receiving an online editing operation for the three-dimensional BIM model;
And performing batch editing on the three-dimensional BIM model based on online editing operation, and submitting batch edited data to a server by JSON data so that the server regenerates the BIM map file.
Specifically, the web-side online BIM editor webpage displays BIM components through the online webGL rendering engine by reading the data of each BIM component in the BIM map file, wherein each BIM component is an independent map element, and one or more operations of setting BIM component display parameters, adding BIM component information and deleting BIM components can be performed. Setting BIM element display parameters may include setting operations such as panning, rotating, zooming, LOD display level, name, style styleID, clicking bclick, and changing related names, adding BIM element information may include adding geometry, text labels, picture labels, and 3dmax models, etc., deleting BIM elements may be used to delete useless BIM elements, etc. In addition, when the web end responds to the online editing operation, the web end can take effect in real time on the BIM map file displayed on the web without refreshing the web page to reload.
Further, the online editing operation is executed each time the online editing operation is received, batch processing can be performed on the online editing operation, that is, a plurality of online editing operations can be submitted in batches at one time, the editing contents of the plurality of online editing operations are submitted to a server through a JSON format protocol to be stored in a database, a map file generation interface of the server is called to regenerate a BIM map file, and next refreshing webpage loading is also effective. Therefore, the web end can edit the BIM file under the condition of not loading revit software, and the online editing speed of the BIM file is improved.
Setting BIM component display parameters comprises setting translation coefficients, rotation coefficients, scaling coefficients and LOD display grades. That is, the scaling factor, the translation factor, the rotation factor, the LOD display level, etc. of the BIM model may also be recorded in the database for the webGL rendering engine to load and display. Of course, after loading the scaling factor, the translation factor, the rotation factor, and the LOD display level, online adjustments may also be made, e.g., adjusting the LOD display level, adjusting the translation factor, etc.
Further, adding BIM component information comprises adding a geometric body, a text label, a picture label and a 3dmax model. That is, when online editing is performed, a three-dimensional model made of 3dmax may be integrated onto the BIM map file, so that the BIM model has the capability of outputting fbx, obj, gltf data formats, for example, as shown in fig. 6, a cylindrical model may be integrated into the BIM map file. Alternatively, the vector regular polygon space geometric body may be drawn onto the BIM map in advance, and stored in the database to record outline and height information of the polygon geometric body, and then the BIM map rendering engine generates a corresponding pull-up geometric body, for example, as shown in fig. 7, drawing an ellipse and integrating the ellipse into the BIM map file. Related POI picture labels or text labels can also be added, and the functional purpose of each room can be expressed through the text and the picture. Thus, online maintenance and sharing can be more quickly performed through online editing without installing Revit software to view the BIM three-dimensional model.
In an implementation manner of the embodiment of the present application, the receiving, by the web end, an online editing operation for the three-dimensional BIM model, and editing the three-dimensional BIM model based on the online editing operation further includes:
Receiving a drawing navigation operation through a web terminal, and acquiring navigation data corresponding to the drawing navigation operation, wherein the navigation data are navigation lines or a plurality of navigation points;
and drawing a navigation line in the three-dimensional BIM model based on the navigation data.
Specifically, during online editing, a user may perform a drawing navigation operation on the BIM map through an online editor, wherein the drawing navigation operation may be used to draw a navigation line and/or a navigation point. That is, the user may draw navigation points and navigation lines on the BIM map, and then the online editor may acquire navigation data corresponding to the drawing navigation operation and form navigation points or navigation lines on the BIM map based on the navigation data. For example, as shown in fig. 8 and 9, navigation points and navigation lines may be drawn on the BIM map, where the navigation points mainly include attributes such as ID, name, coordinate xyz, type typeid, etc.; the navigation line may include attributes such as ID, name, start ID, end ID, road class rank, road class typeid, line distance, line coordinate set outline, single line bidirectional direction, line style styleid, etc.; each road line is associated through a connection point ID, basic data are provided for a BIM map engine path planning Astar algorithm, a path planning and navigation function is provided through the BIM map engine, a data base is provided for mobile terminal positioning navigation rapidly, the problem that a BIM model after BIM drawing light weight is used for map visualization is solved, the BIM model can be used for positioning navigation map use, and the BIM drawing data utilization rate is improved.
Further, when online editing is performed, the edited BIM model is stored, web online BIM sharing browsing display is provided, cross-platform is realized through webGL, and mobile phones, weChats and computers can view the BIM model through web pages without installing BIM software and plug-ins. For example, as shown in FIG. 10, the BIM model may be viewed through a web page.
In summary, the embodiment provides a method for online editing of a BIM model based on a B/S architecture, which realizes online editing, beautifying, maintenance and display of a BIM file web, avoids a user from installing a Revit related client tool, can directly check BIM drawings on any device through a browser, and improves convenience in checking the BIM drawings; the BIM components are horizontally divided according to floors, so that only the needed BIM components are displayed according to floors for an editor, and the three-dimensional performance of web rendering is quickened; by adopting the browser indexDB to cache GLTF model strategy, the browser secondary request data is reduced, BUFFER information required by a rendering engine is saved, the secondary direct loading is realized, the analysis process is reduced, and the loading display speed is increased; by setting LOD display level of each BIM component, batch loading condition problem of BIM rendering is relieved, more BIM components are displayed when BIM model is enlarged, a plurality of indoor small BIM components are hidden when enlarged, and three-dimensional performance of webGL rendering is balanced. The method has the advantages that the protobuf format is adopted to generate the BIM map file, so that the data confidentiality and security after BIM conversion are improved, and the network transmission pressure is effectively reduced; the defect that the BIM later editing needs to use Revit special software and cannot be in butt joint with a web management system is overcome through the web online editor, and the efficiency of three-dimensional visual development is improved.
Based on the above method for online editing of BIM model based on B/S architecture, the embodiment provides a device for online editing of BIM model based on B/S architecture, as shown in FIG. 11, the device for online editing of BIM model based on B/S architecture specifically includes:
The uploading module 100 is configured to receive a BIM file uploaded by a user through a web end, and send the BIM file to a server end, so as to generate a BIM map file corresponding to the BIM file through the server end;
The rendering module 200 is configured to perform three-dimensional rendering based on the BIM map file through the web end to obtain a three-dimensional BIM model;
The editing module 300 is configured to receive an online editing operation for the three-dimensional BIM model through a web end, and edit the three-dimensional BIM model based on the online editing operation.
Based on the above-described method for online editing of a BIM model based on a B/S architecture, the present embodiment provides a computer-readable storage medium storing one or more programs executable by one or more processors to implement the steps in the method for online editing of a BIM model based on a B/S architecture as described in the above-described embodiment.
Based on the method for online editing BIM model based on B/S architecture, the application also provides a terminal device, as shown in FIG. 12, which comprises at least one processor (processor) 20; a display screen 21; and a memory (memory) 22, which may also include a communication interface (Communications Interface) 23 and a bus 24. Wherein the processor 20, the display 21, the memory 22 and the communication interface 23 may communicate with each other via a bus 24. The display screen 21 is configured to display a user guidance interface preset in the initial setting mode. The communication interface 23 may transmit information. The processor 20 may invoke logic instructions in the memory 22 to perform the methods of the embodiments described above.
Further, the logic instructions in the memory 22 described above may be implemented in the form of software functional units and stored in a computer readable storage medium when sold or used as a stand alone product.
The memory 22, as a computer readable storage medium, may be configured to store a software program, a computer executable program, such as program instructions or modules corresponding to the methods in the embodiments of the present disclosure. The processor 20 performs functional applications and data processing, i.e. implements the methods of the embodiments described above, by running software programs, instructions or modules stored in the memory 22.
The memory 22 may include a storage program area that may store an operating system, at least one application program required for functions, and a storage data area; the storage data area may store data created according to the use of the terminal device, etc. In addition, the memory 22 may include high-speed random access memory, and may also include nonvolatile memory. For example, a plurality of media capable of storing program codes such as a usb disk, a removable hard disk, a Read-Only Memory (ROM), a random access Memory (Random Access Memory, RAM), a magnetic disk, or an optical disk, or a transitory storage medium may be used.
In addition, the specific processes that the storage medium and the plurality of instruction processors in the terminal device load and execute are described in detail in the above method, and are not stated here.
Finally, it should be noted that: the above embodiments are only for illustrating the technical solution of the present application, and are not limiting; although the application has been described in detail with reference to the foregoing embodiments, it will be understood by those of ordinary skill in the art that: the technical scheme described in the foregoing embodiments can be modified or some technical features thereof can be replaced by equivalents; such modifications and substitutions do not depart from the spirit and scope of the technical solutions of the embodiments of the present application.

Claims (10)

1. The method for on-line editing of the BIM model based on the B/S architecture is characterized by comprising the following steps of:
Receiving BIM files uploaded by a user through a web terminal, and sending the BIM files to a server terminal so as to generate BIM map files corresponding to the BIM files through the server terminal;
performing three-dimensional rendering based on the BIM map file through a web end to obtain a three-dimensional BIM model;
And receiving an online editing operation for the three-dimensional BIM model through a web end, and editing the three-dimensional BIM model based on the online editing operation.
2. The method for online editing of a BIM model based on a B/S architecture according to claim 1, wherein the generating, by the server, a BIM map file corresponding to the BIM file specifically includes:
Analyzing the BIM file to obtain a BIM model file, wherein the BIM model file comprises three-dimensional geometric information of each BIM component in the BIM file;
And generating a BIM map file corresponding to the BIM file through map generation service based on the BIM model file.
3. The method for online editing of a BIM model based on a B/S architecture according to claim 2, wherein the parsing the BIM file to obtain the BIM model file specifically includes:
Determining analysis software corresponding to the BIM file according to the file format of the BIM file, and analyzing the BIM file through the analysis software to read BIM components in the BIM file, wherein the cross-floor components in the BIM components are horizontally segmented according to the real height;
Pulling BIM components belonging to regular geometric bodies into three-dimensional regular geometric bodies, converting BIM components belonging to irregular geometric bodies into GLTF models, and encrypting GLTF files in each GLTF model;
A BIM model file is determined based on all three-dimensional regular geometries and the GLTF models.
4. The B/S architecture-based online BIM model editing method of claim 1, wherein each BIM member in the BIM map file is configured with a LOD display level; the performing three-dimensional rendering based on the BIM map file through the web end to obtain a three-dimensional BIM model specifically comprises the following steps:
Determining a member to be displayed corresponding to the BIM map file based on LOD display levels configured by the BIM members and a screen display range of a web end;
and rendering the component to be displayed by adopting an index caching strategy, and displaying the rendered three-dimensional BIM model.
5. The method for online editing of a BIM model based on a B/S architecture according to claim 1, wherein the receiving, through a web side, an online editing operation for the three-dimensional BIM model, and editing the three-dimensional BIM model based on the online editing operation specifically includes:
displaying the three-dimensional BIM model through a BIM online editor of a web end, wherein each floor in the three-dimensional BIM model is independently displayed and edited;
Receiving an online editing operation for the three-dimensional BIM model, wherein the online editing operation comprises one or more of setting BIM component display parameters, adding BIM component information and deleting BIM components;
And performing batch editing on the three-dimensional BIM model based on online editing operation, and submitting batch edited data to a server by JSON data so that the server regenerates the BIM map file.
6. The method of on-line editing BIM models based on the B/S architecture according to claim 5, wherein the setting of the BIM component display parameters includes setting a translation coefficient, a rotation coefficient, a scaling coefficient, and a LOD display level; the BIM component information adding step comprises the steps of adding a geometric body, a text label, a picture label and a 3dmax model; the deleting BIM components includes deleting useless BIM components.
7. The B/S architecture-based online BIM model editing method of claim 1, wherein the receiving, through a web side, an online editing operation for the three-dimensional BIM model, and editing the three-dimensional BIM model based on the online editing operation further comprises:
Receiving a drawing navigation operation through a web terminal, and acquiring navigation data corresponding to the drawing navigation operation, wherein the navigation data are navigation lines or a plurality of navigation points;
and drawing a navigation line in the three-dimensional BIM model based on the navigation data.
8. The device for on-line editing of BIM model based on B/S architecture is characterized in that the device for on-line editing of BIM model based on B/S architecture specifically comprises:
The uploading module is used for receiving BIM files uploaded by a user through a web end and sending the BIM files to a server end so as to generate BIM map files corresponding to the BIM files through the server end;
The rendering module is used for performing three-dimensional rendering based on the BIM map file through the web end to obtain a three-dimensional BIM model;
The editing module is used for receiving online editing operation for the three-dimensional BIM model through a web end and editing the three-dimensional BIM model based on the online editing operation.
9. A computer readable storage medium storing one or more programs executable by one or more processors to implement the steps in the B/S architecture based method of on-line editing of BIM models as claimed in any of claims 1 to 7.
10. A terminal device, comprising: a processor and a memory;
the memory has stored thereon a computer readable program executable by the processor;
the processor, when executing the computer readable program, implements the steps in the method for online editing of BIM models based on B/S architecture as claimed in any of claims 1 to 7.
CN202410620095.0A 2024-05-20 2024-05-20 B/S architecture-based method for online editing BIM model and related equipment Pending CN118194420A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410620095.0A CN118194420A (en) 2024-05-20 2024-05-20 B/S architecture-based method for online editing BIM model and related equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410620095.0A CN118194420A (en) 2024-05-20 2024-05-20 B/S architecture-based method for online editing BIM model and related equipment

Publications (1)

Publication Number Publication Date
CN118194420A true CN118194420A (en) 2024-06-14

Family

ID=91404698

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410620095.0A Pending CN118194420A (en) 2024-05-20 2024-05-20 B/S architecture-based method for online editing BIM model and related equipment

Country Status (1)

Country Link
CN (1) CN118194420A (en)

Similar Documents

Publication Publication Date Title
AU2021212135B2 (en) Building and managing data-processing attributes for modelled data sources
US8199156B2 (en) Collaborative environments in a graphical information system
EP1764744A2 (en) Streaming geometry data using a quasi-pyramidal structure
CN110969691B (en) WebGL-based photographic data scheduling method and system
CN113797554A (en) Game engine resource processing method and device, storage medium and electronic equipment
CN113495730A (en) Resource package generation and analysis method and device
Boutsi et al. Interactive online visualization of complex 3D geometries
CN111107133A (en) Generation method of difference packet, data updating method, device and storage medium
Chen et al. Progressive visualization of complex 3D models over the internet
JP2023519378A (en) Method and apparatus for media scene description
Mwalongo et al. GPU-based remote visualization of dynamic molecular data on the web
CN105593853B (en) Server device, client device, information processing method, and recording medium
CN118194420A (en) B/S architecture-based method for online editing BIM model and related equipment
KR20140133125A (en) Method and apparatus for a client to browse a web page provided by a server
CN114866801B (en) Video data processing method, device, equipment and computer readable storage medium
Diez et al. 3D model management for e-commerce
US20160217115A1 (en) Server device, client device, information processing method, and recording medium
CN114020390A (en) BIM model display method and device, computer equipment and storage medium
US20140023294A1 (en) Bicubic downsampling in a constrained environment
Abate et al. Remote rendering and visualization of large textured 3D models
CN115174993B (en) Method, apparatus, device and storage medium for video production
CN116630552B (en) Optimized rendering method for large-scale three-dimensional process factory model
CN116702218B (en) Rendering method, device, terminal and storage medium of three-dimensional model in applet
Hananto et al. A study on the conversion of VRML to X3D in a highly complex and detailed Web3D world
Davut Evaluating and Improving Performance of Web Applications

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