Interaction system and modularization implementation method for reinforcement parameter driving design of prefabricated part
By binding parameter schema with dependency graph and verifying rule base, the problems of high script dependency and low iteration efficiency in the design of precast component reinforcement are solved, realizing efficient parameter-driven design and specification verification, and improving the availability and maintainability of the system.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- HUBEI JIAOTONG CONSTR GRP CO LTD
- Filing Date
- 2025-12-25
- Publication Date
- 2026-04-21
AI Technical Summary
Existing technologies in the design of reinforcement for precast components suffer from problems such as high script dependence, high programming threshold, untimely 3D feedback due to parameter modifications, low iteration efficiency, lack of in-depth verification of standards, and high expansion and maintenance costs due to loose coupling of system architecture.
By adopting a parameter schema and binding it with the parameter-reinforcement entity, the affected subgraph is located through the dependency graph to generate a change patch sequence. Combined with the rule base for compliance verification and plugin governance, parameter-driven reinforcement model updates and standard verification are achieved, reducing script dependencies and improving iteration efficiency and compliance.
It enables the generation and adjustment of reinforcement schemes without programming, improves the speed and efficiency of 3D feedback and iteration, reduces human interpretation errors, lowers the cost of extended maintenance, and improves the availability and maintainability of the system.
Smart Images

