A method for modeling storage and retrieval of software data
By transcoding and decoding non-string data in modeling software, the problem of not being able to intuitively store and view geometric data in existing technologies is solved, realizing intuitive data storage and retrieval, which is convenient for engineers and architects to understand and apply.
Patent Information
- Application Number
- CN202210842329.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-07-18
- Publication Date
- 2026-08-25
- Estimated Expiration
- 2042-07-18
AI Technical Summary
Existing modeling software, such as Rhino, cannot intuitively view, edit, and store geometric data, such as geometric dimensions, drawing time, color, curves, and surfaces, making it difficult for non-drawing personnel to understand and obtain information.
A method for storing and retrieving data in modeling software, including data transcoding and decoding processes, is used to convert non-string data into binary format and finally into string format using keywords and delimiters, thereby achieving intuitive data storage and retrieval.
It enables engineers, architects, and contractors to intuitively view and store geometric data, facilitating the determination of actual building data.
Smart Images

Figure CN115238346B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of data storage and retrieval technology, and specifically to a method for storing and retrieving data from modeling software. Background Technology
[0002] Existing modeling software, such as Rhino, is powerful and widely used in 3D animation, industrial manufacturing, scientific research, and mechanical design, making it a highly effective 3D modeling tool. However, its current functionality lacks the ability to intuitively view, edit, and store geometric data such as dimensions, drawing time, colors, curves, and surfaces. This hinders non-modelers' intuitive understanding and information retrieval from the model. Summary of the Invention
[0003] To address the aforementioned problems, the purpose of this invention is to provide a method for storing and retrieving data from modeling software. This method allows for the intuitive editing, storage, and viewing of geometric data, enabling engineers, architects, and contractors to easily access the data and facilitate the determination of data for real-world buildings.
[0004] Specifically, a method for storing data in modeling software includes the following steps:
[0005] Triggering the storage of user data;
[0006] Determine whether non-string data in the user data supports storage to obtain a first determination result; analyze the first determination result to perform a first transcoding operation on the data that supports storage, converting the data into binary format;
[0007] Determine whether the first transcoding was successful to obtain a second determination result; analyze the second determination result to perform a second transcoding operation on the data that was successfully transcoded in the first transcoding, converting the binary data into a string format;
[0008] Determine whether the second transcoding was successful to obtain a third determination result, analyze the third determination result, and perform a storage operation on the data that was successfully transcoded in the second transcoding.
[0009] Further, the step of determining whether non-string data in the user data supports storage to obtain a first determination result; and analyzing the first determination result to perform a first transcoding operation on the data that supports storage, converting the data into binary format, specifically includes the following steps:
[0010] Pre-defined non-string data types;
[0011] The system compares the non-string user data type with the preset non-string data type to determine if the non-string user data type is among the preset data types. Then, it determines whether the user data type supports storage. If storage is supported, the system performs the first transcoding of the user data. If storage is not supported, the system stops operating on the user data, prompts the user that the data format does not support storage, and ends the user data storage process.
[0012] Further, determining whether the first transcoding was successful to obtain a second determination result; analyzing the second determination result to perform a second transcoding operation on the data that was successfully transcoded in the first transcoding, converting the binary data into a string format specifically includes the following steps:
[0013] Determine the number of delimiters in the first transcoding result; if the number of delimiters in the first transcoding result is greater than zero, the first transcoding is successful, and the transcoded binary data is transcoded a second time; if the number of delimiters in the first transcoding result is less than or equal to zero, the first transcoding is unsuccessful, stop further operations on user data, prompt the user data transcoding failure, and end the user data storage action.
[0014] Furthermore, converting the binary data to a string format specifically includes adding a preset keyword to the beginning of the binary data and connecting the binary arrays separated by delimiters using a feature string.
[0015] Furthermore, the step of determining whether the second transcoding was successful, obtaining a third determination result, analyzing the third determination result, and performing a storage operation on the data that was successfully transcoded the second time specifically includes the following steps:
[0016] Determine the number of delimiters in the second transcoding result; if the number of delimiters in the second transcoding result is equal to 0, the second transcoding is successful, and the transcoded string data is stored; if the number of delimiters in the second transcoding result is greater than 0, the second transcoding is unsuccessful, stop further operations on user data, prompt the user data transcoding failure, and end the user data storage action.
[0017] Specifically, a method for reading data from modeling software includes the following steps:
[0018] Triggering the reading of user data;
[0019] Determine whether the triggered user data is user data with keywords to obtain a fourth determination result; analyze the fourth determination result to perform a first decoding operation on the user data with keywords, converting the string-formatted user data into binary data format;
[0020] Determine whether the first decoding was successful to obtain a fifth determination result, analyze the fifth determination result, and then perform a second decoding operation on the data that was successfully decoded in the first decoding.
[0021] Determine whether the second decoding was successful to obtain a sixth determination result, analyze the sixth determination result, and perform a display operation on the data that was successfully decoded the second time.
[0022] Further, determining whether the triggered user data is user data with keywords to obtain a fourth determination result; analyzing the fourth determination result to perform a first decoding operation on the user data with keywords, converting the string-formatted user data into binary data format specifically includes the following steps:
[0023] Determine whether the triggered user data contains keywords. If the triggered user data contains keywords, perform the first decoding of the data, converting the string-formatted user data into binary data format. If the triggered user data does not contain keywords, stop operating on the user data, prompt that the user data decoding failed, and end the user data reading action.
[0024] Furthermore, the step of determining whether the first decoding was successful to obtain a fifth determination result, and analyzing the fifth determination result to perform a second decoding operation on the data that was successfully decoded in the first decoding, specifically includes the following steps:
[0025] Determine the number of delimiters in the first decoding result; if the number of delimiters in the first decoding result is greater than 0, the first decoding is successful, and the data in the decoded binary format is decoded a second time; if the number of delimiters in the first decoding result is equal to 0, the first decoding is unsuccessful, stop further operation on user data, prompt the user data decoding failure, and end the user data reading action.
[0026] Furthermore, the step of determining whether the second decoding was successful to obtain a sixth determination result, and analyzing the sixth determination result to perform a display operation on the data that was successfully decoded the second time, specifically includes the following steps:
[0027] Determine the number of cells in the second decoding result; if the number of delimiters in the second decoding result is zero, the second decoding is successful, and the data after the second decoding is displayed; if the number of delimiters in the second decoding result is greater than zero, the second decoding is unsuccessful, stop further operation on the user data, prompt the user data decoding failure, and end the user data reading action.
[0028] Furthermore, the following steps are included before triggering the reading of user data:
[0029] Determine whether user data that needs to be triggered is stored. If it is, check whether the user data contains keywords. If not, stop operating on the user data and end the user data reading process.
[0030] The advantages of this invention are:
[0031] This invention provides a method for storing and retrieving data from modeling software, which allows for intuitive editing, storage, and viewing of geometric data. This facilitates engineers, architects, and contractors in visually viewing the data and helps determine the data for real buildings. Attached Figure Description
[0032] Figure 1 This is a flowchart of a method for storing modeling software data according to the present invention;
[0033] Figure 2 This is a flowchart of a method for reading modeling software data according to the present invention;
[0034] Figure 3 This is a schematic diagram of a GeckoPlane panel according to an embodiment of the present invention;
[0035] Figure 4 This is a schematic diagram of the AddUserData panel according to an embodiment of the present invention;
[0036] Figure 5 This is a schematic diagram of a user data processing unit according to an embodiment of the present invention;
[0037] Figure 6 This is a schematic diagram of a user data reading processor according to an embodiment of the present invention;
[0038] Figure 7 This is a schematic diagram of a geometric BIM information preview of an embodiment of the present invention;
[0039] Figure 8 This is a partial schematic diagram of the result after two transcoding operations according to an embodiment of the present invention. Detailed Implementation
[0040] The technical solution of the present invention will be described in more detail below with reference to the accompanying drawings. The present invention includes, but is not limited to, the following embodiments.
[0041] Among them, some non-string data of the geometry in the Rhino model, namely the non-string BIM information of the geometry, includes characters, numbers, time, dimension annotations, colors, and geometric data such as Brep, Surface, Mesh, and Curve.
[0042] As attached Figure 1 The method for storing modeling software data, as shown, includes the following steps:
[0043] S110: Triggers storage of user data. For example: Running Rhino software on the Rhino client to open or create a new document; selecting geometry or creating a new geometry and selecting it; opening GeckoPlane; the mouse hovering over... Figure 4 Right-click on the GeckoPlane panel and click the "Add Data" button to add information data; after clicking the "Add Data" button, the AddUserData panel will appear as follows. Figure 5 In the AddUserData interface, enter the "key" and "value", and click the "Add User Data" button to trigger the storage of user data and add the data.
[0044] S120: Determine whether non-string data in the user data supports storage to obtain a first determination result; analyze the first determination result to perform a first transcoding operation on the data that supports storage, converting the data into binary format.
[0045] Specifically, the steps include the following:
[0046] Pre-defined non-string data types;
[0047] The system compares the non-string user data type with the preset non-string data type to determine if the non-string user data type is among the preset data types. Then, it determines whether the user data type supports storage. If storage is supported, the system performs the first transcoding of the user data. If storage is not supported, the system stops operating on the user data, prompts the user that the data format does not support storage, and ends the user data storage process.
[0048] S130: Determine whether the first transcoding was successful to obtain a second determination result; analyze the second determination result to perform a second transcoding operation on the data that was successfully transcoded in the first transcoding, and convert the binary data into a string format.
[0049] Specifically, the steps include the following:
[0050] Determine the number of delimiters in the first transcoding result; if the number of delimiters in the first transcoding result is greater than zero, the first transcoding is successful, and the transcoded binary data is transcoded a second time; if the number of delimiters in the first transcoding result is less than or equal to zero, the first transcoding is unsuccessful, stop further operations on user data, prompt the user data transcoding failure, and end the user data storage action.
[0051] Specifically, converting the binary data to a string format involves adding a preset keyword to the beginning of the binary data and concatenating the delimited binary arrays using a feature string, converting them into a single element without delimiters. In this embodiment, as shown in the attached diagram... Figure 3 and attached Figure 8 As shown, the preset keywords are such as Geckodata, and the feature strings are such as "#" and "+".
[0052] S140: Determine whether the second transcoding is successful, obtain a third determination result, analyze the third determination result, and perform a storage operation on the data that was successfully transcoded in the second transcoding.
[0053] Specifically, the steps include the following:
[0054] Determine the number of delimiters in the second encoding result; if the number of delimiters in the second encoding result is equal to 0, then the second encoding is successful, and the encoded string data is stored, for example, using the SetUserString method of the Rhino geometry; if the number of delimiters in the second encoding result is greater than 0, then the second encoding is unsuccessful, stop further operations on the user data, prompt the user data encoding failure, and end the user data storage action.
[0055] Another embodiment of triggering user data storage, such as triggering on the Grasshopper side, involves running the Rhino software to open or create a new document, launching the Grasshopper plugin; selecting geometry in Rhino using Brep, Curve, Line, Surface, Mesh, or Geometry operators; and using methods such as... Figure 6 The user data calculator is set up, and the selected geometry is input as BIM data consisting of "keys" and "values".
[0056] In another embodiment of the storage method, in the "key" and "value," the "key" is string data, and the "value" is a preset non-string data type. Only the "value" data is stored using the storage method of this invention, and then read using the reading method of this invention. The separator includes spaces.
[0057] As attached Figure 2 The method for reading data from modeling software, as shown, includes the following steps:
[0058] S210: Triggers the reading of user data. For example, when the Rhino client runs the Rhino software to open or create a new document; selects a geometry or creates a new geometry and selects it; or opens GeckoPlane, it triggers the reading of user data.
[0059] S220: Determine whether the triggered user data is user data with keywords to obtain a fourth determination result; analyze the fourth determination result to perform a first decoding operation on the user data with keywords, converting the string-formatted user data into binary data format.
[0060] Specifically, the steps include the following:
[0061] Determine whether the triggered user data is a string containing a keyword such as "Geckodata". If the triggered string user data is a string user data containing a keyword, then perform the first decoding of the data, converting the string-formatted user data into binary data format. If the triggered user data is user data without a keyword, then stop further operations on the user data, prompt that the user data decoding failed, and end the user data reading action.
[0062] S230: Determine whether the first decoding was successful, obtain a fifth determination result, analyze the fifth determination result, and perform a second decoding operation on the data that was successfully decoded in the first decoding.
[0063] Specifically, the steps include the following:
[0064] The system checks the number of delimiters (e.g., spaces) in the first decoding result. If the number of delimiters in the first decoding result is greater than 0, the first decoding is successful, and the system performs a second decoding on the decoded binary data. If the number of delimiters in the first decoding result is equal to 0, the first decoding is unsuccessful, and the system stops operating on the user data, prompts the user that the data decoding failed, and ends the user data reading process.
[0065] S240: Determine whether the second decoding was successful, obtain a sixth determination result, analyze the sixth determination result, and perform a display operation on the data that was successfully decoded the second time.
[0066] Specifically, the steps include the following:
[0067] Determine the number of cells in the second decoding result; if the number of delimiters in the second decoding result is zero, then the second decoding was successful. Then, process the data after the second decoding as follows: Figure 8 The preview interface and GeckoPlane panel in the BIM information preview of the geometry shown display data. If the number of delimiters in the second decoding result is greater than zero, the second decoding is unsuccessful, the operation on the user data stops, and the user data decoding is prompted that the data decoding failed, ending the user data reading action.
[0068] In another embodiment of triggering user data reading, it is determined whether user data to be triggered is stored. If user data to be triggered is stored, it is determined whether the user data to be triggered has keywords. If user data to be triggered is not stored, the operation on user data is stopped and the user data reading action is terminated.
[0069] For example, triggering in Grasshopper to open or create a new document in Rhino; selecting geometry in Rhino using Brep, Curve, Line, Surface, Mesh, or Geometry operators; and using methods such as... Figure 7 The user data reading processor retrieves the "key" of the selected geometry's BIM data and determines whether the geometry contains the input "key". If the geometry contains the input "key", it checks whether the triggered user data has the keyword; if the geometry does not contain the input "key", it stops operating on the user data and ends the user data reading process.
[0070] The above-described embodiments are only used to illustrate the technical solutions of the present invention, and are not intended to limit it. Although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features; and these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present invention.
Claims
1. A method for storing data in modeling software, characterized in that, The steps include the following: Triggering the storage of user data; Determine whether non-string data in the user data supports storage to obtain a first determination result; analyze the first determination result to perform a first transcoding operation on the data that supports storage, converting the data into binary format; Determine whether the first transcoding was successful to obtain a second determination result; Analyze the second judgment result, and perform a second transcoding operation on the data that was successfully transcoded the first time, to convert the binary data into string format; Determine whether the second transcoding was successful, obtain a third determination result, analyze the third determination result, and perform a storage operation on the data that was successfully transcoded in the second transcoding. The step of determining whether non-string data in the user data supports storage to obtain a first determination result; analyzing the first determination result to perform a first transcoding operation on the data that supports storage, converting the data into binary format, specifically includes the following steps: Pre-defined non-string data types; Compare the non-string user data type with the preset non-string data type to determine whether the non-string user data type is in the preset data type, and then determine whether the user data type supports storage. If it supports storage, perform the first transcoding of the user data. If storage is not supported, stop operating on user data, prompt the user that the data format is not supported for storage, and end the user data storage process.
2. The method for storing modeling software data according to claim 1, characterized in that, The process of determining whether the first transcoding was successful to obtain a second determination result, and analyzing the second determination result to perform a second transcoding operation on the data that was successfully transcoded in the first transcoding, converting the binary data into a string format, specifically includes the following steps: Determine the number of delimiters in the first transcoding result; if the number of delimiters in the first transcoding result is greater than zero, the first transcoding is successful, and the transcoded binary data is transcoded a second time. If the number of delimiters in the first transcoding result is less than or equal to zero, the first transcoding is unsuccessful. Operations on user data will stop, and a message indicating that the user data transcoding failed will be displayed, ending the user data storage process.
3. A method for storing modeling software data according to claim 1 or 2, characterized in that, Converting the binary data to a string format specifically includes adding a preset keyword to the beginning of the binary data and connecting the binary arrays separated by delimiters using a feature string.
4. The method for storing modeling software data according to claim 1, characterized in that, The process of determining whether the second transcoding was successful, obtaining a third determination result, analyzing the third determination result, and performing a storage operation on the data that was successfully transcoded the second time specifically includes the following steps: Determine the number of delimiters in the second transcoding result; if the number of delimiters in the second transcoding result is equal to 0, then the second transcoding is successful, and the transcoded string data is stored. If the number of delimiters in the second transcoding result is greater than 0, the second transcoding will fail, and operations on the user data will be stopped. A message indicating that the user data transcoding failed will be displayed, and the storage of the user data will be terminated.