Modeling parameter linkage pricing method, device and equipment and storage medium
By constructing a directed acyclic graph and an automatic linkage update mechanism, the inefficiency and accuracy problems of parameter changes in parametric modeling were solved, realizing the automated generation of material usage and quotations, and improving design efficiency and accuracy.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SHENZHEN DALEZHUANG CONSTR TECH CO LTD
- Filing Date
- 2025-11-21
- Publication Date
- 2026-04-21
AI Technical Summary
Existing parametric modeling technologies lack an automatic linkage update mechanism when parameters change, resulting in low design efficiency and a high risk of errors. Furthermore, they lack a complete solution for material usage and cost pricing.
By constructing a directed acyclic graph, the dependencies between parameters are analyzed, a parameter linkage update sequence is generated, and the modeling object is updated according to the parameter change values input by the user, calculating material usage and generating a parameterized quotation list.
It enables intelligent linkage updates when parameters change, improving the efficiency and accuracy of parametric modeling and automatically generating material usage and quotation information.
Smart Images

Figure CN121213172B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of data processing technology, and in particular to a method, apparatus, device, and storage medium for modeling parameter linkage pricing. Background Technology
[0002] In existing parametric modeling techniques, when designers need to modify modeling parameters, they usually have to manually adjust other related parameters one by one. For example, after modifying room dimensions in architectural design software, designers must manually recalculate and adjust related parameters such as door and window positions, material usage, and structural parameters. This manual adjustment method is not only inefficient but also prone to omissions or errors.
[0003] Existing technologies lack an effective automatic parameter linkage mechanism, failing to automatically identify and update all relevant parameters when one parameter changes. This results in a significant amount of repetitive work during parametric modeling, severely impacting design efficiency and accuracy. Furthermore, existing technologies lack a complete solution for automatically translating parameter changes into material usage and cost quotations. Summary of the Invention
[0004] The main objective of this invention is to solve the technical problem of low design efficiency and susceptibility to errors caused by the lack of an automatic linkage update mechanism when parameters change in existing parametric modeling technology.
[0005] This invention provides a method for linking modeling parameters to pricing, the method comprising:
[0006] Based on the modeling parameters set by the user, the input modeling elements and external models are configured with parameters to obtain the modeling object and establish variable expressions for each parameter;
[0007] The dependencies between parameters are analyzed based on the variable expressions, a directed acyclic graph is constructed, and a parameter linkage update sequence is generated based on the directed acyclic graph;
[0008] The modeling object is updated according to the parameter change value input by the user and the parameter linkage update sequence, and the material usage is calculated based on the updated modeling object to generate a parameterized quotation list.
[0009] The present invention also provides a modeling parameter linkage pricing device, the modeling parameter linkage pricing device comprising:
[0010] The parameter configuration unit is used to configure the parameters of the input modeling elements and external models according to the modeling parameters set by the user, obtain the modeling object, and establish variable expressions for each parameter.
[0011] The dependency resolution unit is used to resolve the dependency relationships between parameters based on the variable expression, construct a directed acyclic graph, and generate a parameter linkage update sequence based on the directed acyclic graph.
[0012] The linked quotation unit is used to update the modeling object according to the parameter linkage update sequence based on the parameter change value input by the user, and to calculate the material usage and generate a parameterized quotation list based on the updated modeling object.
[0013] The present invention also provides a modeling parameter linkage pricing device, comprising: a memory and at least one processor, wherein the memory stores instructions, and the memory and the at least one processor are interconnected via a circuit; the at least one processor invokes the instructions in the memory to cause the modeling parameter linkage pricing device to perform the steps of the above-described modeling parameter linkage pricing method.
[0014] The present invention also provides a computer-readable storage medium storing instructions that, when executed on a computer, cause the computer to perform the steps of the above-described modeling parameter linkage pricing method.
[0015] The aforementioned modeling parameter linkage pricing method, apparatus, equipment, and storage medium configure the input modeling elements and external models according to user-set modeling parameters to obtain the modeling object and establish variable expressions for each parameter. Based on these variable expressions, the dependencies between parameters are analyzed, a directed acyclic graph (DAG) is constructed, and a parameter linkage update sequence is generated from the DAG. The modeling object is updated according to the parameter change values input by the user, following the parameter linkage update sequence. Finally, material usage is calculated based on the updated modeling object to generate a parameterized pricing list. This invention, through the construction of a DAG and an automatic linkage update mechanism, achieves intelligent linkage updates when parameters change, significantly improving the efficiency and accuracy of parameterized modeling, and automatically generating corresponding material usage and pricing information.
[0016] Other features and advantages of the invention will be set forth in the description which follows, and will be apparent in part from the description, or may be learned by practicing the invention. The objects and other advantages of the invention are realized and obtained in accordance with the structures particularly pointed out in the description, claims and drawings.
[0017] To make the above-mentioned objects, features and advantages of the present invention more apparent and understandable, preferred embodiments are described below in detail with reference to the accompanying drawings. Attached Figure Description
[0018] Figure 1 This is a schematic diagram of the first embodiment of the modeling parameter linkage pricing method in this invention;
[0019] Figure 2 This is a schematic diagram of the second embodiment of the modeling parameter linkage pricing method in this invention;
[0020] Figure 3 This is a schematic diagram of one embodiment of the modeling parameter linkage quotation device in this invention;
[0021] Figure 4 This is a schematic diagram of one embodiment of the modeling parameter linkage quotation device in this invention. Detailed Implementation
[0022] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0023] The terms "comprising" and "having," and any variations thereof, used in the embodiments of this invention are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or device that includes a series of steps or units is not limited to the steps or units listed, but may optionally include other steps or units not listed, or may optionally include other steps or units inherent to these processes, methods, products, or devices.
[0024] To facilitate understanding of this embodiment, a detailed description of the modeling parameter linkage pricing method disclosed in this embodiment of the invention will be provided first. For example... Figure 1 As shown, this method includes the following steps:
[0025] 101. Configure the parameters of the input modeling elements and external models according to the modeling parameters set by the user, obtain the modeling object, and establish variable expressions for each parameter;
[0026] In this embodiment, configuring the input modeling elements and external models according to the modeling parameters set by the user, obtaining the modeling object, and establishing variable expressions for each parameter includes: configuring the attributes of the modeling elements and external models according to the modeling parameters set by the user, establishing parameter identifier mapping relationships, and obtaining the modeling object and parameter mapping table; binding the mathematical expressions input by the user according to the parameter mapping table to obtain variable expressions.
[0027] Furthermore, the step of configuring the attributes of the modeling element and the external model according to the modeling parameters set by the user, establishing a parameter identifier mapping relationship, and obtaining the modeling object and the parameter mapping table includes: configuring the geometric dimensions, spatial position, and material attributes of the modeling element and the external model numerically according to the modeling parameters set by the user to obtain the modeling object; establishing a unique parameter identifier for each parameter of the modeling object, and establishing a mapping relationship between the parameter identifier and the parameter value through a hash table to obtain the parameter mapping table.
[0028] Specifically, the system first receives modeling elements input by the user, such as basic geometric shapes (e.g., cubes, cylinders, spheres) and external model files imported from third-party software. Users can set modeling parameters through a graphical interface, including but not limited to geometric dimensions (length, width, height, radius, etc.), spatial location parameters (X, Y, Z coordinates), and material properties (material type, density, price coefficient, etc.). For example, for a cylindrical modeling element, the user can set its radius r=5mm, height h=10mm, location coordinates (0,0,0), and material to steel.
[0029] After receiving these parameter settings, the system will numerically configure the static properties of the modeling elements and the external model. The original modeling elements typically have default geometric properties. The system will override these default values based on the user-defined modeling parameters, converting the static geometric properties into variable parametric properties. This process includes property value validation, unit conversion, and data type conversion to ensure that all parameters conform to the system's data specifications. Once configured, the system will generate a modeling object containing all parametric properties. This object not only retains the original geometric shape information but also possesses parametric control capabilities.
[0030] The system assigns unique parameter identifiers to each parameter of the modeled object. These identifiers use a hierarchical naming convention, such as "Object1.Geometry.Radius" and "Object1.Position.X", ensuring that each parameter has a clear identity. Simultaneously, the system establishes a mapping relationship between parameter identifiers and actual parameter values using a hash table data structure. The key of the hash table is the parameter identifier string, and the value is the corresponding numerical data. This mapping relationship supports fast lookup and update operations with O(1) time complexity, significantly improving parameter access efficiency. In practical implementation, the system can create and manage 10 to 100 sets of user-defined variables, each supporting expression assignment. The hash table efficiently stores floating-point numbers with variable values within the range of ±10^6.
[0031] After the parameter mapping table is established, the system processes the mathematical expressions input by the user. Users can define relational expressions between parameters through the node editor or by direct input, such as "volume = π * (r²) * h" and "total_cost = volume * density * unit_price". The system first performs lexical analysis on these mathematical expressions to identify variable symbols, operators, and constants. Based on the parameter mapping table, the system matches and binds the variable symbols in the expressions, establishing associations between abstract variable symbols and specific parameter identifiers. For example, the variables "r" and "h" in the expression "volume = π * (r²) * h" will be bound to the corresponding parameter identifiers "Object1.Geometry.Radius" and "Object1.Geometry.Height".
[0032] Through the variable binding process described above, the system converts user-input mathematical expressions into executable variable expressions. These variable expressions are stored in the form of an abstract syntax tree, where the nodes contain operator and operand information, and the leaf nodes store references to parameter identifiers. Variable expressions not only contain mathematical operation logic but also establish associations with specific parameters, enabling the system to dynamically calculate the expression result based on changes in parameter values.
[0033] Furthermore, the step of binding variables to the user-input mathematical expression according to the parameter mapping table to obtain the variable expression includes: performing lexical analysis on the user-input mathematical expression to identify variable symbols, operators, and numerical constants in the mathematical expression, and obtaining a sequence of expression lexical units; performing syntactic analysis on the expression lexical unit sequence using a recursive descent algorithm to construct an abstract syntax tree, and obtaining the expression syntax structure; and searching and matching variable symbols in the expression syntax structure according to the parameter mapping table, establishing a binding relationship between the variable symbols and the corresponding parameter identifiers to obtain the variable expression.
[0034] Furthermore, the step of performing syntactic analysis on the expression lexical unit sequence using a recursive descent algorithm to construct an abstract syntax tree and obtain the expression syntax structure includes: recursively processing the expression lexical unit sequence according to predefined grammar rules to identify the operator precedence and nesting structure of the expression; constructing a tree-like node relationship based on the operator precedence and nesting structure, with operators as internal nodes and operands as leaf nodes, to obtain the expression syntax structure.
[0035] Specifically, the system first performs lexical analysis on the mathematical expression input by the user. Taking the expression "volume = π* (r²) * h + base_area" as an example, the lexical analyzer scans the input string character by character according to predefined lexical rules. The system will identify variable symbols including "volume", "r", "h", and "base_area", operators including "=", "*", "+", and "²", and numerical constants including special constants such as "π". The lexical analyzer uses a finite state automaton for token recognition. When it encounters a character sequence starting with a letter, it identifies it as a variable name; when it encounters a sequence of numbers, it identifies it as a value; and when it encounters a specific combination of symbols, it identifies it as an operator. During the analysis, the system filters out meaningless characters such as spaces and tabs, and finally generates a sequence of expression lexical units containing all valid tokens.
[0036] After lexical analysis, the system employs a recursive descent algorithm to perform syntax analysis on the sequence of lexical units. Recursive descent is a top-down syntax analysis method where the system recursively processes each component of an expression according to predefined grammar rules. The algorithm first identifies the highest priority structure in the expression, such as assignment statements, and then recursively processes the arithmetic expressions on the right-hand side. For the arithmetic expression "π * (r²) * h + base_area", the algorithm processes the exponentiation operation "r²" first, then the multiplication operation "π * (r²) * h", and finally the addition operation, according to operator precedence rules. During the recursive process, each grammar rule corresponds to a processing function, and nested grammar structures are processed through recursive calls between functions.
[0037] The system constructs an abstract syntax tree (AST) structure for expressions using a recursive descent algorithm. An AST is a tree-like representation of the expression's syntactic structure, where internal nodes represent operators and leaf nodes represent operands (variables or constants). For example, in the expression "π * (r²) * h", the root node is the multiplication operator "*", the left subtree is the constant node "π", the right subtree is another multiplication operator "*", the left subtree of which is the exponentiation operator "²" (whose child node is the variable "r"), and the right subtree is the variable node "h". The AST not only preserves the computational logic of the expression but also clarifies the operator precedence and associativity, ensuring that subsequent calculations are performed in the correct order.
[0038] After syntax analysis, the system searches for and matches variable symbols in the abstract syntax tree (AST) based on the parameter mapping table. The system traverses all leaf nodes of the AST, searching for the corresponding parameter identifier in the parameter mapping table for each variable node. The search process uses a hash table for fast retrieval, with a time complexity of O(1). For example, when the system encounters the variable symbol "r", it searches the parameter mapping table for a corresponding parameter identifier, such as "Object1.Geometry.Radius". If a matching parameter identifier is found, the system records this binding relationship in the corresponding node of the AST; if no match is found, the system reports an undefined variable error.
[0039] During variable binding, the system also performs type compatibility checks. Different types of parameters (such as length, area, and volume) have different units of measurement, and the system verifies whether the types of each variable in the expression conform to the rules of mathematical operations. For example, in the volume calculation expression "volume = π * (r²) * h", the radius r and height h are both in the dimension of length, and their product should be in the dimension of volume. The system will verify whether the type of the variable volume on the left is a volume type.
[0040] After binding all variable symbols, the system generates the final variable expression. This expression contains a complete abstract syntax tree structure and the binding relationships between all variables and parameter identifiers. It possesses complete semantic information, enabling not only numerical calculations but also the identification of dependencies between parameters. The system stores the variable expression in memory, using the principle of symbolic dependencies to ensure dynamic relationships between variables, and efficiently stores variable values using a hash table to avoid duplicate calculations. The expression parser interacts with the data binding system, registering the corresponding data binding relationships. When parameter values change, the relevant variable expression can be automatically recalculated.
[0041] 102. Based on the variable expression, parse the dependencies between parameters, construct a directed acyclic graph, and generate a parameter linkage update sequence based on the directed acyclic graph;
[0042] In this embodiment, the step of parsing the dependencies between parameters based on the variable expression, constructing a directed acyclic graph, and generating a parameter linkage update sequence based on the directed acyclic graph includes: parsing the variable expression, identifying the dependencies between parameters, and constructing a directed acyclic graph; and executing a topological sorting algorithm based on the directed acyclic graph to obtain the parameter linkage update sequence.
[0043] Furthermore, the step of parsing the variable expressions, identifying the dependencies between parameters, and constructing a directed acyclic graph includes: performing recursive descent parsing on the variable expressions, identifying the input and output variables in each variable expression, and obtaining the dependencies between parameters; constructing a directed graph structure based on the dependencies and verifying acyclicity through a loop detection algorithm to obtain a directed acyclic graph.
[0044] Specifically, the system performs recursive descent parsing on each variable expression, identifying parameter dependencies by traversing the node structure of the abstract syntax tree. Taking the variable expression "volume = π * (r²) * h" as an example, the system first identifies the output variable as "volume," then recursively traverses the syntax tree structure of the expression on the right, identifying the input variables as "r" and "h." For more complex nested expressions, the system employs a depth-first search strategy, parsing the variable reference relationships in the expression layer by layer. During the recursive parsing process, the system identifies each variable node in the expression and analyzes its role in the expression: providing numerical values as input parameters or receiving calculation results as output parameters. Through recursive analysis of all variable expressions, the system can fully identify the direct dependencies between parameters.
[0045] After identifying the input-output relationships of all variable expressions, the system constructs a dependency data structure between parameters. The system uses an adjacency list to store the relationship matrix, recording the association between each parameter and its dependent parameters. Dependencies are organized in the form of a graph, where nodes represent parameter variables and edges represent dependency chains between parameters. For example, when `volume` depends on `r` and `h`, the system records the dependency chains from `r` to `volume` and from `h` to `volume` in the dependency network. The system summarizes and organizes all dependencies to establish a complete parameter dependency network, which can support dependency management for sets of 10 to 100 user-defined variables.
[0046] Based on parameter dependencies, the system constructs a directed graph structure to represent the dependency network between parameters. In this directed graph, each parameter is a node, and the dependencies between parameters are represented by directed edges, with the direction of the edges pointing from the dependent parameter to the variable that depends on that parameter. The system uses an adjacency list to store the relationship matrix to represent the directed graph structure, and each node maintains a list recording the target nodes of all its outgoing edges. During the graph construction process, the system assigns a unique node identifier to each parameter node and establishes a bidirectional mapping relationship between node identifiers and parameter identifiers. The number of edges in the directed graph is controlled to within 500 to ensure the computational efficiency and stability of the system.
[0047] After the graph structure is constructed, the system verifies the acyclicity of the graph using a cycle detection algorithm. Cycle detection employs a depth-first search (DFS) algorithm, where the system maintains three states for each node: unvisited, currently visited, and visited. The algorithm starts with any unvisited node and performs a depth-first traversal, marking the currently visited node as "currently visited." If a node in the "currently visited" state is encountered during the traversal, it indicates the existence of a cycle. By repeating this process for all unvisited nodes, the system can detect the presence of any cycles in the graph. After successful acyclicity verification, the system confirms the existence of a valid directed acyclic graph structure, which guarantees that no circular dependencies will occur during parameter updates.
[0048] The system executes a topological sorting algorithm on a directed acyclic graph to generate a parameter-linked update sequence. The topological sorting algorithm first calculates the in-degree of each node in the graph, i.e., the number of edges pointing to that node. The algorithm maintains a queue, adding all nodes with an in-degree of zero as initial processing nodes. The algorithm removes a node from the queue, adds it to the topological sort result sequence, and then iterates through all outgoing edges of that node, decrementing the in-degree of the corresponding target node by one. If the in-degree of the target node becomes zero, it is added to the queue to await processing. This process is repeated until the queue is empty, ultimately obtaining a topological sort sequence of all nodes.
[0049] During topology sorting, the system simultaneously calculates the update priority and cascading update path for each parameter node. The update priority of a node is determined based on its position in the topology sequence, with nodes at the beginning of the sequence having higher priority. The system also calculates the dependency depth of each node, which is the length of the longest path from the root node to that node. The dependency depth reflects the cascading impact range during parameter updates. The system generates the final parameter-linked update sequence using the topologysort(V,E) algorithm (where V is the set of nodes and E is the set of edges). This sequence ensures that when a parameter changes, all other parameters that depend on it are updated in the correct order.
[0050] Furthermore, the step of executing a topological sorting algorithm based on the directed acyclic graph to obtain a parameter linkage update sequence includes: calculating the in-degree value of each parameter node in the directed acyclic graph, adding parameter nodes with an in-degree value of zero to a priority queue to obtain an initial computation node queue; processing parameter nodes sequentially according to the topological sorting rules based on the initial computation node queue, updating the in-degree values of adjacent parameter nodes, and adding new parameter nodes with zero in-degree values to the queue to obtain a topological sorting sequence of parameter nodes; calculating the dependency depth and influence range of each parameter node based on the topological sorting sequence, marking the priority of each parameter node in the cascading update, and obtaining a parameter linkage update sequence.
[0051] Furthermore, the step of calculating the dependency depth and influence range of each parameter node based on the topological sorting sequence, and marking the priority of each parameter node in the cascading update to obtain the parameter linkage update sequence includes: calculating the dependency depth of each parameter node using a dynamic programming method, and determining the dependency depth of each parameter node as the maximum value of the dependency depths of all predecessor nodes plus one; traversing backwards from the end of the topological sorting sequence to calculate the influence range of each parameter node, and determining the influence range of each parameter node as the sum of the influence ranges of all successor nodes plus one; and comprehensively determining the priority of each parameter node in the cascading update based on the dependency depth and influence range to obtain the parameter linkage update sequence.
[0052] Specifically, the step of executing a topological sorting algorithm based on the directed acyclic graph (DAG) to calculate the update priority and cascading update path of the parameter nodes in the DAG to obtain the parameter linkage update sequence includes: calculating the in-degree value of each parameter node in the DAG, adding parameter nodes with an in-degree value of zero to a priority queue to obtain an initial computation node queue; processing parameter nodes sequentially according to the topological sorting rules based on the initial computation node queue, updating the in-degree values of adjacent parameter nodes, and adding new parameter nodes with zero in-degree values to the queue to obtain a topological sorting sequence of parameter nodes; calculating the dependency depth and influence range of each parameter node based on the topological sorting sequence, marking the priority of each parameter node in the cascading update, and obtaining the parameter linkage update sequence.
[0053] Specifically, the system first traverses all parameter nodes in the directed acyclic graph (DAG) and calculates the in-degree value of each node. The in-degree value represents the number of directed edges pointing to that node, reflecting how many other parameters depend on that parameter. For example, for the parameter node "volume", if the calculation expressions for the three parameters "length", "width", and "height" all reference the "volume" parameter, then the in-degree value of the "volume" node is 3. The system calculates the in-degree value by traversing an adjacency list, incrementing the in-degree counter of the target node by one for each directed edge in the graph. After the calculation is complete, the system identifies all parameter nodes with an in-degree value of zero. These nodes represent basic parameters that do not depend on any other parameters, such as geometric dimension parameters or material property parameters directly set by the user.
[0054] The system adds all parameter nodes with an in-degree of zero to a priority queue, forming the initial computation node queue. The priority queue is implemented using a min-heap data structure, and the priority of a node is determined based on the importance and computational complexity of the parameter. For example, fundamental geometric parameters typically have higher priority because their changes affect more downstream parameters. The use of the priority queue ensures the orderliness and efficiency of the parameter update process, avoiding computational redundancy that might result from random processing. After the initial computation node queue is established, the system prepares to begin the iterative topology sorting process.
[0055] The core iterative process of the topological sorting algorithm begins execution. The system retrieves a parameter node from the priority queue and adds it to the topological sorting result sequence. Then, the system traverses all outgoing edges of that node, finding all neighboring parameter nodes that depend on it. For each neighboring parameter node, the system decrements its in-degree value by one, indicating that one dependency of that node has been satisfied. When the in-degree value of a neighboring parameter node becomes zero, it means that all dependent parameters of that node have been processed, and the system immediately adds that node to the priority queue to await the next round of processing. This process ensures that the calculation order of parameters strictly follows the dependencies, avoiding errors caused by using uncalculated parameter values in calculations.
[0056] The iterative process continues until the priority queue is empty, at which point all parameter nodes have been processed and added to the topological sort sequence. The system verifies the integrity of the topological sort sequence, ensuring that all nodes in the directed acyclic graph are included in the sequence. If the number of nodes in the sequence is less than the total number of nodes in the graph, it indicates the presence of a cycle, and the system reports an error and terminates processing. The generation process of the topological sort sequence reflects the hierarchical structure of dependencies between parameters; the parameters at the beginning of the sequence are typically basic parameters, while the parameters at the end are usually derived parameters calculated based on the preceding parameters.
[0057] Based on the generated topological sorting sequence, the system calculates the dependency depth and influence range of each parameter node. Dependency depth is defined as the length of the longest path from any root node (a node with an in-degree of zero) to the current node. The system uses dynamic programming to calculate dependency depth; for each node in the topological sequence, its dependency depth is equal to the maximum value of the dependency depths of all its predecessor nodes plus one. For example, if parameter A has a dependency depth of 2, parameter B has a dependency depth of 3, and parameter C depends on both A and B, then parameter C has a dependency depth of 4. Dependency depth reflects the hierarchical position of a parameter in the entire dependency network; parameters with greater depth are further down the dependency chain.
[0058] The scope of influence is calculated using a reverse traversal approach. Starting from the end of the topology sequence, the system calculates the scope of influence for each parameter node, i.e., how many other parameters a change in that parameter will directly or indirectly affect. For the parameter node at the end of the sequence, its scope of influence is 1 (it only affects itself). For other nodes, its scope of influence is equal to the sum of the scopes of influence of all successor nodes plus one. Calculating the scope of influence helps the system assess the potential impact of parameter changes; parameter changes with a large scope of influence require more computational resources and time.
[0059] Finally, the system assigns a priority to each parameter node in the cascading update process. The priority considers the node's dependency depth, impact scope, and the parameter's business importance. Parameters with lower dependency depths have higher update priority because they need to be computed first to meet the dependency requirements of subsequent parameters. Simultaneously, parameters with a wider impact scope also receive corresponding priority increases, ensuring timely updates of important parameters. The parameter cascading update sequence generated by the system includes not only the computation order of the parameters but also the priority information for each parameter. This sequence ensures dependency propagation is completed in O(n) time, where n is the number of affected parameter nodes.
[0060] 103. Update the modeling object according to the parameter change value input by the user and the parameter linkage update sequence, and calculate the material usage based on the updated modeling object to generate a parameterized quotation list.
[0061] In this embodiment, after receiving the user's input parameter change value, the system first performs validity verification and threshold detection on the changed value. The system compares the new parameter value input by the user with the current parameter value and calculates the percentage change. The system will only trigger the parameter linkage update process when the change exceeds a preset threshold (e.g., 0.5%), avoiding unnecessary calculation overhead caused by minor changes. For example, when the user changes the radius of the cylinder from 100mm to 105mm, the change is 5%, exceeding the threshold, and the system will initiate the update process.
[0062] The system locates the corresponding parameter node in the parameter update sequence based on the changed parameter value and uses this node as the starting point for the update. The scheduler manages the dependency scheduling of the DAG, using a breadth-first search (BFS) algorithm to traverse the directed acyclic graph to identify the affected parameter node sequence. Starting from the changed parameter node, the algorithm expands outwards hierarchically, traversing all nodes that directly and indirectly depend on that parameter. The system records all nodes in the traversal path, forming a complete list of affected parameter nodes, ensuring that no parameter requiring updating is missed.
[0063] The system recalculates affected parameter nodes according to the parameter linkage update sequence. The recalculation process employs an asynchronous concurrency mechanism, with the system launching 2 to 8 concurrent threads to process parameter nodes that can be computed in parallel. For independent parameters, the system can perform calculations simultaneously, significantly improving update efficiency. During calculation, the system uses a priority queue to optimize the calculation order, ensuring that high-priority parameters are processed first, and keeping the calculation latency within 50ms.
[0064] While recalculating the parameters, the system performs geometric updates on the modeled objects. The system identifies the corresponding modeling components based on the sequence of affected parameter nodes and groups them according to business attributes. A bounding volume hierarchy (BVH) is established for each group of components. The system determines the geometric change region based on parameter changes and performs local reconstruction updates on the affected bounding volume nodes in the BVH structure. The system performs collision detection and spatial queries, accelerating Boolean operations through octree spatial partitioning, including geometric operations such as intersection, union, and difference. The Boolean calculation system utilizes GPU parallel computing to achieve a processing rate of 10^4 operations / second, with accuracy controlled within an error range of 0.01mm.
[0065] After the geometry update is complete, the system extracts the geometric attributes and material information of the updated modeled object, including key parameters such as volume, surface area, and mass. Based on these geometric attributes, the system calculates the material usage of the component; for example, it calculates the amount of concrete based on volume and the amount of paint based on surface area. The material usage calculation uses predefined calculation rules and conversion coefficients to ensure the accuracy of the results.
[0066] Finally, the system generates a parameterized quotation list based on material usage data. The quotation calculation system automatically calculates the material, quantity, and price information of components based on parameter expressions such as "total_cost = count × price". The system applies quotation logic and discount strategies (±10% fluctuation) for cost accounting, generating a structured quotation list containing quantity and price information. The quotation list is output in a standard format, supporting JSON and Excel formats for easy viewing and subsequent processing. The entire update process achieves end-to-end automation from parameter changes to quotation generation.
[0067] In this embodiment, the modeling object is obtained by configuring the input modeling elements and external model according to the modeling parameters set by the user, and variable expressions are established for each parameter. The dependencies between parameters are analyzed based on the variable expressions, a directed acyclic graph (DAG) is constructed, and a parameter linkage update sequence is generated based on the DAG. The modeling object is updated according to the parameter change values input by the user and the parameter linkage update sequence. Material usage is calculated based on the updated modeling object to generate a parameterized quotation list. This invention, by constructing a DAG and an automatic linkage update mechanism, achieves intelligent linkage updates when parameters change, significantly improving the efficiency and accuracy of parameterized modeling, and can automatically generate corresponding material usage and quotation information.
[0068] Please see Figure 2 Another embodiment of the modeling parameter linkage pricing method in this application includes:
[0069] 201. Configure the parameters of the input modeling elements and external models according to the modeling parameters set by the user, obtain the modeling object, and establish variable expressions for each parameter;
[0070] 202. Based on the variable expression, parse the dependency relationship between parameters, construct a directed acyclic graph, and generate a parameter linkage update sequence based on the directed acyclic graph;
[0071] In this embodiment, steps 201-202 are similar to steps 101-102 in the first embodiment, and will not be described again here.
[0072] 203. Determine the affected parameter nodes based on the parameter change values input by the user, and update the modeling object according to the parameter linkage update sequence to obtain the updated modeling object;
[0073] In this embodiment, the step of determining the affected parameter nodes based on the parameter change values input by the user, and updating the modeling object according to the parameter linkage update sequence to obtain the updated modeling object includes: comparing the parameter change values input by the user with a preset threshold, performing a breadth-first search algorithm to traverse the dependency path for the parameter nodes corresponding to parameter change values exceeding the preset threshold, and obtaining the sequence of affected parameter nodes;
[0074] Asynchronous recalculation is performed on the affected parameter node sequence according to the parameter linkage update sequence. Partitioned geometric update and Boolean operation processing are performed on the modeling object to obtain the updated modeling object.
[0075] Furthermore, the asynchronous recalculation based on the affected parameter node sequence according to the parameter linkage update sequence, and the execution of partitioned geometric updates and Boolean operations on the modeling object to obtain the updated modeling object include: identifying the corresponding modeling components based on the affected parameter node sequence, grouping them according to business attributes and establishing a bounding body hierarchy for each group of components to obtain a grouped bounding body hierarchy; determining the geometric change region based on the parameter linkage update sequence, and performing local reconstruction updates on the affected bounding body nodes in the grouped bounding body hierarchy to obtain the updated bounding body hierarchy; performing collision detection and spatial query based on the updated bounding body hierarchy, accelerating Boolean operation calculations through octree spatial partitioning to obtain geometric operation results; and performing concurrent geometric updates on the affected region of the modeling object based on the geometric operation results, and merging the update results into the modeling object to obtain the updated modeling object.
[0076] In this embodiment, the system first performs threshold detection processing on the parameter change values input by the user. The system calculates the percentage change of the parameter change value and compares the calculated percentage change with a preset threshold, which is typically set to 0.5%. For example, when the user changes the diameter of a building column from 500mm to 502mm, the percentage change is 0.4%, which is less than the preset threshold, and the system will not trigger the update process; however, when the user changes the diameter to 510mm, the percentage change is 2%, which exceeds the preset threshold, and the system will initiate the parameter linkage update process.
[0077] For parameter changes exceeding a preset threshold, the system locates the corresponding parameter node in the parameter update sequence. The system maintains a mapping table from parameter identifiers to graph nodes, using hash lookup to quickly locate the node position corresponding to the changed parameter in the directed acyclic graph. After finding the corresponding parameter node, the system marks that node as the starting node for the breadth-first search algorithm.
[0078] The system executes a breadth-first search algorithm to traverse dependent paths. The algorithm maintains a queue data structure, first adding the starting node to the queue. The algorithm then removes a node from the queue, checks all outgoing edges of that node, and finds all neighboring nodes that directly depend on the current node. For each neighboring node, the system checks if it has been visited; unvisited nodes are marked as visited and added to the queue to await processing in the next round. This process is performed hierarchically, ensuring that all nodes at the same level from the starting node are processed in the same round.
[0079] During the traversal, the system records the path information and hierarchical relationships of each visited node. The system records the number of levels from the starting node for each visited node, and also records the complete path from the starting node to the current node. The algorithm supports handling dependency graphs with a maximum of 500 edges, ensuring the efficiency and stability of the traversal process.
[0080] After the breadth-first search algorithm completes, the system organizes the traversal results. The system extracts all parameter nodes visited during the traversal and arranges them according to the order in which they were discovered. The system then deduplicates the node list, removing duplicate nodes to ensure that each affected parameter node appears only once in the sequence. The final generated sequence of affected parameter nodes contains all parameter nodes that need to be recalculated, maintaining a reasonable processing order and ensuring that parameters with shallower dependencies are processed first.
[0081] In this embodiment, the asynchronous recalculation based on the affected parameter node sequence according to the parameter linkage update sequence, and the execution of partitioned geometric updates and Boolean operations on the modeling object to obtain the updated modeling object include: identifying the corresponding modeling components based on the affected parameter node sequence, grouping them according to business attributes and establishing a bounding body hierarchy for each group of components to obtain a grouped bounding body hierarchy; determining the geometric change region based on the parameter linkage update sequence, and performing local reconstruction updates on the affected bounding body nodes in the grouped bounding body hierarchy to obtain the updated bounding body hierarchy; performing collision detection and spatial query based on the updated bounding body hierarchy, accelerating Boolean operation calculations through octree spatial partitioning to obtain geometric operation results; and performing concurrent geometric updates on the affected region of the modeling object based on the geometric operation results, and merging the update results into the modeling object to obtain the updated modeling object.
[0082] Specifically, the system first identifies the corresponding modeling components based on the sequence of affected parameter nodes, and then groups them according to business attributes. Unlike traditional pure spatial division methods, this system adopts a multi-enclosing volume hierarchy strategy based on business grouping, specifically optimizing grouping for the characteristics of building components. The system classifies modeling components according to business dimensions such as functional type, structural attributes, and material characteristics. For example, structural components (beams, columns, slabs) are grouped into one group, decorative components (doors, windows, curtain walls) into another group, and electromechanical components (pipes, equipment) into a third group. The number of components in each group is controlled between 20 and 100. This business-oriented grouping strategy is more suitable for the actual needs of parametric architectural design and can better reflect the logical relationships between building components.
[0083] The system establishes a dedicated bounding volume hierarchy for each business group. Unlike traditional BVH (Bounding Volume Hierarchy), this system's bounding volume hierarchy is deeply integrated with the DAG (Directed Acyclic Graph) dependency graph. When parameters change, the system does not reconstruct the entire BVH structure, but instead precisely locates the bounding volume nodes that need updating through parameter-linked update sequences. The system determines the geometric change region based on parameter changes. This process directly utilizes the dependency information in the DAG, enabling it to predict the specific impact range of parameter changes on the geometry. For example, when the column diameter parameter changes, the system can accurately predict the affected area through DAG analysis, performing only local reconstruction and updates on the relevant bounding volume nodes.
[0084] The local reconstruction and update process demonstrates the core advantages of the parameter-driven BVH dynamic reconstruction mechanism. The system starts from the leaf node corresponding to the component whose parameters have changed and recursively updates the bounding box of its parent node upwards, but the update process is precisely controlled by parameter dependencies. Through the dependency information provided by the DAG, the system can determine which bounding volume nodes truly need reconstruction and which can remain unchanged, avoiding the overhead of full reconstruction in traditional methods. This linkage mechanism is a special optimization specifically for parameterized modeling scenarios, organically combining the spatial organization capabilities of BVH with the dependency analysis capabilities of parameterized systems.
[0085] When performing collision detection and spatial queries, the system employs a hybrid strategy of octree spatial partitioning and BVH (Browser-Very-Hybrid) approach. The octree handles the global spatial indexing, recursively dividing the 3D building space according to features such as building floors and regions, with each octree node corresponding to a specific building space region. BVH, on the other hand, handles the fine-grained geometric organization within each spatial region. Together, they form a two-layer spatial indexing system. This hybrid strategy is specifically optimized for the regular characteristics of building geometry, leveraging the fact that building components are typically distributed according to patterns such as floors and rooms.
[0086] During Boolean operations, the system fully leverages the advantages of parameter-driven spatial organization. Through parameter dependency analysis, the system can identify in advance which component combinations may geometrically intersect, avoiding a large number of unnecessary Boolean operations. For example, when the dimensions of a room change, the system can determine through DAG analysis that only components within that room and their adjacent components may intersect, significantly reducing the number of geometries requiring Boolean operations. GPU parallel computing achieves a processing rate of 10^4 operations per second, employing precise calculations based on the volume collision formula volume_collision = volume_A∩ volume_B.
[0087] The final concurrent geometry update process also demonstrates the intelligent scheduling capability of the parametric system. The system launches 2 to 8 concurrent threads, rationally allocating update tasks according to the hierarchical structure of parameter dependencies to ensure that dependent components are updated in the correct order. A timestamp mechanism is used to coordinate different threads during the update process, preventing data races and keeping computational latency within 50ms. The system merges the update results from each thread into a complete modeling object. The resulting updated modeling object fully retains all geometric modifications caused by parameter changes, achieving parameter-driven intelligent geometry updates.
[0088] 204. Calculate the material usage based on the updated modeling object and apply the pricing strategy to generate a parameterized pricing list.
[0089] In this embodiment, the system first extracts key geometric attribute information from the updated modeling object. The geometric attribute extraction process includes calculating key parameters such as volume, surface area, length, and mass. For example, for a concrete column member, the system calculates its volume to determine the amount of concrete used, and calculates its surface area to determine the amount of formwork and coating used. The system employs a precise geometric calculation algorithm to ensure that the calculation accuracy is within a 0.01mm error range. For complex geometries, the system calculates the volume and surface area using a triangular mesh discretization method, and obtains the total geometric attribute value by accumulating the contributions of all triangular meshes.
[0090] During material information extraction, the system acquires key attributes for each component, such as material type, density, and price coefficient. Different materials possess different physical and economic properties; for example, steel has a density of 7850 kg / m³, concrete has a density of 2400 kg / m³, and wood has a density of 600 kg / m³. The system maintains a complete material database containing standard attribute parameters for various building materials. By combining material information with geometric attributes, the actual usage of each material can be accurately calculated.
[0091] The calculation of component material usage employs an automatic statistical method based on parametric expressions. The system uses predefined calculation rules, and for composite components, it calculates the usage of various materials separately. For example, the calculation of reinforced concrete beams includes both concrete and steel reinforcement usage, with the steel reinforcement usage calculated based on the reinforcement ratio and component volume. The system supports complex usage calculation rules and can handle practical engineering considerations such as material wastage and construction allowances.
[0092] During cost calculation, the system multiplies material usage by the corresponding unit price to obtain the total cost. The system maintains a real-time material price database, supporting price differences across regions and time periods. Cost calculation accuracy is controlled to 0.01 currency units to ensure accurate pricing. The final generated bill of materials includes complete information such as the name, specifications, usage, unit price, and total price for each material.
[0093] In this embodiment, the system performs cost accounting based on bill of materials data using complex pricing logic. This pricing logic includes various calculation rules, such as bulk discounts, seasonal price adjustments, and supplier incentives. The system supports flexible pricing strategy configuration, dynamically adjusting prices based on factors such as project size, customer type, and contract terms. For example, when the usage of a certain material exceeds a certain threshold, the system automatically applies a corresponding bulk discount; when the total project amount reaches a specific scale, an additional overall discount is applied.
[0094] The discount strategy employs a tiered calculation approach. The system first calculates the base cost, then applies various discount strategies sequentially. Discount strategies include fixed discounts, percentage discounts, tiered discounts, and more. The system supports discount strategies with a ±10% fluctuation range, allowing for adjustments based on market conditions, competitive landscape, customer relationships, and other factors. The discount calculation process is transparent; the system meticulously records the reasons for each discount application and the calculation process, facilitating subsequent cost analysis and decision support.
[0095] During the cost accounting process, the system integrates the calculation of multiple cost elements. In addition to direct material costs, the system also considers indirect costs such as labor costs, machinery usage fees, management expenses, and profits. Labor costs are calculated based on the unit price and working hours for different types of work, while machinery usage fees are calculated based on equipment type and usage time. The system adopts a parametric cost calculation model, which can automatically adjust various cost parameters according to project characteristics and regional differences.
[0096] The parameterized quotation list is generated using a structured data organization method. The quotation list is categorized and organized according to dimensions such as material category, component type, and construction stage, facilitating user viewing and analysis. Each item includes detailed information such as material code, name, specifications, unit, quantity, unit price, and total price. The system supports multiple output formats, including structured data in JSON format and spreadsheet files in Excel format. The quotation list has excellent traceability; each price data point can be traced back to its calculation source and underlying parameters. When parameters change, the relevant price information is automatically updated, ensuring that the quotation list remains synchronized with design parameters.
[0097] In this embodiment, the modeling object is obtained by configuring the input modeling elements and external model according to the modeling parameters set by the user, and variable expressions are established for each parameter. The dependencies between parameters are analyzed based on the variable expressions, a directed acyclic graph (DAG) is constructed, and a parameter linkage update sequence is generated based on the DAG. The modeling object is updated according to the parameter change values input by the user and the parameter linkage update sequence. Material usage is calculated based on the updated modeling object to generate a parameterized quotation list. This invention, by constructing a DAG and an automatic linkage update mechanism, achieves intelligent linkage updates when parameters change, significantly improving the efficiency and accuracy of parameterized modeling, and can automatically generate corresponding material usage and quotation information.
[0098] The above describes the modeling parameter linkage pricing method in the embodiments of the present invention. The following describes the modeling parameter linkage pricing device in the embodiments of the present invention. Please refer to [link to relevant documentation] for details on this modeling parameter linkage pricing device. Figure 3 One embodiment of the modeling parameter linkage quotation device in this invention includes:
[0099] The parameter configuration unit 301 is used to configure the parameters of the input modeling elements and external models according to the modeling parameters set by the user, obtain the modeling object, and establish variable expressions for each parameter.
[0100] The dependency resolution unit 302 is used to resolve the dependency relationship between parameters according to the variable expression, construct a directed acyclic graph, and generate a parameter linkage update sequence according to the directed acyclic graph;
[0101] The linkage quotation unit 303 is used to update the modeling object according to the parameter linkage update sequence based on the parameter change value input by the user, and to calculate the material usage and generate a parameterized quotation list based on the updated modeling object.
[0102] In this embodiment of the invention, the modeling parameter linkage pricing device operates the aforementioned modeling parameter linkage pricing method. The device configures the input modeling elements and external models according to user-set modeling parameters, obtains the modeling object, and establishes variable expressions for each parameter. It then parses the dependencies between parameters based on these variable expressions, constructs a directed acyclic graph (DAG), and generates a parameter linkage update sequence based on the DAG. Finally, it updates the modeling object according to the parameter change values input by the user, following the parameter linkage update sequence, and calculates material usage based on the updated modeling object to generate a parameterized pricing list. This invention, through the construction of a DAG and an automatic linkage update mechanism, achieves intelligent linkage updates when parameters change, significantly improving the efficiency and accuracy of parameterized modeling, and automatically generating corresponding material usage and pricing information.
[0103] above Figure 3The modeling parameter linkage pricing device in this embodiment of the invention is described in detail from the perspective of unitized functional entities. The modeling parameter linkage pricing device in this embodiment of the invention is described in detail below from the perspective of hardware processing.
[0104] Figure 4 This is a schematic diagram of a modeling parameter linkage pricing device 300 provided in an embodiment of the present invention. The modeling parameter linkage pricing device 300 can vary significantly due to different configurations or performance. It may include one or more central processing units (CPUs) 410 (e.g., one or more processors) and a memory 420, and one or more storage media 430 (e.g., one or more mass storage devices) storing application programs 333 or data 432. The memory 420 and storage media 430 can be temporary or persistent storage. The program stored in the storage media 430 may include one or more units (not shown in the diagram), each unit may include a series of instruction operations on the modeling parameter linkage pricing device 400. Furthermore, the processor 410 may be configured to communicate with the storage media 430 and execute the series of instruction operations in the storage media 430 on the modeling parameter linkage pricing device 400 to implement the steps of the above-described modeling parameter linkage pricing method.
[0105] The modeling parameter linkage quotation device 400 may also include one or more power supplies 440, one or more wired or wireless network interfaces 450, one or more input / output interfaces 460, and / or one or more operating systems 431, such as Windows Server, Mac OS X, Unix, Linux, FreeBSD, etc. Those skilled in the art will understand that... Figure 4 The illustrated modeling parameter linkage pricing device structure does not constitute a limitation on the modeling parameter linkage pricing device provided by the present invention. It may include more or fewer components than illustrated, or combine certain components, or have different component arrangements.
[0106] The present invention also provides a computer-readable storage medium, which can be a non-volatile computer-readable storage medium or a volatile computer-readable storage medium, wherein the computer-readable storage medium stores instructions that, when the instructions are executed on a computer, cause the computer to perform the steps of the modeling parameter linkage pricing method.
[0107] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working process of the system, device, or unit described above can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.
[0108] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0109] 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. Such 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 pricing based on linked modeling parameters, characterized in that, The modeling parameter linkage pricing method includes: Based on the modeling parameters set by the user, the input modeling elements and external models are configured with parameters to obtain the modeling object and establish variable expressions for each parameter; The variable expression is parsed to identify the dependencies between parameters and construct a directed acyclic graph (DAG). The in-degree value of each parameter node in the DAG is calculated, and parameter nodes with an in-degree of zero are added to a priority queue to obtain an initial computation node queue. Based on the initial computation node queue, parameter nodes are processed sequentially according to topological sorting rules, updating the in-degree values of adjacent parameter nodes and adding new parameter nodes with zero in-degree values to the queue, resulting in a topological sorting sequence of parameter nodes. A dynamic programming method is used to calculate the dependency depth of each parameter node, which is determined as the maximum value of the dependency depths of all predecessor nodes plus one. Starting from the end of the topological sorting sequence, the influence range of each parameter node is calculated in reverse order, and the influence range of each parameter node is determined as the sum of the influence ranges of all successor nodes plus one. Based on the dependency depth and influence range, the priority of each parameter node in the cascading update is determined, resulting in a parameter linkage update sequence. The system compares user-input parameter change values with preset thresholds. For parameter change values exceeding the preset threshold, a breadth-first search algorithm is performed to traverse dependency paths, resulting in a sequence of affected parameter nodes. Based on this sequence, the corresponding modeling components are identified, grouped according to business attributes, and bounding body hierarchical structures are established for each group, resulting in a grouped bounding body hierarchical structure. Geometric change regions are determined based on the parameter-linked update sequence, and the affected bounding body nodes in the grouped bounding body hierarchical structure are locally reconstructed and updated, resulting in an updated bounding body hierarchical structure. Collision detection and spatial query are performed based on the updated bounding body hierarchical structure, and Boolean operations are accelerated through octree spatial partitioning to obtain geometric operation results. Concurrent geometric updates are performed on the affected regions of the modeling object based on the geometric operation results, and the update results are merged into the modeling object, resulting in an updated modeling object. Material usage is calculated based on the updated modeling object, and a pricing strategy is applied to generate a parameterized pricing list.
2. The modeling parameter linkage pricing method according to claim 1, characterized in that, The step of configuring parameters for the input modeling elements and external models based on user-defined modeling parameters, obtaining the modeling object, and establishing variable expressions for each parameter includes: Based on the modeling parameters set by the user, the attributes of the modeling elements and the external model are configured, a parameter identification mapping relationship is established, and a modeling object and a parameter mapping table are obtained. The mathematical expression input by the user is bound to variables according to the parameter mapping table to obtain the variable expression.
3. The modeling parameter linkage pricing method according to claim 2, characterized in that, The step of configuring attributes of the modeling elements and external models according to user-set modeling parameters, establishing parameter identifier mapping relationships, and obtaining the modeling object and parameter mapping table includes: The geometric dimensions, spatial position, and material properties of the modeling elements and external models are numerically configured according to the modeling parameters set by the user to obtain the modeling object; A unique parameter identifier is established for each parameter of the modeling object, and a mapping relationship between the parameter identifier and the parameter value is established through a hash table to obtain a parameter mapping table.
4. The modeling parameter linkage pricing method according to claim 2, characterized in that, The step of binding variables to the mathematical expression input by the user according to the parameter mapping table to obtain the variable expression includes: Lexical analysis is performed on the mathematical expression input by the user to identify variable symbols, operators and numerical constants in the mathematical expression, and to obtain the expression lexical unit sequence; The expression's lexical unit sequence is parsed using a recursive descent algorithm to construct an abstract syntax tree and obtain the expression's grammatical structure. The variable symbols in the expression syntax structure are searched and matched according to the parameter mapping table, and a binding relationship is established between the variable symbols and the corresponding parameter identifiers to obtain the variable expression.
5. The modeling parameter linkage pricing method according to claim 4, characterized in that, The step of performing syntactic analysis on the lexical unit sequence of the expression using a recursive descent algorithm to construct an abstract syntax tree and obtain the expression's syntactic structure includes: The expression lexical unit sequence is recursively processed according to predefined grammar rules to identify the operator precedence and nesting structure of the expression; Based on the operator precedence and nesting structure, a tree-like node relationship is constructed, with operators as internal nodes and operands as leaf nodes, to obtain the expression syntax structure.
6. The modeling parameter linkage pricing method according to claim 1, characterized in that, The step of parsing the variable expression, identifying the dependencies between parameters, and constructing a directed acyclic graph includes: The variable expressions are recursively parsed by descent to identify the input and output variables in each variable expression and obtain the dependencies between parameters; Based on the dependencies, a directed graph structure is constructed, and the acyclicity is verified by a loop detection algorithm to obtain a directed acyclic graph.
7. A modeling parameter linkage quotation device, characterized in that, The modeling parameter linkage quotation device includes: The parameter configuration unit is used to configure the parameters of the input modeling elements and external models according to the modeling parameters set by the user, obtain the modeling object, and establish variable expressions for each parameter. A dependency resolution unit is used to parse the variable expression, identify the dependencies between parameters, and construct a directed acyclic graph (DAG). It calculates the in-degree value of each parameter node in the DAG, adds parameter nodes with an in-degree value of zero to a priority queue, and obtains an initial computation node queue. Based on the initial computation node queue, it processes parameter nodes sequentially according to topological sorting rules, updates the in-degree values of adjacent parameter nodes, and adds new parameter nodes with zero in-degree values to the queue, resulting in a topological sorting sequence of parameter nodes. It calculates the dependency depth of each parameter node using dynamic programming, determining the dependency depth of a parameter node as the maximum value of the dependency depths of all predecessor nodes plus one. Starting from the end of the topological sorting sequence, it traverses backwards to calculate the influence range of each parameter node, determining the influence range of a parameter node as the sum of the influence ranges of all successor nodes plus one. Based on the dependency depth and influence range, it comprehensively determines the priority of each parameter node in the cascading update, obtaining a parameter linkage update sequence. The linked quotation unit compares the user-input parameter change value with a preset threshold. For parameter change values exceeding the preset threshold, it performs a breadth-first search algorithm to traverse the dependency path of the parameter nodes, obtaining a sequence of affected parameter nodes. Based on the sequence of affected parameter nodes, it identifies the corresponding modeling components, groups them according to business attributes, and establishes a bounding body hierarchy for each group of components, obtaining a grouped bounding body hierarchy. Based on the parameter linked update sequence, it determines the geometric change region, performs local reconstruction and update of the affected bounding body nodes in the grouped bounding body hierarchy, obtaining an updated bounding body hierarchy. Based on the updated bounding body hierarchy, it performs collision detection and spatial query, accelerates Boolean operation calculations through octree spatial partitioning, and obtains the geometric operation results. Based on the geometric operation results, it performs concurrent geometric updates on the affected regions of the modeling object, merges the update results into the modeling object, obtaining an updated modeling object. Based on the updated modeling object, it calculates the material usage and applies a quotation strategy to generate a parameterized quotation list.
8. A modeling parameter linkage quotation device, characterized in that, The modeling parameter linkage quotation device includes: a memory and at least one processor, wherein the memory stores instructions; The at least one processor invokes the instructions in the memory to cause the modeling parameter linkage pricing device to perform the steps of the modeling parameter linkage pricing method as described in any one of claims 1-6.
9. A computer-readable storage medium storing instructions thereon, characterized in that, When the instruction is executed by the processor, it implements the steps of the modeling parameter linkage pricing method as described in any one of claims 1-6.
Citation Information
Patent Citations
Method and device for generating parameterized model, medium and program product
CN120296815A
Whole-process engineering cost data collaborative management system based on BIM and block chain
CN120931287A