Figure CN121902255A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of precast component modeling technology, specifically to an interactive system and modular implementation method for precast component reinforcement parameter-driven design. Background Technology
[0002] In highway engineering, precast T-beams, small box girders, circular culverts, cover plates, drainage ditches, and other precast components are widely used due to their controllable quality and rapid construction. The correctness of the reinforcement design and the accuracy of the drawings / material cutting data directly affect structural safety, factory processing, and on-site assembly efficiency. With the advancement of BIM 3D design and digital delivery, the industry expects to quickly generate reinforcement models in a parametric manner in a 3D environment, and simultaneously update the 3D results and engineering data when adjusting parameters, in order to support scheme comparison and standardized production.
[0003] Existing similar solutions mostly employ the method of "Revit as the model carrier + Dynamo visual programming to drive automatic reinforcement modeling": key dimensions such as beam height and web thickness are defined as driving parameters. When the parameters change, the Dynamo script calls the Revit reinforcement API to create / modify the reinforcement model, thus achieving a certain degree of parametric generation.
[0004] The aforementioned Revit+Dynamo approach still has significant shortcomings in the design of reinforced concrete components for highway precast components: First, design implementation relies on script / node arrangement, and complex reinforcement logic requires strong programming skills, making it difficult to popularize among traditional designers; Second, parameter modifications are often triggered by script recalculation or manual reconstruction, resulting in insufficient 3D feedback and low efficiency in solution iteration; Third, common implementations tend to focus on geometric generation, lacking embedded verification and interpretable violation location that are deeply coupled with industry standard provisions, requiring manual judgment for compliance and making it difficult to reduce errors and omissions from the source; Fourth, the system architecture is mostly a loosely coupled stack of "script + platform," making it difficult to decompose the modeling engine, standard verification, interactive interface, and data output into manageable plug-in modules, resulting in high maintenance costs and poor reusability when expanding new components, rules, and interfaces. Summary of the Invention
[0005] Based on the above description, the present invention provides an interactive system and modular implementation method for precast component reinforcement parameter-driven design, which reduces script dependence, enables real-time updates of dependency graph incremental patches, automatic compliance positioning, and low-cost expansion through plugin governance.
[0006] On the one hand, the technical solution of the present invention to solve the above-mentioned technical problems is as follows: an interactive system for driving the design of precast component reinforcement parameters, comprising:
[0007] The parameter management and binding module is used to maintain the parameter schema of precast components and establish the binding relationship between parameters and steel reinforcement entities;
[0008] The incremental update engine is used to locate the affected subgraph and generate a sequence of change patches for updating the 3D rebar model when a parameter change is received, based on the dependency graph composed of parameter nodes, derived nodes and rebar entity nodes.
[0009] The model application module is used to apply the change patch sequence to the 3D steel reinforcement model in a transactional manner and drive the display refresh.
[0010] The change patch sequence includes at least one or more operations such as adding, deleting, geometric transformation, morphological editing, and attribute editing;
[0011] It also includes a rule base module and an interpretable validation module;
[0012] The rule base module stores reinforcement layout rules and / or specification verification rules in the form of constraint declarations. The constraint declarations include at least constraint expressions, scope of application, severity level, evidence data fields, and correction strategy templates.
[0013] The interpretable verification module is used to perform compliance verification on the three-dimensional steel reinforcement model or its derivatives based on the evidence data field, output a list of violations, and generate a causal chain corresponding to each violation based on the dependency graph.
[0014] It also includes an interactive interface, which includes a parameter panel and a violation interaction area. The parameter panel is grouped and displayed according to component type parameters, geometric parameters, reinforcement parameters and specification options and supports interactive modification. The violation interaction area highlights the violation reinforcement entities and displays the corresponding clauses / rules and the causal chain, and restricts fine-grained generation or data output when the violation is not eliminated.
[0015] The above technical solution, through parameter schema and parameter-reinforcement entity binding, allows designers to directly drive reinforcement logic in the parameter panel without relying on script / node orchestration; the dependency graph locates affected subgraphs and generates change patch sequences, combined with transactional local addition / deletion / deformation / attribute modification, avoiding lag and inconsistency caused by overall script recalculation or manual reconstruction, thus improving 3D feedback speed and iteration efficiency; the rule base precipitates specifications with constraint declarations, and the verification module outputs violations, clause basis, and causal chains, and links them with highlighting and submission restrictions, reducing manual interpretation and errors, and improving compliance and maintainability from the source.
[0016] Based on the above technical solution, the present invention can be further improved as follows.
[0017] Furthermore, the dependency graph describes the dependency relationship of "parameter-derived quantity-reinforcement entity" through directed edges; the incremental update engine marks the parameter nodes that have changed and traverses along the dependency direction to determine the affected subgraph, recalculates the derived quantity of the affected subgraph in topological order, and generates the change patch sequence only for the reinforcement entities associated with the affected subgraph; wherein the reinforcement entity nodes include at least one or more of the following: reinforcement group, single reinforcement, reinforcement segment, and bend point.
[0018] Furthermore, the model application module uses segmented or batch transaction submission for the change patch sequence; and during continuous interactive input, it performs de-jitter merging on multiple parameter changes to generate a merged patch sequence and perform local updates, thereby avoiding the full reconstruction of the three-dimensional steel reinforcement model.
[0019] Furthermore, when the interpretable verification module detects a violation, it generates one or more sets of correction suggestion parameters based on the correction strategy template and the preset minimum change objective function, and sorts the correction suggestions according to a preset priority; after the user selects or automatically selects a correction suggestion, the interactive system triggers the incremental update engine to regenerate the patch sequence and cyclically verify until compliance conditions are met.
[0020] Furthermore, the display refresh adopts a dual-channel mechanism, including a preview channel and a submission channel:
[0021] The preview channel incrementally refreshes the rebar proxy geometry, skeleton lines, or envelope based on the change patch sequence to enable real-time preview;
[0022] Once the submission channel meets the compliance requirements, it generates a detailed 3D rebar model containing bending details and rebar attribute information, and generates or updates the output of engineering data such as cutting length, number of bars, and / or quantity of work.
[0023] Furthermore, it also includes a plugin governance module and a solution management module: the plugin governance module is used to extend component types, rule sets, and data interfaces in the form of plugin packages; each plugin package contains a manifest file, which declares at least parameter schema, dependency image segments, rule sets, correction strategy templates, compatibility information, and capability list; the plugin governance module parses and performs conflict detection based on version and dependency relationships, and calls system interfaces in a controlled manner according to the capability list in an isolated environment; engineering data output is achieved through data interface plugins; the solution management module is used to form multiple design schemes for different parameter sets and supports saving, switching, and comparison display, and records an audit chain for each scheme, which includes at least parameter snapshots, rule version information, plugin version information, change patch sequences, and engineering data export records to support rollback and reproduction.
[0024] Furthermore, a preset minimum change objective function is used to quantitatively evaluate the change cost of each set of suggested correction parameters relative to the current parameter set. The change cost includes at least the cost of parameter change magnitude, steel reinforcement material cost, and / or construction complexity cost. The preset priority includes at least: prioritizing the adjustment of steel reinforcement spacing and / or placement, followed by adjusting the number of steel reinforcements, and then adjusting the steel reinforcement diameter and / or steel reinforcement morphology parameters. When the severity level of a violation reaches a preset threshold, the system automatically selects the set of suggested correction parameters with the lowest total cost and triggers the incremental update engine to generate and apply a change patch sequence.
[0025] On the one hand, the technical solution of the present invention to solve the above-mentioned technical problems is as follows: a modular implementation method of an interactive system for precast component reinforcement parameter-driven design, comprising the following steps: S1, establishing and maintaining the parameter schema of the component parameters, and establishing the binding relationship between parameters and reinforcement entities; S2, constructing a dependency graph containing parameter nodes, derived quantity nodes and reinforcement entity nodes; S3, responding to parameter changes, locating the affected subgraph in the dependency graph and recalculating the derived quantity according to the topological order, and generating a change patch sequence that only applies to the affected reinforcement entities;
[0026] S4, update the 3D steel reinforcement model and drive the display refresh by applying the change patch sequence in a transactional manner, wherein the patch sequence includes at least one or more of the following: adding, deleting, geometric transformation, morphological editing, and attribute editing.
[0027] By structuring the relationship between parameters, derived quantities, and rebar entities into a dependency graph through S1~S4, and recalculating derived quantities in topological order, parameter changes only trigger calculations of the affected subgraphs. This generates a patch sequence that only affects the affected rebar entities and atomically updates the model in a transactional manner, thereby avoiding full recalculation, improving the timeliness of 3D feedback, and increasing the efficiency of solution iteration. At the same time, since the update process is solidified into executable steps, rebar updates no longer rely on repeated debugging of Dynamo scripts, lowering the barrier to entry and making it easier to encapsulate each step into a reusable module to reduce subsequent maintenance costs.
[0028] Furthermore, it also includes: S5, storing reinforcement layout rules and / or specification verification rules in the form of constraint declarations, wherein the constraint declarations include at least constraint expressions, scope of application, severity level, evidence data fields and correction strategy templates;
[0029] S6: Perform compliance verification based on evidence data fields and output violations and causal chains; when violations exist, generate and sort a set of correction suggestion parameters based on the correction strategy template and the minimum change objective function, select and apply correction suggestions, and then iteratively execute the recalculation of affected subgraphs, patch updates, and compliance verification until compliance is achieved; S7: Use a dual-channel mechanism for display refresh: the preview channel incrementally refreshes the rebar proxy geometry, skeleton lines, or envelope, while the submission channel generates a detailed 3D rebar model containing bending details and attribute information after compliance and outputs engineering data such as cutting length, number of bars, and / or quantity of work; and restricts the generation or output of data in the submission channel while the violation is not eliminated.
[0030] Furthermore, the modular implementation includes: encapsulating at least a portion of parameter management and binding, incremental updates, rule base, interpretable verification, data interface, and scheme management into a plugin package and declaring parameter schema, dependency image segments, rule sets, correction strategy templates, compatibility information, and capability list through a manifest file; performing version and dependency parsing on the plugin package and performing conflict detection; controlling the invocation of system interfaces according to the capability list in an isolated environment; and recording an audit chain, which at least includes parameter snapshots, rule version information, plugin version information, change patch sequences, and project data export records to support scheme saving, switching, comparison, rollback, and reproduction.
[0031] Compared with the prior art, the technical solution of this application has the following beneficial technical effects:
[0032] 1. Reduce script dependency, improve availability and consistency. By binding parameter schema with parameter-reinforcement entity, the complex reinforcement layout logic and interactive operation are moved from script / node arrangement to the system kernel and parameter panel, realizing the design method of "parameter is control, what you see is what you get". This allows traditional designers to complete the generation, adjustment and review of reinforcement schemes without programming, reducing the operational threshold and inconsistency of results caused by script differences and manual reconstruction.
[0033] 2. Improve the speed of 3D feedback and the efficiency of scheme iteration; locate the affected subgraph based on the dependency graph of "parameter-derived quantity-reinforcement entity", generate change patch sequence only for the affected area, and apply it locally in a transactional manner (supporting debouncing merging and batch submission), avoiding parameter changes from triggering full recalculation or overall reconstruction, significantly reducing the computation and modeling overhead; with the dual-channel preview / submission mechanism, realize the separation of fast preview and fine model generation, improve the smoothness of interaction and iteration efficiency;
[0034] 3. Enhance compliance closed-loop capabilities and system scalability and maintainability. Solidify specifications / deployment rules into "constraint statements (expressions, scope of application, level, evidence fields, correction templates)," verify output violations and causal chains based on dependency graph backtracking, and restrict fine-grained generation or data output when violations are not eliminated. At the same time, provide correction suggestions based on the minimum modification objective function and achieve closed-loop convergence, reducing errors and omissions caused by manual interpretation. Implement modular governance through plugin package lists, version dependency resolution, conflict detection, and isolated controlled calls. Combine the solution audit chain to record parameter / rule / plugin versions and patch sequences, reducing the maintenance cost of expanding new components, new rules, and new interfaces and improving reusability. Attached Figure Description
[0035] Figure 1 This is a schematic diagram of the overall structure of the interactive system according to Embodiment 1 of the present invention;
[0036] Figure 2 This is a schematic diagram of the parameter schema and the binding relationship between the parameter and the rebar entity in Embodiment 1 of the present invention;
[0037] Figure 3 This is a schematic diagram of the P / D / R dependency graph and the location of the affected subgraph in Embodiment 1 of the present invention;
[0038] Figure 4 This is a schematic diagram of patch sequence generation, transaction application, and dual-channel display refresh in Embodiment 1 of the present invention;
[0039] Figure 5 This is a schematic diagram of the plug-in package structure and governance loading, scheme management and audit chain of Embodiment 1 of the present invention;
[0040] Figure 6 This is a flowchart of the modular implementation method of Embodiment 2 of the present invention. Detailed Implementation
[0041] To facilitate understanding of this application, a more complete description will be provided below with reference to the accompanying drawings, which illustrate embodiments of the present application. However, the present application can be implemented in many different forms and is not limited to the embodiments described herein. Rather, these embodiments are provided so that the disclosure of this application will be more thorough and complete.
[0042] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the application.
[0043] Example 1: Reference Figures 1-5A precast component reinforcement parameter-driven interactive system is used to generate, adjust and verify the precast component reinforcement model in a parametric manner in a three-dimensional environment, and solve the following problems in the existing “Revit+Dynamo script / node arrangement” route in the highway precast component reinforcement design scenario: (1) Reliance on scripts, high programming threshold, and difficult to popularize among traditional designers; (2) Parameter modification often triggers overall script recalculation or manual reconstruction, three-dimensional feedback is not timely and iteration efficiency is low; (3) Emphasis on geometric generation, lack of embedded verification and interpretable positioning deeply coupled with standard clauses, compliance still requires manual judgment, and errors and omissions are difficult to reduce from the source; (4) “Script + platform” loosely coupled stack, difficult to split into manageable plug-in modules, high maintenance cost and poor reusability of expanding new components / new rules / new interfaces.
[0044] The system described in this embodiment can run on general-purpose computer equipment, including processors, memory, storage media, display devices, and input devices; at the software level, it can be developed based on any 3D modeling platform (e.g., a platform with a geometric kernel and model transaction interface), or implemented based on a self-developed geometric kernel. In the following embodiments, no restrictive limitations are placed on the platform interface.
[0045] The interactive system in this embodiment includes at least: 1) parameter management and binding module, 2) incremental update engine, 3) model application module, 4) rule base module and interpretable verification module, 5) interactive interface, 6) dual-channel display refresh module, and 7) plug-in governance module and scheme management module.
[0046] The data objects maintained internally by the system include at least: component type identifiers and component instance identifiers; parameter schemas and parameter instance values; sets of rebar entities (rebar groups / single rebars / rebar segments / bending points, etc.); dependency graphs (parameter nodes, derived node nodes, rebar entity nodes, and directed edges); change patch sequences (sets of operations such as adding, deleting, geometric transformation, morphological editing, and attribute editing); sets of rule constraint declarations; verification outputs (list of violations, evidence fields, causal chains); and scheme sets and audit chains (parameter snapshots, rule versions, plugin versions, patch sequence summaries, export records, etc.).
[0047] Preferably, the parameter schema is bound to the parameter-reinforcement entity.
[0048] The parameter schema definition and storage, parameter management and binding module is used to maintain the parameter schema of precast components. The parameter schema is used to clarify the parameter items that can be driven by the component and their data constraints, including at least: parameter identifier, name, type, unit, default value, optional range / enumeration, display group, input control type, binding information with derived quantity / reinforcement entity, etc.; among which, the parameter type can include floating point, integer, boolean, enumeration, string; the unit can include length units such as mm, cm, m, or unitless option parameters.
[0049] In a feasible implementation, the parameter schema is stored in a structured format (such as JSON, XML, YAML, or a database table) and supports a version number field for iterative upgrades as the component type changes. An example schema fragment is as follows: Component type: T-beam; Component type parameters: Beam type code, span, design grade, etc.; Geometric parameters: Beam height H, web thickness BW, flange width BF, protective layer C, etc.; Reinforcement parameters: Stirrup diameter D_stir, stirrup spacing S_stir, longitudinal reinforcement diameter D_long, number of longitudinal reinforcement N_long, etc.; Standard options: Standard system CodeSet, construction requirement options, etc.; The parameter panel displays parameters categorized into "Component type parameters, geometric parameters, reinforcement parameters, and standard options" based on the grouping information in the schema.
[0050] To reduce script dependencies and enable traceable updates, the parameter management and binding module establishes a binding relationship between parameters and rebar entities. This "binding relationship" maps parameter changes to the target attributes or geometric representation of the rebar entities, enabling the system to determine "which rebar entities are affected by a parameter change, which attributes are affected, and how to calculate the new value."
[0051] In a specific implementation, the binding relationship can be expressed using "triples / multiples": Target Selector: Used to locate the set of rebar entities, selectable by component location label (end / mid-span / web / flange), rebar type (stirrup / longitudinal / stirrup reinforcement), rebar group ID, rule ID, etc.; Attribute Path: Specifies the entity attributes to be written, such as spacing, barDiameter, hookAngle, shapePoints, rebarGrade, etc.; Map Function MapFn: When the parameters and entity attributes are not in one-to-one correspondence, the function converts the parameter values into entity attribute values, for example: {beam height change → effective value of protective layer → coordinates of bending point; partition length change → number of stirrups and positioning sequence; diameter change → change of minimum clear distance constraint evidence field, etc.}.
[0052] For example: {S_stir is bound to the spacing of the "mid-span stirrup group"; D_stir is bound to the barDiameter of the "full beam stirrup group"; H is bound to the z-coordinate calculation function of the "longitudinal reinforcement control line", thus affecting the longitudinal reinforcement segment and bending point}.
[0053] With the above binding, designers only need to modify the values in the parameter panel to drive the rebar model update, without having to write Dynamo scripts or node orchestration, thus solving the problem of "high scripting threshold".
[0054] As a preferred method, dependency graph construction and node / edge definition are used.
[0055] The overall structure of the dependency graph is maintained by the incremental update engine. The dependency graph consists of a set of nodes and a set of directed edges. The directed edges describe the dependency relationships of "how upstream changes are propagated to downstream objects". In this embodiment, a hierarchical structure of "parameter node → derived node → reinforcement entity node" is preferred.
[0056] The dependency graph nodes include at least: parameter nodes P: corresponding to parameter items in the parameter schema, such as H, BW, S_stir, D_stir, etc.; derived quantity nodes D: intermediate quantities calculated from parameters or other derived quantities, such as: {zone length L_zone, net spacing netSpacing, anchorage length anchorageLen, bending adjustment amount bendAdjust, protection layer effective value coverEff, etc.};
[0057] Reinforcement entity node E: includes at least one or more of the following: reinforcement group, single reinforcement bar, reinforcement segment, and bend point. {Reinforcement group: represents a group of reinforcement bars generated by the same layout rule, such as "mid-span stirrup group"; Single reinforcement bar: an instance of a single reinforcement bar within the group; Reinforcement segment: a straight / curved segment of a single reinforcement bar; Bend point: a control point (including attributes such as angle and radius) at the connection between segments}.
[0058] Directed edges in a dependency graph can include: {P→D: parameters affect derived quantities; D→D: dependencies between derived quantities; D→E: derived quantities affect entity geometry or properties; P→E: parameters can directly affect entity properties (e.g., spacing directly affects rebar spacing)}.
[0059] In one feasible implementation, the dependency graph is constructed by providing dependency declaration fragments (dependency image segments) through "component type plugins / rule plugins," which are used by the system to generate an initial dependency graph when the component type is loaded. The dependency graph can be instantiated as component instances are created: different instances of the same component type have different parameter values and entity IDs, but share the same type of dependency relationship template.
[0060] To prevent loops in the dependency graph that would prevent topological sorting, this embodiment performs cycle detection during dependency graph construction: if adding a new directed edge causes a cycle in the graph, the edge is rejected or the dependency is split into a topologically equivalent form (e.g., introducing delayed computation nodes or changing bidirectional relationships to unidirectional constraint solution relationships). This cycle detection can be achieved through depth-first traversal or topological feasibility checks.
[0061] As a preferred incremental update engine, it performs affected subgraph localization, topology recalculation, and patch generation.
[0062] The parameter change event and marking mechanism works as follows: When a user modifies a parameter value in the parameter panel, or when the system automatically applies correction suggestions that cause a parameter change, the parameter management module sends a parameter change event to the incremental update engine. The event content includes at least: component instance ID, parameter ID, old value, new value, timestamp, and change source (user input / automatic correction / scheme switching, etc.). After receiving the event, the incremental update engine marks the corresponding parameter node P as a "dirty node" and increments its version number, which serves as the basis for subsequent patch generation and transaction consistency verification.
[0063] To determine the affected subgraph, the incremental update engine starts from the dirty parameter node and traverses downstream along the directed edges of the dependency graph, collecting all reachable nodes to form the set of affected nodes; at the same time, it collects related edges to form the affected subgraph. The affected subgraph only includes derived quantity nodes and rebar entity nodes that will be affected by this change, thus avoiding a full recalculation.
[0064] For example, when only the stirrup spacing S_stir is modified, the affected subgraphs typically include: S_stir parameter nodes, derivatives that may depend on the spacing calculation (such as the number of stirrups, the distribution points of the end reinforcement section, etc.), stirrup groups and their subordinate single rebar entity nodes; while the longitudinal reinforcement entity nodes and their derivatives will not be affected, thus significantly reducing the calculation scope.
[0065] Topological sorting and derivation recalculation: For affected subgraphs, the incremental update engine performs topological sorting to ensure the correct calculation order of derivations. Topological sorting can be implemented using Kahn's algorithm or DFS post-order sorting. After obtaining the node sequence through sorting, the derivation nodes are recalculated in order. The calculation functions for derivation nodes can be provided by component type plugins or rule plugins, and can take the form of: restricted expressions (such as expression trees), small scripts (running in an isolated execution environment), or compiled function callbacks.
[0066] To ensure project feasibility, this embodiment preferably uses a "restricted expression + registerable function library" approach: basic operators include addition, subtraction, multiplication, division, rounding, maximum / minimum retrieval, and conditional branching; engineering functions include protective layer calculation, anchorage length calculation, and partition point generation. This approach avoids the security and uncontrollability issues associated with arbitrary scripts while reducing maintenance costs.
[0067] The generation of the target state for the rebar entity occurs after the derived quantity nodes have been calculated. Based on the parameter binding relationships and the derived quantity results, the engine generates the "Desired State" of the rebar entity. The target state can include: rebar groups: spacing, number of bars, start / end point of arrangement, numbering rules, and partition labels; single rebar: centerline, bend point sequence, direction, and length; rebar segments: endpoints, curvature / radius, and relative position to the component geometry; bend points: coordinates, angle, bending radius, hook length, etc. The target state is not directly written into the model but serves as input for patch generation.
[0068] The incremental update engine generates a patch sequence by differential generation, comparing the "Current State" with the "Desired State" and outputting a patch list. The patch list must contain at least one or a combination of the following operation types: ① Add (ADD): Add a new rebar group / rebar / segment / point or its attribute record; ② Delete (DELETE): Delete entities that are no longer needed; ③ Geometric Transformation (GEOM_TRANSFORM): Apply a transformation matrix (translation / rotation / scaling) to the overall position or orientation; ④ Shape Editing (SHAPE_EDIT): Update the control point set or segment topology of the rebar; ⑤ Attribute Editing (ATTR_EDIT): Update diameter, spacing, rebar grade, number, annotation attributes, etc.
[0069] The differential strategy can employ layered alignment: 1) First, align by rebar group ID to determine the addition / deletion of groups; 2) Within a group, align individual rebars by sequence number or stable ID; 3) Within an individual rebar, align segments and bends. When the number of rebars within a group changes, to reduce the number of patches, the "tail-end addition / deletion" strategy is preferred: keep the stable ID of existing rebars unchanged, generate ADD only for newly added parts and DELETE only for deleted parts; if the change in the layout start / end point causes overall translation, prioritize generating GEOM_TRANSFORM or group-level SHAPE_EDIT to reduce the number of patches.
[0070] After the patch sequence is generated, it can also include dependency version information: each patch records the parameter version / derivative version on which it was generated, so that it can be detected whether it is outdated when applied (for example, when a user drags and drops the old patch repeatedly and quickly, causing the old patch to be overwritten by the new patch before it is committed).
[0071] Preferably, the model application module includes: transaction commit, segmentation / batch processing and debouncing merging; transactional model and atomic update. The model application module is used to apply the sequence of change patches to the 3D steel reinforcement model in a transactional manner and drive the display refresh. The term "transactional manner" means that the application of a set of patches either succeeds completely or, in the event of failure, rolls back to the state before commit, avoiding the model being in an intermediate state of partial update.
[0072] In one implementation, the model application module provides the following interfaces: BeginTransaction(component instance ID), ApplyPatch(patch), Commit(), and Rollback(); where BeginTransaction can lock the model fragment of the current component instance or obtain a writable handle; Commit writes the patch to the model database and releases the lock; and Rollback undoes changes that have been applied but not committed.
[0073] For segmented or batch transaction commits, when there are many patches or multiple rebar groups involved, the model application module can adopt the following approach: Batch submission: Commit all patches in the same transaction to ensure strong consistency; Submit in segments: Patches are divided into multiple transaction segments based on rebar groups or component partitions and committed sequentially to reduce the overhead of a single transaction and improve stability. The boundaries of segmented commits can be determined according to the following rules: patches within the same rebar group should be committed within the same transaction segment as much as possible; entities with shared IDs or shared attributes should be placed within the same transaction segment; if a segment commit fails, the segment should be rolled back and degradation strategies can be attempted (such as reducing the patch granularity or delaying the generation of a fine model until the commit channel).
[0074] To address the issue of frequent recalculations and submissions caused by continuous user input, this embodiment provides a debouncing merging mechanism: the system sets a debouncing time window Δt (e.g., 100ms~300ms, configurable); if multiple parameter changes are received within Δt, only the last change is used to trigger a recalculation; if a patch has been generated but not yet committed, and a new change arrives, the old patch submission is canceled or it is merged with the new patch to avoid "full rebuild" and "duplicate submission".
[0075] This mechanism can significantly improve the smoothness of interaction, make 3D feedback more timely, and thus improve the efficiency of solution iteration.
[0076] The order of patch application is controlled and fault tolerance is maintained. The model application module controls the application order according to the patch type and dependency relationship. The preferred order is: 1) DELETE (delete first and then add to avoid ID conflict); 2) ADD; 3) ATTR_EDIT; 4) GEOM_TRANSFORM / SHAPE_EDIT (or adjust according to platform requirements).
[0077] When the platform imposes constraints on the rebar entity (e.g., a segment must exist before its shape can be edited), the constraint can be adjusted to ADD → SHAPE_EDIT → ATTR_EDIT, etc. If a patch application fails, the module records the reason for the failure and rolls back the transaction, while simultaneously feeding back the failure information to the interactive interface or log system for those skilled in the art to locate the implementation problem.
[0078] As a preferred option, the rule base module and constraint declaration
[0079] The constraint declaration's field definitions are stored in the rule base module as constraint declarations, which are used to store reinforcement layout rules and / or code verification rules. Each constraint declaration must include at least: RuleID: Unique identifier for the rule; ConstraintExpr: Constraint expressions (expression trees / DSL); Scope: Scope of application (component type, location, reinforcement type, zoning label, etc.); Severity: Severity level (Warning / General / Critical / Submission Prohibited, etc.); EvidenceFields: List of evidence data fields; FixTemplate: Correction strategy template (used to generate correction suggestions); Reference: The clause / rule is based on an index (which can be a text paragraph ID or an external reference identifier).
[0080] The EvidenceFields are used for "interpretable output". For example, minimum clearance rules can output: netSpacing, barDiameter, cover, regionTag, etc., so that users can understand the reason for the violation instead of just seeing "error".
[0081] The rule expression and execution: The constraint expression can adopt an executable DSL, for example: {netSpacing >= minNetSpacing(barDiameter, CodeSet); anchorageLen >= requiredAnchorage(barDiameter, rebarGrade, CodeSet); S_stir <= maxStirSpacing(regionTag, CodeSet)}. To facilitate implementation by those skilled in the art, this embodiment preferably uses the following execution method: the expression is parsed into an abstract syntax tree (AST); the built-in function library provides functions such as minNetSpacing and requiredAnchorage; at runtime, the interpretable verification module filters the rules according to the scope, and then evaluates each rule to obtain the Boolean result and the evidence field value.
[0082] As a preferred option, the interpretable verification module includes: generation of a list of violations and a causal chain.
[0083] The generation of violations can be explained by the compliance verification module performing compliance verification after the model application module submits a patch (or during the preview channel stage when performing rapid verification on proxy geometry / derived quantities). The steps include: 1) Filtering applicable constraint statements based on component type, location label, and reinforcement category; 2) Reading data corresponding to EvidenceFields from the model and derived quantity cache: from reinforcement entities, read diameter, spacing, shape points, number, level, etc.; from derived quantities, read clear distance, protective layer, anchorage length, etc.; 3) Evaluating the constraint expressions; if not satisfied, generating a Violation record, which includes at least: component instance ID, violating entity ID, RuleID, Severity, evidence field key value, and clause reference index; 4) Outputting a list of violations sorted by severity level.
[0084] Based on dependency graph backtracking, a causal chain is generated. For each violation, the interpretable verification module generates a causal chain based on dependency graph backtracking. The specific implementation is as follows: the evidence field or entity node corresponding to the violation is used as the starting node v; the upstream nodes are traversed along the reverse edge of the dependency graph until the parameter node set is reached or the preset maximum depth is reached; the traversal path is recorded to form a chained interpretation sequence of "parameter / derived quantity / entity"; if there are multiple paths, the following rules can be followed: the shortest path is selected first, or the path containing the parameter that the user just modified is selected, or multiple paths are output for the user to view.
[0085] For example, if a user adjusts S_stir, resulting in insufficient net spacing, the causal chain can be represented as: S_stir → stirrup_group.spacing → netSpacing → Rule (minNetSpacing) violation. This causal chain can be directly used in the interface to explain "which parameter caused the violation," thereby reducing manual troubleshooting time.
[0086] As a preferred option, the user interface should include: a parameter panel and a violation area, as well as submission restrictions.
[0087] The parameter panel features grouped display and interaction. The interface includes a parameter panel grouped according to the parameter schema: component type parameters, geometric parameters, reinforcement parameters, and specification options. Each parameter item can be configured with input controls (text box / drop-down list / slider / stepper) and undergoes basic validity checks (range, unit, enumeration, etc.). When input is invalid, the interface can display a prompt and prevent submission to the engine to avoid subsequent errors caused by invalid parameters.
[0088] The violation interaction area highlights and displays supporting evidence. The interactive interface includes a violation interaction area used for: listing violations (sorted by severity); when a violation is clicked, the corresponding rebar entity (rebar group / single rebar / segment / point) is located and highlighted in a 3D view; displaying the rule basis (clause / rule text index) and evidence field values; and displaying the causal chain (parameter → derived quantity → entity → violation). This interpretable presentation of "highlighting + evidence fields + causal chain" solves the problem of existing technologies that "only report errors, but do not explain them, requiring manual judgment."
[0089] If violations are not rectified, fine-grained generation or data output will be restricted. When a violation reaches the "submission prohibited" threshold, the system will disable the fine-grained generation button, engineering data output button, or export function in the submission channel; or allow preview generation but prohibit the generation of deliverable data. This mechanism encourages solutions to converge to a compliant state within the system, reducing errors and omissions at the source.
[0090] As a preferred approach, the modification suggestion is generated and repeatedly verified. When a violation is detected, the interpretable verification module generates a set of suggested correction parameters based on the correction strategy template and the preset minimum change objective function, and sorts them according to a preset priority. The following provides an feasible implementation method:
[0091] Modify the policy template. The policy template can be configured for different rules, for example:
[0092] If the minimum clearance is insufficient: first adjust the spacing S_stir; if it is still insufficient, adjust the diameter D_stir or change the arrangement position.
[0093] If the stirrup spacing exceeds the limit: prioritize reducing the spacing; if limited by process constraints, increase the length of the zoned reinforcement.
[0094] Insufficient anchorage length: Prioritize adjusting the anchorage length or the shape of the reinforcing bar (add hooks / change the angle).
[0095] The template can be expressed as "adjustable parameter set + step size / enumeration + constraint retention term + backoff strategy".
[0096] The minimum modification objective function and priority are defined. A preset minimum modification objective function is used to quantify the "modification cost." Its inputs are the candidate parameter set and the current parameter set, and its output is the cost (Cost). Cost can consist of the following items (weights can be configured according to project requirements): the magnitude of parameter modification (e.g., |ΔS_stir|, |ΔD_stir|); the increase in material cost (changes in the amount of rebar due to increased diameter or number of bars); the cost of construction complexity (more complex shape, more bends, more zones); and the degree of deviation from the existing scheme (used to maintain scheme continuity).
[0097] The preset priority can be set as follows: first adjust the spacing / position, then adjust the number of roots, and then adjust the diameter / shape. This priority, combined with the objective function, can output a correction suggestion with "minimum perturbation", reducing large fluctuations in the solution caused by corrections.
[0098] The candidate parameter set generation, filtering, and sorting module can be interpreted to generate candidate parameter sets according to a template. For example, it might try adjusting S_stir from 120 to 130 / 140 / 150; or changing D_stir from 12 to 10; or adding a partition length to the end-encrypted segment. For each candidate parameter set, the module can call the incremental update engine for fast recalculation (which can be quickly evaluated using proxy geometry / derivatives in the preview channel), and perform compliance checks; retain candidates with reduced compliance or violation levels; calculate and sort the Cost, and output a list of suggested corrections.
[0099] The system applies corrective suggestions and iterative convergence. When a user selects a corrective suggestion (or the system automatically selects the suggestion ranked first), the system writes the corresponding parameter set back to the parameter management module, triggering the incremental update engine to generate a new patch and apply it; then, it performs another check. If violations still exist, the system continues to generate the next round of suggestions and iterates until compliance conditions are met or the preset iteration limit is reached. If compliance is still not met after reaching the limit, the system displays "No feasible solution" and outputs the parameter suggestion closest to compliance and the conflict causal chain for manual decision-making.
[0100] The aforementioned closed-loop mechanism enables the system to have the capabilities of "embedded verification + interpretable location + auxiliary correction", thereby overcoming the shortcomings of existing technologies such as "manual judgment of compliance and difficulty in controlling errors and omissions".
[0101] As a preferred option, dual-channel display refresh is preferred. To further improve interactive response speed and ensure precise delivery, this embodiment preferably adopts a dual-channel mechanism, including a preview channel and a submission channel.
[0102] Preview Channel: Incremental refresh of proxy geometry. The preview channel incrementally refreshes the proxy geometry, skeleton lines, or envelope of rebar based on the change patch sequence. Proxy geometry only retains the rebar centerline, key bend points, simplified radius, or envelope box, without generating all details (such as real ribs, complex connection features, etc.). Proxy geometry can be represented using lightweight primitives (line segments / polylines / arcs). The preview channel prioritizes responding to continuous user input, combined with debouncing and merging, to achieve "real-time preview".
[0103] Submission Channel: This channel generates a detailed 3D rebar model and outputs engineering data. When the system detects no violations at the prohibited submission level and the user triggers the "Submit / Generate" operation, the submission channel generates a detailed 3D rebar model containing bending details and rebar attribute information. Detailed model generation may include: completing the bending radius based on the rebar diameter and bending rules; writing attributes such as rebar grade, number, cutting length, and lap / anchoring information; and generating or updating engineering data outputs such as cutting length tables, rebar count summary tables, and quantity statistics.
[0104] Engineering data can be output as a spreadsheet file (such as Excel) or structured data (such as JSON), and can be subsequently exported to external systems via a data interface plugin. Through a dual-channel mechanism, the system can provide rapid 3D feedback and, after compliance, output deliverable detailed models and engineering data, solving the problems of "untimely 3D feedback and low iteration efficiency" in existing technologies.
[0105] As a preferred approach, plugin governance and solution management are recommended. This embodiment preferably includes a plug-in governance module and a solution management module to achieve modular expansion and manageable maintenance, overcoming the shortcomings of the existing technology of "loosely coupled stacking of scripts and platforms, making it difficult to expand and reuse".
[0106] The plugin package structure and manifest file are used by the plugin governance module to extend component types, rule sets, and data interfaces in the form of plugin packages. Each plugin package contains a manifest file, which declares at least: a parameter schema (definitions of new / overridden parameters); a dependency schema (new node types, edge relationships, and computation function entry points); a rule set (a set of constraint declarations) and correction strategy templates; compatibility information (target platform version, system interface version, and plugin version range); and a capability list (the range of system interfaces allowed to be called, such as: which parameters are allowed to be read / written; whether patch generation is allowed; whether data export is allowed; and whether direct manipulation of the model database is prohibited).
[0107] Version and dependency resolution, conflict detection: When a plugin is loaded, the plugin governance module performs the following checks: version constraint verification (plugin version is compatible with the system version); dependency resolution (version range of plugin A's dependency on plugin B); conflict detection (conflicts such as parameter name conflicts, rule ID conflicts, interface conflicts, and capability overreach conflicts). When a conflict is detected, the module refuses to load or prompts the user to select a compatible version, thus achieving plugin governance.
[0108] To prevent untraceable issues caused by arbitrary scripts directly rewriting the model, the plugin governance module executes plugin logic in an isolated environment and requires plugins to output the following through controlled interfaces: derived quantity calculation results, dependency declaration fragments, rule constraint declarations, correction strategy templates, and engineering data export requests. Plugins must not bypass the model application module to directly write to the 3D model, and model changes must be submitted in the form of a patch sequence to ensure auditability and rollback capability.
[0109] The scheme management and audit chain module is used to generate multiple design schemes based on different parameter sets, supporting saving, switching, and comparative display. Each scheme records an audit chain, which includes at least: parameter snapshots (full parameter key-value pairs and versions), rule version information, plugin version information, change patch sequences (or their summaries / hashes), and project data export records (export time, format, target file identifier). When a user chooses to roll back to a scheme, the system can: directly restore the parameter snapshot and trigger incremental updates to generate patches for reconstruction, or replay the patch sequence to restore the model state. This mechanism enables reproducible and traceable project delivery.
[0110] As a preferred embodiment of the comprehensive operation, The following is a run-through example to demonstrate that this embodiment can be implemented by those skilled in the art.
[0111] Initial modeling and preview: The user creates a T-beam component instance, the system loads the corresponding component type plugin and generates a parameter schema; the parameter panel displays geometric and reinforcement parameters. User input: H=2000mm, BW=180mm, D_stir=10mm, S_stir=150mm, etc.
[0112] The incremental update engine constructs a dependency graph and calculates derived quantities (such as partition length, clear distance, anchorage length, etc.) to generate the target state of the reinforcement. It outputs a patch sequence (ADD reinforcement group, ADD single reinforcement, SHAPE_EDIT control point, ATTR_EDIT diameter and number, etc.). The model application module commits patches in a transactional manner; the preview channel displays the stirrup skeleton line and longitudinal reinforcement centerline.
[0113] Parameter modification and local incremental updates: The user changed S_stir from 150 to 120. The system marked the parameter node S_stir as dirty, and traversed the affected subgraphs, mainly containing stirrup groups and their derivatives. The engine recalculated the number and position sequence of stirrups, and generated patches using differential generation: ATTR_EDIT: updated the stirrup group spacing to 120; if the number of stirrups increased, ADD added several single stirrups; if the position shifted overall, GEOM_TRANSFORM / SHAPE_EDIT adjusted the relevant control points. The model application module allows batch submission, and the 3D preview refreshes quickly, eliminating the need for full reconstruction of longitudinal reinforcement and other unrelated entities.
[0114] The system includes violation verification, causal chain analysis, and submission restrictions. The verification module reads evidence fields (net distance, diameter, etc.) and evaluates the rules. If the net distance of a certain partition is insufficient, a violation is generated and the causal chain is output: S_stir → netSpacing → stirrup_group → Rule(minNetSpacing) violation. The interface highlights the corresponding stirrup entity and displays the basis and evidence field values, while the "Submission Channel Generation / Data Output" button is grayed out, indicating that a violation needs to be eliminated.
[0115] After the user clicks "Revision Suggestion" and the system generates candidates based on a template (e.g., adjusting S_stir from 120 to 130 / 140, or reducing the diameter), the system calculates the minimum cost of the change and sorts them. The user selects "130mm". The system automatically applies the parameter set, triggers an incremental update to generate a patch, submits it, performs a second verification, and eliminates any violations. The submit button is then available again.
[0116] The system generates detailed engineering data. Upon user submission, a detailed model is generated through the submission channel: bending radii are filled in, rebar attributes are written, cutting lengths and counts are calculated and summarized, and engineering data is exported via the data interface module. The solution management module records the audit chain, including parameter snapshots, rule versions, plugin versions, patch summaries, and export records, facilitating subsequent reproduction.
[0117] Example 2: Reference Figure 6 ;
[0118] In this embodiment, the system first executes the plugin package loading and assembly process to achieve pluggable combination of modules such as "parameter management and binding, incremental update, rule base, interpretable verification, data interface, and scheme management".
[0119] The plugin package structure and manifest file declaration: Each plugin package is distributed in the form of a compressed package, which contains at least a manifest file and several resource files; the manifest file declares at least: parameter schema fragment entry (SchemaDecl); dependent image fragment entry (GraphDecl); rule set entry (RuleDecl); fix strategy template entry (FixDecl); compatibility information (Compatibility); capabilities list (Capabilities, interface whitelist); plugin identifier and version (PluginId, Version), dependencies (Requires), and optional conflict declarations (Conflicts).
[0120] Version and dependency resolution, conflict detection: After reading the entire list, the system constructs a plugin dependency graph and performs topological sorting to determine the loading order, and matches version constraints; if they are not met, loading is refused.
[0121] Simultaneously, conflict detection is performed, including at least: schema path conflicts (inconsistent path types / units); dependency graph node redefinition conflicts (inconsistent derived expressions); rule conflicts (incompatible rule ID versions / severity levels); and capability conflicts (plugin requests capabilities exceeding system policies). When conflicts occur, strategies such as blocking loading or isolating by scope can be adopted.
[0122] The system employs an isolated environment and controlled interface calls. Plugins run in an isolated environment (Sandbox), prohibiting direct access to the model kernel and sensitive resources by bypassing system interfaces. The system provides a controlled API facade, which plugins can only call according to the capability list: read / write parameters, create / modify reinforcement entities, apply patches, query evidence, export engineering data, etc. Each call records the caller, interface name, parameter summary, and return code.
[0123] A modular implementation method for an interactive system driven by precast component reinforcement parameter design, specifically including the following steps:
[0124] S1: Establish and maintain the parameter schema, and establish the binding relationship between parameters and steel reinforcement entities;
[0125] Parameter schema maintenance: The system maintains a unified parameter schema to describe the parameter space, including at least: parameter identifier, type, unit, default value, value range / constraints, visibility, grouping, and version number. Parameters can be organized using a tree-like path, such as: / Geom / Length, / Geom / Width, / Cover / Top, / Rebar / Main / Dia, / Rebar / Stirrup / Spacing, etc. The schema is stored as a structured file and supports incremental expansion and parameter migration.
[0126] The reinforcement entity and the binding description object include at least: skeleton line / center line, bend point sequence, shape type (straight bar / stirrup / cage bar / welded wire mesh, etc.), attributes (diameter, steel grade, number, structural requirements), and positioning coordinate system information.
[0127] The system creates a BindDescriptor object for each binding relationship, which includes at least: TargetEntityId, TargetField, SourcePathList (parameter / derivative path), ComputeExpr, UpdateMode (geometric transformation / shape / attribute), and Scope. Binding supports direct assignment, expression evaluation, table lookup mapping, and one-to-many binding (the same parameter drives multiple entities).
[0128] S2: Construct a dependency graph of parameter nodes, derived quantity nodes, and rebar entity nodes. The system constructs a dependency graph G, and the nodes include at least: parameter nodes P: schema instantiation parameters; derived quantity nodes D: intermediate quantities calculated from parameters / other derived quantities (net dimensions, effective height, arrangeable intervals, bending corrections, etc.); rebar entity nodes R: specific rebars or rebar groups (arrays).
[0129] Dependency edges are represented by directed edges to form "computation / driving relationships": P / D → D, P / D → R; the system stores these relationships in an adjacency list and maintains reversed edges to support quick location of affected subgraphs from the source of change; if a cycle exists in the derived quantum graph, the system can reject the binding configuration or include nodes within the cycle in the iterative solution group and set a convergence threshold and a maximum number of iterations.
[0130] S3: In response to parameter changes, locate the affected subgraph, recalculate topological derivations, and generate a change patch sequence.
[0131] The parameter change event is abstracted, and the source of parameter change can be user interaction, external data import, or rule correction suggestions. The system abstracts it as ParamDelta, which at least includes ParamPath, OldValue, NewValue, Source, and Timestamp.
[0132] For affected subgraph location and derivation recalculation, the system traverses forward along the dependent edges starting from the node with changed parameters to obtain the set of affected derivations D and the set of affected reinforcement entities R, forming the affected subgraph SubGraph(P). D* is recalculated in topological order; optionally, caching and dirty marking are introduced to recalculate only derivations whose input has changed, and "short-circuit downstream if value remains unchanged" optimization is supported.
[0133] Patch sequence generation: For each affected rebar entity R∈R*, the system calculates the target state TargetState based on the bound description object, differs it from the current state CurrentState to obtain a patch, and assembles it into a patch sequence PatchSequence. A patch must contain at least one or more of the following: Add; Delete; Transform (pose update); Morph (changes in bend points / hook shapes / segment number); AttrEdit (changes in diameter, steel grade, number, grouping, and annotation information).
[0134] Patch sequences can be ordered according to entity dependencies (e.g., delete before add, base before instance) to reduce conflicts.
[0135] S4: The system applies patches using a transactional approach for 3D model updates and display refreshes. Each parameter change and corresponding patch sequence is treated as a single transaction, including at least Begin-Apply-Validate-Commit / Rollback. During the Apply phase, the patch is first applied to the staging layer, driving a display refresh. If subsequent validation fails, the staging layer is rolled back; if validation passes, the patch is committed to replace the formal model layer. To ensure interactive performance, the system preferentially uses incremental refresh, only refreshing the rendering proxies and related annotation / manifest caches of affected entities.
[0136] S5: Constraint Declarations Store Layout Rules and Standard Verification Rules. The system stores rules in the form of ConstraintDecl, which includes at least: ConstraintExpression (Boolean / inequality); Scope (component type, region, reinforcement type / grouping, working condition); Severity (fatal / critical / general / warning); EvidenceFields (clear distance, protective layer, bending radius, spacing, quantity, etc.); FixStrategyTemplate (how to adjust which parameters to eliminate violations). The rule base is hierarchically managed by component type and standard / enterprise standard version, and each rule is assigned a version number or hash for traceability and reproduction.
[0137] S6: Compliance verification, causal chain interpretation and correction suggestions closed loop; evidence collection and verification execution. When a transaction enters the Validate phase, the system selects the rule set C* that hits the Scope based on the affected subgraph, extracts the evidence data EvidenceData according to EvidenceFields and substitutes it into ConstraintExpr to obtain the verification conclusion.
[0138] The output of each violation and the causal chain are as follows: For each violation, the output includes: rule ID and version, severity level, trigger scope, evidence data (value and location / entity set), and generates a causal chain CausalChain: a path sequence that traces from the violation evidence field to the derived node and then to the source parameter node. A summary of key expressions can be attached to explain "why the violation occurred and which parameters caused it".
[0139] The system corrects the parameter set generation and sorting. If a violation is found, the system reads the FixStrategyTemplate and generates a candidate parameter set CandidateParamSet_i based on the minimum change objective function: ① The objective function can be a weighted sum of parameter changes: J=Σ w_k*dist(p_k_new,p_k_old); ② Candidate generation can employ local enumeration (standard spacing series), heuristic search (prioritizing parameters with smaller impact), or constraint solving (pluggable solvers). The system sorts the candidate sets and outputs Top-N, labeling the list of changed parameters and their impact assessment on the number of pieces / cutting length / work volume.
[0140] In the closed-loop iteration, after the user selects and applies a certain correction suggestion, the system converts the suggestion into a parameter change event, re-triggers S3-S4, and validates again; the loop continues until the compliance threshold is met or the maximum number of iterations is reached.
[0141] S7: Dual-channel display refresh and engineering data output control
[0142] The preview channel incrementally refreshes the proxy geometry (simplifying cylinders / skeleton lines / envelopes) immediately after applying to ensure the interaction frame rate; bending details and fine rounded corners can be generated later.
[0143] The submission channel will generate a detailed 3D steel bar model (bending details, hook shape, bending radius, segment development, attribute information) and output engineering data such as cutting length, number of bars, and bill of quantities if and only when the verification meets the allowed submission conditions (e.g., zeroing out fatal / serious violations).
[0144] When violations occur, restrictions are imposed. If the violation is not rectified, the submission channel generation and data export are restricted, or the output is marked as a non-compliant draft and the generation of a formal list for production is prohibited, in order to prevent non-compliant solutions from entering production.
[0145] Audit chain recording and scheme management: The system records the audit chain (AuditChain) for each transaction commit, rule verification, and data export, including at least: parameter snapshot (ParamSnapshot); rule version information (RuleVersionInfo); plugin version information (PluginVersionInfo); change patch sequence (PatchSequence); and project data export record (ExportRecord).
[0146] Based on the audit chain, the system supports saving, switching, comparing, rolling back, and reproducing solutions: comparison can output parameter differences, geometric differences, engineering quantity differences, and compliance differences; rollback can revert to any historical snapshot and replay patches / recalculations; reproduction can replay the audit chain under the same version of plugins and rules to obtain consistent models and engineering data.
[0147] For a specific operational example, taking a box girder segment as an example, if the user adjusts / Geom / Length from L0 to L1: the system loads the "Box Girder Parameters and Reinforcement Rules Plugin Package" in the isolated environment, completes version parsing and conflict detection, and then enters the running state. Parameter changes trigger S3, and the system locates the affected subgraph in the dependency graph, recalculates the length of the end reinforcement zone, the number of stirrup segments, and the main reinforcement anchorage correction, generating a patch sequence: Add for end stirrups, Transform for the middle stirrup array, Morph for some main reinforcement lengths, and AttrEdit for the number attribute. After the transaction is applied, the preview channel is immediately refreshed by the skeleton line proxy; subsequently, Validate performs checks on clear distance, protective layer, spacing, etc., according to the rule base. If insufficient end clear distance is found, evidence and causal chains are output, and candidate parameter sets such as "adjust stirrup spacing to the nearest standard value / local reinforcement and reassignment of spacing / fine-tuning of protective layer" are generated based on the correction template, sorted by the minimum change objective function for selection. After users adopt suggestions, the system iterates in a closed loop until compliance is achieved. Once compliance is achieved, the submission channel generates a detailed model containing bending details and exports the cutting length and summary table. At the same time, parameter snapshots, rule versions, plugin versions, patch sequences, and export records are written into the audit chain to achieve traceability, comparability, rollback capability, and reproducibility.
[0148] As a preferred method, S1 establishes and maintains the parameter schema, and establishes the binding relationship between parameters and reinforcement entities.
[0149] 1) Parameter Schema Structure Definition and Organization
[0150] 1.1 Basic Object Model of Schema: The system abstracts the "component parameter space" into a versionable, verifiable, and transferable parameter schema. A schema consists of at least the following objects:
[0151] SchemaHeader {schema_id: unique schema identifier (e.g., BoxGirder_Segment), schema_version: version number (e.g., 1.3.0), engine_compat: range of compatible system / modeling kernel versions, unit_system: unit system (mm, m; or explicitly specified for each parameter), created_at / updated_at: generation and update time, checksum: hash verification (used for auditing chains and reproduction)}
[0152] ParamDef (Parameter Definition): The core node of the Schema: {path: tree path (e.g., / Geom / Length), name: display name (e.g., "component length"), type: type (int / float / bool / string / enum / vector2 / vector3 / list), unit: unit (e.g., mm, deg, none), default: default value, range: value range / constraint (minimum, maximum, step, precision), visibility: visibility (design visible / advanced / hidden), group: grouping (geometry, protective layer, main reinforcement, stirrups, construction, drawing, etc.), tags: tags ("end densification area", "tensioning area", "embedded part area", etc.), read_only: read-only flag (written back by derived values or locked), dependency_hint: optional hint (used for quick drawing or UI hints), doc: explanatory text (standard clause hints, enterprise standard sources, etc.)}.
[0153] EnumDef (enumeration definition, optional): enum_id, items (e.g., steel grade HRB400 / HRB500; stirrup shape closed / open, etc.)
[0154] Organization method: The path tree is used for "human and machine readability". The underlying index is still the path -> ParamDef hash table index, which guarantees O(1) access.
[0155] 1.2 Parameter path naming and array parameters: To support complex reinforcement partitioning, rowing, and segmentation of precast components, the schema supports two expressions: "path + subscript" or "list parameter": ① path + subscript: / Rebar / Main[0] / Dia, / Rebar / Main[1] / Count; ② list parameter: / Rebar / Main / DiaList = [20,20,18]. In engineering, it is recommended to use path + subscript, which is convenient for binding the scope to accurately hit (e.g., only driving the second row of main reinforcement).
[0156] 2) Schema maintenance: storage, validation, expansion, and migration
[0157] 2.1 Structured File Storage and Loading: The schema is stored in a structured file (JSON / YAML are both acceptable). During system loading, three steps are performed: Syntax validation: field completeness, type matching, path uniqueness; Semantic validation: valid units, default values within range, and enumeration values existing; Registration and database entry: generating indexes: {ParamIndex[path] -> ParamDef; GroupIndex[group] -> [path...]; TagIndex[tag] -> [path...]; and establishing a runtime schema object (RuntimeSchema) for direct reference in subsequent dependency graphs and binding resolution.
[0158] 2.2 Incremental Expansion (Schema Fragment): The system allows plugin packages to provide schema fragments for incremental merging of the main schema. Merging strategies include at least the following: Addition: New paths are added directly; Overriding: The same path is allowed to be overridden during version upgrades, but must meet the following conditions: {Type remains unchanged or there is a reversible conversion (e.g., int -> float is convertible); Units are consistent or convertible (e.g., cm -> mm requires a conversion declaration)}; Deprecation: Mark deprecated=true and retain compatibility period; Alias: Supports aliases fields to map old paths to new paths.
[0159] 2.3 Schema Migration: When schema_version changes, the system executes migration scripts / rules (which can be provided with plugins). Migration includes at least the following: renaming migration: / Cover / Top -> / Cover / TopFace; splitting migration: / Rebar / Stirrup / Spacing -> / Rebar / Stirrup / Spacing_Dense + / Rebar / Stirrup / Spacing_Normal; merging migration: merging multiple old parameters into one enumerated parameter; default value backfilling: backfilling new parameters according to rules (based on component type, section length, etc.) when there are no historical values. The migration output forms a ParamDeltaSet and is recorded in the audit chain to ensure that "the old scheme can be reproduced".
[0160] 3) Rebar Entity Model: Minimum Necessary Fields and Engineering Extensions. The system abstracts rebar objects as RebarEntities. The minimum recommended fields are as follows (to satisfy binding and incremental updates): entity_id: Entity ID (stable and traceable); type: Morphology type (straight bar / stirrup / cage bar / welded mesh / tie bar, etc.); coord_sys: Positioning coordinate system (transformation from local coordinates to component coordinates); centerline: Skeleton line / centerline (point sequence or parametric curve); bend_points: Bending point sequence (including angle / radius / hook parameters); profile: Section attributes (diameter, grade); meta: Number, grouping, construction description, section (end / mid-span), drawing identifier; instances: If it is an array of rebar groups, it can store "baseline + instance parameters" (such as spacing, number of bars, start and end offset).
[0161] Recommendation: For stirrups / reinforcement bars, prioritize storing "parametric skeleton + rule generation" rather than pure mesh geometry, to facilitate Morph-type patches.
[0162] 4) BindDescriptor: Field Refinement and Operation Mechanism
[0163] 4.1 Minimum fields of BindDescriptor (can be directly written in the patent): Each binding relationship generates a BindDescriptor object, which includes at least: bind_id: Bind ID (for auditing and location tracking); target_entity_ id: Target reinforcement entity ID or entity set ID;
[0164] target_field: Target fields (specific fields in geometry / morphology / attributes) {Example: profile.dia, meta.bar_mark, centerline, bend_points, coord_sys};
[0165] source_path_list: Source path list (parameter / derived path) {Example: [" / Geom / Length", " / Cover / Top", " / Rebar / Main / Dia"]};
[0166] compute_expr: Evaluate an expression or function reference, {which can be: an expression string, a script function name, or a compiled functor ID};
[0167] update_mode: Update modes {Transform, Morph, AttrEdit, Add, Delete (multiple selections possible)};
[0168] Scope: Applicable range {component type, section (end reinforcement zone / mid-span), reinforcement grouping, spatial region (box / envelope), instance index, etc.};
[0169] priority: Priority (the decision-making process when multiple bindings write the same field); condition: Optional triggering conditions (e.g., "only when closed stirrups are used");
[0170] 4.2 Engineering Expression of Scope (Avoiding "Binding Generalization"): Scope is recommended to support at least three types of filtering conditions, which can be combined: Type filtering: type in {Stirrup, MainBar}; Partition filtering: zone == EndDense (end-encrypted zone); Spatial filtering: bounding box intersects <region>Alternatively, s in [s0,s1] (parameter range along the beam axis); in this way, the same parameter (such as length) can simultaneously drive the "mid-span stirrup group" and the "end stirrup group" without interfering with each other.
[0171] 4.3 ComputeExpr has three implementation forms. To balance configurability and performance, the system supports three forms, with "compile expression" being the preferred method: direct assignment: e.g., profile.dia = / Rebar / Main / Dia; expression calculation: e.g., {centerline = OffsetLine(axis_line, cover + dia / 2, side="left")}; table lookup / segment mapping: e.g., spacing is taken from the standard sequence {Spacing = LookupTable(length, [(0,12m)->100, (12m,20m)->125, ...])};
[0172] The system can compile expressions into executable functors (with type and unit checks) when loading and binding, and calculate the target field at runtime by only passing in the parameter values and context, reducing interaction latency.
[0173] 4.4 Handling conflicts between one-to-many binding and many-to-one write. One-to-many: The same source_path drives multiple target_entities, which can be achieved through multiple BindDescriptors or by using a collection ID in target_entity_id.
[0174] When there is a many-to-one write conflict (multiple bindings writing to the same target_field), the system decides in the following order: ① The one with more precise scope takes precedence (zone+type+index > zone+type > type); ② The one with higher priority takes precedence; ③ Conflicts at the same level are considered configuration errors, and are blocked during loading with a conflict report output (for easy engineering configuration management).
[0175] 5) Binding establishment process: In phase S1, the system establishes bindings for each component type according to the following process:
[0176] Entity recognition and ID stabilization: Generate stable entity_id rules for rebar formwork (or historical models): {ComponentId + RebarGroup + Zone + Index (example)};
[0177] Binding registration involves writing each binding to the BindingRegistry and creating an index: {BySourcePath[path] -> [bind_id...] (for quick location of parameter changes)}, {ByTargetEntity[entity_id] -> [bind_id...] (for entity updates / backtracking)};
[0178] Expression compilation and dependency extraction: parsing compute_expr, extracting the source_path_list it reads (which can be automatically extracted if not explicitly provided), and performing type / unit validation;
[0179] Binding validity check: Check if target_field exists and is writable; check if the scope can hit at least one entity (otherwise prompt "empty binding");
[0180] The output consists of a combined object of "Schema runtime state + Binding runtime state" for use in S2 diagram construction.
[0181] 6) Example: Typical binding entry
[0182] Example A: Main bar diameter attribute binding (AttrEdit): {target_entity_id = MainBarGroup_ZoneMid_Row0}; {target_field = profile.dia}; {source_path_list = [" / Rebar / Main / Dia"]}; {compute_expr = "$ / Rebar / Main / Dia"}; {update_mode = AttrEdit}; {scope ={type: MainBar, zone: MidSpan, row:0}};
[0183] Example B: Stirrup group spacing lookup table mapping (AttrEdit + Morph): {target_entity_id =StirrupArray_ZoneEndDense}; {target_field = instances.spacing}; {source_path_list = [" / Geom / Length", " / Rebar / Stirrup / SpacingRule"]}; {compute_expr = "LookupStdSpacing($ / Geom / Length, $ / Rebar / Stirrup / SpacingRule)"; {update_mode =AttrEdit};
[0184] {scope = {type: Stirrup, zone: EndDense}};
[0185] Example C: Centerline offset driven by protective layer and diameter (Transform / Morph): {target_entity_id= MainBarGroup_ZoneMid_Row0}; {target_field = centerline}; {source_path_list =[" / Cover / Bottom", " / Rebar / Main / Dia", " / Geom / Width"]}; {compute_expr = "BuildMainBarCenterline(width, cover, dia)"}; {update_mode = Morph}; {scope ={type: MainBar, zone: MidSpan, row:0}};
[0186] 7) Key engineering constraints in Phase S1: To ensure that Phase S3 "only updates affected entities," two hard constraints must be implemented in Phase S1: Parameter path traceability: All parameter paths read by ComputeExpr must be enumerable (explicitly or statically extractable); otherwise, BySourcePath indexes and dependency edges cannot be established. Target field differentiality: Comparable "signatures" (e.g., centerline point sequence hash, bend point sequence hash, attribute hash) must be defined for geometry / morphology fields to quickly determine "whether a change has actually occurred" during subsequent patch generation phases.
[0187] As a preferred option, S2 is further refined as follows: Construct a dependency graph of parameter nodes, derived node nodes, and rebar entity nodes.
[0188] 2.1 Goal and Input / Output of Dependency Graph Target: By making the driving chain of "parameter → derived quantity → reinforcement entity" explicit, the system can accurately locate the affected range by graph traversal when parameters change, and recalculate only the necessary derived quantities and update only the necessary reinforcement entities in sequence. enter: The RuntimeSchema generated by S1 (set of parameter paths and type / unit information); the BindingRegistry generated by S1 (source_path_list / compute_expr / target_field / scope, etc. for each BindDescriptor); the DerivedDecl provided by the plugin (set of derived variable definitions, which can be declared by the GraphDecl file); Output: Dependency graph G=(V,E) and its runtime indexes (adjacency list, inverted index, node metadata, hierarchical information, SCC / iteration group information)
[0189] 2.2 Node Model: Running State Fields of P / D / R Nodes
[0190] The parameter node P (ParamNode) is instantiated for each schema parameter path. Recommended fields include at least: node_id: internal node ID (can be generated from the path hash); kind = Param; path: e.g., / Geom / Length; type / unit: facilitates dependency validation and expression compilation; value_ref: points to the parameter's runtime value (for easy reading during recalculation); version_stamp: parameter version stamp / change sequence number (used for dirty mark propagation).
[0191] DerivedNode (D): Derived nodes are "intermediate computational resources" used to decompose complex logic, reuse computation results, and reduce redundant computations. Recommended fields include at least: {node_id}; {kind = Derived}; {dpath: Derived node path (recommended to be named / Derived / ..., e.g., / Derived / NetLength, / Derived / Stirrup / EndDenseCount)}; {compute_expr or compute_functor: Derived node computation expression / functor reference}; {input_paths: The set of parameters / derived node paths read by this derived node (can be explicitly declared or statically extracted)}; {cache_value: The previous computation result (used for short-circuiting)}; {dirty_flag: Dirty flag}; {value_stamp: Derived node value version stamp}; {iter_group_id (optional): If belonging to an iterative solution group (within the ring), record the group ID and convergence configuration}.
[0192] Engineering recommendation: The derived variables should be of moderate granularity. Too coarse a granularity will cause local changes to trigger large-scale recalculations, while too fine a granular granularity will result in too many nodes and high management costs.
[0193] Rebar entity node R (RebarNode): Each rebar entity (or rebar group) corresponds to one entity node, and the fields include at least: {node_id}; {kind = Rebar}; {entity_id: a stable ID consistent with the model entity}; {entity_type: MainBar / Stirrup / ... and whether it is an array group}; {bind_ids: the set of bindings related to this entity (to facilitate quick retrieval of bindings from the node)}; {state_signature: the current state signature of the entity (used for differential patch generation)}; {dependency_hint (optional): the internal sequence relationship of the entity (e.g., "group → instance")}.
[0194] 2.3 Edge Model: Two types of dependent edges and edge attributes. Dependent edges are directed edges and include at least two main categories: Compute Edges: P / D → D; indicating that the computation of the derived variable D depends on a certain parameter / derived variable. {from_node: ParamNode or DerivedNode}; {to_node: DerivedNode}; {edge_kind=Compute}; {field_mask (optional): which fields of the input are dependent on (for finer-grained short-circuiting)}.
[0195] Drive Edge: P / D → R; indicates that a certain field of the rebar entity R is driven by a parameter / derived variable (from BindDescriptor). from_node: ParamNode or DerivedNode; to_node: RebarNode; edge_kind=Drive; bind_id: points to the specific BindDescriptor (critical: to facilitate subsequent patch generation to only process related bindings); target_field: the driven field (geometry / shape / attribute); Note: Multiple Drive Edges (different bind_id, different target_field) may exist for the same pair of nodes, and parallel existence is allowed.
[0196] 2.4 Dependency Extraction: How to construct edge sets from "derived variable definitions + bindings"
[0197] For the registration and dependency extraction of derived nodes, the system loads the derived node definition DerivedDecl from the plugin GraphDecl. Each node contains: {Dpath}; {compute_expr / compute_functor}; {(optional)input_paths (explicit declaration)};
[0198] If input_paths are not explicitly provided, the system performs static dependency extraction on compute_expr: {extracting reference markers such as $ / xxx and @Derived(xxx) from the expression}; {verifying whether each reference path exists in the schema or derived table}; {forming input_paths and writing them to DerivedNode}. Then, a Compute Edge is created for each input_path: input_node → derived_node.
[0199] Construction of the reinforcing bar driven edge (from BindDescriptor), for each BindDescriptor:
[0200] {Map each source path in its source_path_list to a ParamNode or DerivedNode}; {Map its target_entity_id to a RebarNode (or multiple RebarNodes or a group node if it is a collection ID)}; {Create a Drive Edge for each source path: source_node → rebar_node, and record bind_id, target_field, update_mode, and scope on the edge}. Simultaneously, establish a "fast index": {BySourceNode[node_id] -> outgoing edges}; {ByBindId[bind_id] -> edge list}.
[0201] 2.5 Storage Structure: Adjacency List + Reverse Index + Node Table. For "forward propagation to locate influence + reverse tracing of causal chains," the runtime environment maintains at least: {NodeTable[node_id] -> NodeMeta (including kind / path / entity_id, etc.)}; {AdjOut[node_id] -> [edge...] (adjacency list: outgoing edges)}; {AdjIn[node_id] -> [edge...] (reverse index: incoming edges, also implementable by ReverseEdges)}; {Path2NodeId[path] -> node_id (parameter / derived path to node)}.
[0202] {Entity2NodeId[entity_id] -> node_id (entity to node)}; {Bind2Edges[bind_id] -> [edge...]};
[0203] AdjIn is the key foundation for realizing "tracing back from evidence of violations to parameters" and also serves the subsequent S6 causal chain explanation.
[0204] 2.6 Ring Detection and Handling: Rejection or Iterative Solution of the Set
[0205] The scope of ring detection is as follows: rings are mainly likely to appear in the derived quantum graph D subgraph (the subgraph composed of Compute Edges); P nodes, as sources, generally do not point back, and R nodes are generally not used as computational inputs, so the focus is on ring detection for DAG(D).
[0206] The detection method and output are as follows: After the system is loaded, it performs the following on the derived quantum graph: DFS tricolor marking or Tarjan's method for finding strongly connected components (SCCs); if an SCC exists and the size of the SCC is greater than 1 (or a self-loop), then a cycle is determined to exist.
[0207] The output should include at least: the set of nodes within the ring, the relevant expression fragments, and the reference path chain.
[0208] Handling strategy, strategy A: refuse configuration. For business applications that do not allow iterative solutions (recommended for most projects), the system blocks the loading of the plugin / image segment and prompts a configuration error to avoid runtime uncertainty.
[0209] Strategy B: IterGroup, which groups derived nodes within the SCC to the same iter_group_id, with the following settings: {max_iter: maximum number of iterations (e.g., 20)}; {eps: convergence threshold (e.g., relative error 1e-6 or absolute error 0.01mm)}; {update_order: update order within the group (can be fixed or by in-degree)}; {fallback: strategy when convergence fails (retain old value / take the last iteration / roll back due to error)}.
[0210] As a preferred approach, the S3 response parameters change, the affected subgraph is located, the topology derivation is recalculated, and a change patch sequence is generated.
[0211] 3.1 Parameter Change Event ParamDelta: Single Transaction and Batch Processing
[0212] The ParamDelta field is refined so that the system abstracts parameter changes from any source into: {param_path}; {old_value}; {new_value}; {source: UserUI / Import / FixSuggestion / API}; {timestamp}; {tx_id (optional): transaction number, used to merge multiple changes into one transaction; {reason_code (optional): used for auditing and explanation (e.g., "Specification Correction Recommendation #3")}.
[0213] Batch processing, interactive drag-and-drop, or batch imports often result in frequent changes. The system can employ the following methods: debouncing / merging: retaining only the last `new_value` for the same path within a short window; merging within the same transaction: forming a `ParamDeltaSet`, triggering S3-S4 in one go, reducing redundant recalculations. Output: `ChangedParamNodes = {P_i}` and `DeltaSet`.
[0214] 3.2 Location of the affected subgraph: Forward traversal from the parameter node to D and R
[0215] The traversal rules are as follows: For each node P with changed parameters: {start BFS / DFS forward traversal from AdjOut[P]}; {add DerivedNode to set D*}; {add RebarNode to set R*}; {maintain the visited set to avoid repeated visits}.
[0216] The affected subgraph can be represented as: {V* = {P_changed} ∪ D* ∪ R*}; {E* = the relevant edges between these nodes};
[0217] Scope filtering (reducing false positives): When Drive Edge carries a scope, the system performs a scope check before adding it to R*: if the bound scope does not match in the current component context, the entity is not added to R* (or it is added but marked "this binding is not effective"). This avoids erroneous updates caused by "the same parameter path being reused in different component / section plugins".
[0218] 3.3 Derived Quantity Topological Recalculation: Sorting, Caching, Short-Circuiting, and Iterative Groups
[0219] A topological sorting object that constructs an induced subgraph and performs a topological sort only on the set of affected derived variables D* (or takes subsequences in full graph topological order). The sort only considers the Compute Edge. Output: TopoList = [D1, D2, ...
[0220] For dirty flags and minimum recalculation, the system sets version_stamp++ for nodes with changed source parameters and propagates the dirty flag according to the following rules: If the value_stamp of any input node of a DerivedNode changes, then the DerivedNode sets dirty_flag=true; calculation is only performed on nodes with dirty_flag=true; after calculation, the new value is compared with cache_value: if the values are equal (considering tolerance, such as 1e-6 or 0.1mm), then value_stamp remains unchanged, and "no update required" (short-circuit) is propagated downstream; if they are not equal, cache_value is updated and value_stamp is incremented, and the dirty flag continues to be propagated downstream.
[0221] Tolerance strategies should be set according to engineering units: geometric derivatives are recommended to have tolerances in the mm range, while quantity / number of derivatives must be strictly compared for equivalent value.
[0222] Iteratively solve the group recalculation (if a cycle exists). When iter_group_id is encountered in TopoList: {take all nodes of the group as a set Gk}; {execute at most max_iter rounds of iteration: calculate and update temporary values sequentially according to update_order within the group}; {evaluate convergence after each round of calculation: max(|new-old|) < eps}; if convergence is achieved, commit the new values and stamps of the nodes within the group; otherwise, execute fallback and mark "this recalculation is unstable" for the transaction validate phase to decide whether to roll back.
[0223] 3.4 Input for generating the patch: Taking only "related bindings + related entities", for the affected entity set R*, the system does not perform "full field recalculation", but instead:
[0224] Filter the affected bindings from Bind2Edges or RebarNode.bind_ids: only bindings that have changed stamps on any source node and whose scope matches will be included in this calculation. Group these bindings to the entity level: EntityBindSet[entity_id] = [bind...]; this ensures that when an entity is affected, only the affected fields are recalculated, avoiding irrelevant field jitter.
[0225] 3.5 Target State Calculation: TargetState is generated from binding (at the field level)
[0226] For the purpose of facilitating differential analysis, the system constructs a target state structure for each entity: {TargetState.geom: centerline, local coordinates, key control points}; {TargetState.shape: bend point sequence, hook parameters, number of segments}; {TargetState.attr: diameter, steel grade, number, grouping, remarks}; {TargetState.instances: if it is an array, it includes the number of roots, spacing, start and end offsets, and instance transformation list}.
[0227] Binding execution order and conflict resolution: If multiple bindings to the same entity may write the same field, the system will resolve the conflict as described in S1.
[0228] 1) Prioritize more precise scope; 2) Prioritize higher priority; 3) If a conflict still occurs, report an error and terminate the transaction (to avoid unpredictable results).
[0229] 3.6 Differential Generation Patch: Type Determination, Content Loading, and Preconditions
[0230] The minimum data structure for a patch, each patch must contain at least: {patch_id}; {op_type: Add / Delete / Transform / Morph / AttrEdit (expandable to AddInstance, etc.)}; {entity_id}; {payload: operation content (e.g., new centerline point column, new diameter value, deletion reason, etc.)}; {precondition: precondition signature (e.g., current state_signature or version stamp)}; {post_signature: post-application signature (for verification and auditing)}; {bind_trace: source binding set / key derived path (for tracing and explanation)}; The purpose of precondition is to detect whether the patch can still be safely applied when the model is concurrent or modified externally.
[0231] Patch type determination rules (executable in the project): Compare CurrentState and TargetState, and generate patches according to the following rules: Delete: The entity determined by TargetState should not exist, such as stirrup count = 0, applicable segment length = 0, or rule requires removal; Add: Current does not exist but Target exists, such as an increase in length causing an additional set of stirrup instances in the middle of the span; Transform: The geometry remains unchanged, only the pose changes. Determination method: the centerline remains unchanged in the local coordinate system, only coord_sys changes, or the overall rigid body transformation changes; Morph: The shape changes (bending points / number of segments / hook shape / centerline topology changes), such as changes in the number of bending points, hook shape changing from 90° to 135°, centerline curvature / segmentation changes; AttrEdit: Attribute changes (diameter / steel grade / number / grouping, etc.), can coexist with Transform / Morph, manifested as multiple patches for the same entity or merged into a composite patch; Recommendation: Allow "composite patches" to reduce transaction overhead, but ensure that the application order is clear (Morph first, then AttrEdit or vice versa, fixed according to system definition).
[0232] A refined patch for arrayed rebars (strongly recommended) is suggested. For rebar groups (arrays), it is recommended to introduce finer-grained operations to avoid "deleting and adding all": UpdateArrayParams: update the number of bars / spacing / start and end offsets; AddInstance / RemoveInstance: add or delete at the instance level; UpdateInstanceTransform: change the pose of a single bar instance; MorphTemplate: change the template shape (affecting all instances). In this way, length fine-tuning will usually only trigger "number of bars +1, end offset adjustment" instead of rebuilding the entire array.
[0233] 3.7 Patch Sequence Sorting: To reduce conflicts and ensure applicability, patch sorting is recommended to follow the traditional engineering logic of "removing constraints first, then creating constraints; datum first, then instance": Delete (from deep to shallow), delete instances first, then groups to prevent dangling references; Morph / Transform (datum priority), update rebar group formwork / datum first, then update instances; Add (from shallow to deep), create groups first, then instances; AttrEdit (can be interspersed or unified at the end), if the numbering depends on geometry, it is recommended to renumber after the geometry is stable. In addition, if there are inter-entity dependencies (e.g., "positioning bars depend on main bar positions"), the system can maintain RebarDependency on R nodes and perform another entity-level topology sort on R* to stabilize the cross-entity order.
[0234] 3.8 S3 output artifacts (the standard interface for entering S4 transaction applications). The final output of S3 includes at least the following: AffectedSubGraph: a set of affected nodes and edges (for auditing / interpretation); RecomputedDerivedValues: new values and stamps of derived variables; PatchSequence: a sorted sequence of patches; DeltaSummary: a summary of changes (which parameters changed, which entities were affected, and the expected number of additions / deletions); and PreviewArtifacts: lightweight proxy data for previewing channels.
[0235] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the protection scope of the present invention.< / region>
Claims
1. An interactive system for parameter-driven design of precast component reinforcement, characterized in that, include: The parameter management and binding module is used to maintain the parameter schema of precast components and establish the binding relationship between parameters and steel reinforcement entities; The incremental update engine is used to locate the affected subgraph and generate a sequence of change patches for updating the 3D rebar model when a parameter change is received, based on the dependency graph composed of parameter nodes, derived nodes and rebar entity nodes. The model application module is used to apply the change patch sequence to the 3D steel reinforcement model in a transactional manner and drive the display refresh. The change patch sequence includes at least one or more operations such as adding, deleting, geometric transformation, morphological editing, and attribute editing; It also includes a rule base module and an interpretable validation module; The rule base module stores reinforcement layout rules and / or specification verification rules in the form of constraint declarations. The constraint declarations include at least constraint expressions, scope of application, severity level, evidence data fields, and correction strategy templates. The interpretable verification module is used to perform compliance verification on the three-dimensional steel reinforcement model or its derivatives based on the evidence data field, output a list of violations, and generate a causal chain corresponding to each violation based on the dependency graph. It also includes an interactive interface, which includes a parameter panel and a violation interaction area. The parameter panel is grouped and displayed according to component type parameters, geometric parameters, reinforcement parameters and specification options and supports interactive modification. The violation interaction area highlights the violation reinforcement entities and displays the corresponding clauses / rules and the causal chain, and restricts fine-grained generation or data output when the violation is not eliminated.
2. The interactive system for driving the design of precast component reinforcement parameters according to claim 1, characterized in that, The dependency graph describes the dependency relationship of "parameter-derived quantity-reinforcement entity" through directed edges; the incremental update engine marks the parameter nodes that have changed and traverses along the dependency direction to determine the affected subgraph, recalculates the derived quantity of the affected subgraph in topological order, and generates the change patch sequence only for the reinforcement entities associated with the affected subgraph; wherein the reinforcement entity nodes include at least one or more of the following: reinforcement group, single reinforcement, reinforcement segment, and bend point.
3. The interactive system for driving the design of precast component reinforcement parameters according to claim 1, characterized in that, The model application module uses segmented or batch transaction submissions to commit the change patch sequence; During continuous interactive input, multiple parameter changes are de-jittered and merged to generate a merged patch sequence for local updates, thereby avoiding a full reconstruction of the 3D steel reinforcement model.
4. The interactive system for driving the design of precast component reinforcement parameters according to claim 1, characterized in that, When the interpretable verification module detects a violation, it generates one or more sets of correction suggestion parameters based on the correction strategy template and the preset minimum change objective function, and sorts the correction suggestions according to the preset priority. After the user selects or automatically selects a correction suggestion, the interactive system triggers the incremental update engine to regenerate the patch sequence and repeatedly verify it until compliance conditions are met.
5. The interactive system for driving the design of precast component reinforcement parameters according to claim 1, characterized in that, The display refresh adopts a dual-channel mechanism, including a preview channel and a submission channel: The preview channel incrementally refreshes the rebar proxy geometry, skeleton lines, or envelope based on the change patch sequence to enable real-time preview; Once the submission channel meets the compliance requirements, it generates a detailed 3D rebar model containing bending details and rebar attribute information, and generates or updates the output of engineering data such as cutting length, number of bars, and / or quantity of work.
6. The interactive system for driving the design of precast component reinforcement parameters according to claim 1, characterized in that, It also includes a plugin governance module and a solution management module: The plugin governance module is used to extend component types, rule sets and data interfaces in the form of plugin packages; each plugin package contains a manifest file, which declares at least the parameter schema, dependent image segments, rule sets, correction strategy templates, compatibility information and capability list. The plugin governance module parses and performs conflict detection based on version and dependency relationships, and calls system interfaces in a controlled manner according to the capability list in an isolated environment; Engineering data output is achieved through a data interface plugin; The scheme management module is used to generate multiple design schemes for different parameter sets and supports saving, switching and comparison display. It also records an audit chain for each scheme. The audit chain includes at least parameter snapshots, rule version information, plugin version information, change patch sequence and engineering data export records to support rollback and reproduction.
7. The interactive system for driving the design of precast component reinforcement parameters according to claim 4, characterized in that, A preset minimum change objective function is used to quantify the cost of changing each set of suggested parameters relative to the current set of parameters. The cost of change includes at least the cost of parameter change magnitude, cost of steel reinforcement materials, and / or cost of construction complexity. The preset priority includes at least the following: first, adjusting the spacing and / or placement of steel reinforcement bars, then adjusting the number of steel reinforcement bars, and then adjusting the diameter and / or shape parameters of steel reinforcement bars. When the severity level of a violation reaches a preset threshold, the system automatically selects the set of suggested parameters with the lowest total cost and triggers the incremental update engine to generate and apply a sequence of change patches.
8. A modular implementation method for an interactive system driven by precast component reinforcement parameter design, characterized in that, Includes the following steps: S1, establish and maintain the parameter schema of the component parameters, and establish the binding relationship between the parameters and the reinforcement entity; S2, construct a dependency graph containing parameter nodes, derived quantity nodes, and rebar entity nodes; S3, responding to parameter changes, locates the affected subgraph in the dependency graph and recalculates the derived quantities in topological order, generating a change patch sequence that only applies to the affected reinforcement entities; S4, update the 3D steel reinforcement model and drive the display refresh by applying the change patch sequence in a transactional manner, wherein the patch sequence includes at least one or more of the following: adding, deleting, geometric transformation, morphological editing, and attribute editing.
9. The modular implementation method of the interactive system for precast component reinforcement parameter-driven design according to claim 8, characterized in that, Also includes: S5, Store the reinforcement layout rules and / or specification verification rules in the form of constraint declarations, wherein the constraint declarations include at least the constraint expression, scope of application, severity level, evidence data field and correction strategy template; S6 performs compliance verification based on evidence data fields and outputs violations and causal chains; when violations exist, it generates and sorts a set of correction suggestion parameters based on the correction strategy template and the minimum change objective function, selects and applies correction suggestions, and then iteratively executes the recalculation of the affected subgraph, patch update and compliance verification until compliance is achieved. S7 employs a dual-channel mechanism for display refresh: the preview channel incrementally refreshes the rebar proxy geometry, skeleton lines, or envelope, while the submission channel generates a detailed 3D rebar model containing bending details and attribute information after compliance, and outputs engineering data such as cutting length, number of bars, and / or quantity of work; and restricts the generation or output of data by the submission channel while the violation is not eliminated.
10. The modular implementation method of the interactive system for precast component reinforcement parameter-driven design according to claim 8 or 9, characterized in that, The modular implementation includes: encapsulating at least a portion of parameter management and binding, incremental updates, rule base, interpretable verification, data interface, and scheme management into a plugin package and declaring parameter schema, dependency image segments, rule sets, correction strategy templates, compatibility information, and capability list through a manifest file; performing version and dependency parsing on the plugin package and performing conflict detection; controlling the invocation of system interfaces according to the capability list in an isolated environment; and recording an audit chain, which includes at least parameter snapshots, rule version information, plugin version information, change patch sequences, and project data export records to support scheme saving, switching, comparison, rollback, and reproduction.
Citation Information
Patent Citations
A method for editing and updating three-dimensional steel bars
CN109684669A
Automatic reinforcement design method based on instantiation reference algorithm
CN120257463A
Construction engineering information management method and system
CN121032419A
Cited By
Detailed planning whole-process review method and system, medium and product
CN122114868A
A detailed planning process review method, system, medium, and product
CN122114868B