CN114896730B - System and method for automatically analyzing and calculating constant load of S3D air duct support - Google Patents

System and method for automatically analyzing and calculating constant load of S3D air duct support Download PDF

Info

Publication number
CN114896730B
CN114896730B CN202210528550.5A CN202210528550A CN114896730B CN 114896730 B CN114896730 B CN 114896730B CN 202210528550 A CN202210528550 A CN 202210528550A CN 114896730 B CN114896730 B CN 114896730B
Authority
CN
China
Prior art keywords
current
bracket
calculation
weight
analysis
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202210528550.5A
Other languages
Chinese (zh)
Other versions
CN114896730A (en
Inventor
沈杰
孙秀丽
陆凤菊
赵春凤
刘世昊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Nuclear Engineering Research and Design Institute Co Ltd
Original Assignee
Shanghai Nuclear Engineering Research and Design Institute Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Nuclear Engineering Research and Design Institute Co Ltd filed Critical Shanghai Nuclear Engineering Research and Design Institute Co Ltd
Priority to CN202210528550.5A priority Critical patent/CN114896730B/en
Publication of CN114896730A publication Critical patent/CN114896730A/en
Application granted granted Critical
Publication of CN114896730B publication Critical patent/CN114896730B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/17Mechanical parametric or variational design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02EREDUCTION OF GREENHOUSE GAS [GHG] EMISSIONS, RELATED TO ENERGY GENERATION, TRANSMISSION OR DISTRIBUTION
    • Y02E30/00Energy generation of nuclear origin

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The invention discloses a system for automatically analyzing and calculating constant load of an S3D air pipe support, which relates to the technical field of constant load of air pipe supports and comprises the following components: the system comprises an S3D air pipe object analysis module, a user selection module, an air pipe topological relation analysis module, an air pipe support positioning module, an air pipe support constant load calculation analysis module, a display analysis module and a report output module, wherein the S3D air pipe object analysis module is used for analyzing all S3D air pipe objects under the current project and providing input data for the subsequent user selection module. The automatic constant load analysis and calculation system for the S3D air duct support, provided by the invention, can flexibly output calculation results in various report forms, and lays a foundation for flexible application of follow-up calculation and analysis data.

Description

System and method for automatically analyzing and calculating constant load of S3D air duct support
Technical Field
The invention relates to the technical field of wind pipe support constant load, in particular to a system and a method for automatically analyzing and calculating the constant load of an S3D wind pipe support.
Background
S3D is widely used three-dimensional design software; the S3D software is used as integrated multi-specialty participated three-dimensional factory modeling software, can quickly help each specialty designer to carry out three-dimensional modeling and design inspection, and greatly improves the working efficiency and design quality; in the chemical and energy industries, S3D software is widely used and has been the case of numerous successes;
In the nuclear power design process, in order to ensure the safety of the nuclear power plant design, comprehensive mechanical analysis and calculation are required to be carried out on various supports supporting the air pipes so as to ensure that the currently configured supports can safely and reasonably support the corresponding air pipes, and the partial mechanical analysis and calculation comprise analysis and calculation work for the constant load of the supports, namely, the load formed by the air pipes and the parts thereof on the support supports is analyzed and calculated;
S3D software does not provide a mature and available wind pipe support constant load calculation and analysis functional module, so that in order to complete wind pipe support constant load calculation and analysis, a designer must manually carry out wind pipe support constant load calculation and analysis work according to the actual arrangement condition of a design model, a great deal of working time of related personnel is consumed, and meanwhile, the wind pipe support constant load calculation and analysis work is extremely easy to cause human error to be introduced, so that the accuracy of analysis results is influenced.
Disclosure of Invention
The invention aims to provide a system and a method for automatically analyzing and calculating a constant load of an S3D air duct support, which are used for solving the problems that a lot of time is consumed, errors are easy to cause and the like in the prior art.
In order to achieve the above purpose, the present invention provides the following technical solutions:
An S3D blast pipe stand constant load automatic analysis and calculation system, comprising: S3D tuber pipe object analysis module, user selection module, tuber pipe topological relation analysis module, tuber pipe support positioning module, tuber pipe support constant load calculation analysis module, display analysis module and report output module.
The S3D air pipe object analysis module is used for analyzing all S3D air pipe objects in the current project and providing input data for the subsequent user selection module;
The user selection module is used for determining the range of automatic analysis and calculation of the constant load of the air duct support, the air duct support related to subsequent calculation is the support on the air duct selected by the user, and the selection data are provided by the S3D air duct object analysis module;
The wind pipe topological relation analysis module is used for constructing a network model of the whole topological relation of the wind pipe which is required to be calculated by a user, and provides a basis for subsequent analysis and calculation;
The wind pipe support positioning module is used for placing the wind pipe support to be calculated into the constructed wind pipe topological relation network model according to the actual conditions in the design model to form a calculation analysis model;
The wind pipe support constant load calculation analysis module is used for carrying out constant load calculation analysis on all wind pipe supports in the calculation analysis model;
the display analysis module is used for displaying a final wind pipe support constant load calculation analysis result, a path planning related in a calculation process and various intermediate parameter variables to a user for the user to check the result.
The automatic analysis and calculation method for the constant load of the S3D air duct support is characterized by comprising the following steps of:
S1, acquiring all air pipe object lists in the project, and entering S2;
S2, selecting an air pipe list which needs to be subjected to automatic analysis and calculation of the constant load of the air pipe support by a user, entering S3, and if the user needs to exit from S12;
s3, acquiring all support brackets on each air pipe from an air pipe list selected by a user to form an air pipe bracket list which needs to be calculated and analyzed, and entering S4;
S4, circularly traversing the air pipe bracket, wherein the traversing is completed to enter S10, otherwise, entering S5;
s5, checking whether the current bracket is analyzed and calculated, if yes, returning to S4, otherwise, acquiring an air pipe supported by the current bracket, and entering S6;
S6, building a topological relation network model of the air pipe, and building topological relation network models of other air pipes with connection relation with the air pipe at the same time until all air pipes with direct and indirect connection relation with the air pipe are completely built, forming an integral topological relation network model, and entering S7;
S7, deploying each bracket in the air duct bracket list obtained in the step S3 to a corresponding position in the topological relation network model formed in the step S6 to form a corresponding analysis calculation model, and entering into the step S8;
s8, circularly traversing each bracket in the analysis and calculation model, entering S9 if the bracket is a 2D bracket, entering S10 if the bracket is a 3D bracket, and entering S11 after traversing is completed;
S9, performing constant load calculation analysis on the 2D bracket in the analysis calculation model, recording corresponding data after the constant load calculation analysis is completed, and returning to S8;
s10, carrying out constant load calculation analysis on the 3D bracket in an analysis calculation model, recording corresponding data after the constant load calculation analysis is completed, and returning to S8;
S11, displaying all result data and process data stored in the calculation process to a user for use, entering S12 if the user needs to output a result file, and entering S2 if the user needs to recalculate; if the user has no additional demand, go to S13;
s12, exporting all result data and process data stored in the calculation process into a file form required by a user for downloading by the user, and if the user needs to recalculate, entering S2; otherwise, entering S13;
s13, ending.
Preferably, the step S9 of performing constant load calculation analysis on the 2D stent in the analysis calculation model, and recording corresponding data after completion includes the following steps:
S9.1, finding out a calculation analysis unit to which a current bracket belongs from a calculation analysis model, creating startLoad to record the weight of an upstream air pipe and endLoad to record the weight of the air pipe, creating partLoad to record the weight of a part corresponding to the current calculation analysis unit, creating startCount to record the number of brackets corresponding to the upstream air pipe and endCount to record the number of brackets corresponding to the air pipe, and creating an upstream to-be-processed object list STARTLIST and a downstream to-be-processed list endList;
S9.2, setting startCount and endCount to 1, judging the type of the object in the current calculation and analysis unit, if part is the object, entering S9.3, and if feature is the feature, entering S9.10;
S9.3, the weight of the part needs to be evenly distributed to each bracket on the part, so that the bearing of the current bracket firstly comprises the evenly distributed weight partLoad, and the process enters S9.4;
S9.4, checking the type of the current part, and if the type is an elbow, entering S9.5; otherwise, if the branch part is the branch part, entering S9.6; otherwise go to S9.9
S9.5, taking one end face of the part as a start and the other end face as an end, respectively checking whether corresponding connection units exist on the two end faces, if so, putting the two end faces into corresponding lists STARTLIST and endList to be calculated together with the coordinates of the access point, and entering S9.20; otherwise, directly entering S9.20;
s9.6, checking which end face of the current bracket is positioned between the part and the center point, wherein the end face is marked as a start, other end faces are marked as end, and entering S9.7;
s9.7, checking whether other brackets exist between the start end face and the current bracket, if so, directly entering S9.8 after startCount +1, otherwise, if the start end face has a subsequent calculation and analysis unit, putting the start end face and the access point coordinate into STARTLIST, and entering S9.8;
S9.8, circularly traversing all end faces of the part; if other brackets are included between the current end face and the bracket, endCount +1; if not, judging whether the end face has a subsequent calculation and analysis unit, and if so, putting the end face and the access point coordinates into endList; after the traversing is completed, S9.20 is carried out;
S9.9, taking one end face of the part as a start and the other end face as an end; checking whether other brackets exist between the start end face and the current bracket, and if startCount +1 exists, entering S9.20; if not, if the start end face contains a subsequent calculation and analysis unit, putting the start end face into STARTLIST together with the access point coordinates, and entering S9.20; checking whether other brackets exist between the end face and the current bracket, and if endCount +1 exists, entering S9.20; if not, if the end face contains a subsequent calculation and analysis unit, placing the end face into endList together with the coordinates of the access point, and entering S9.20;
s9.10, if feature is turnFeature, entering S9.11; otherwise, if the number of the connecting units corresponding to the current calculation and analysis unit is more than two, entering S9.12; otherwise, enter S9.18;
S9.11, taking one end face of the feature as a start and the other end as an end, adding weights from the corresponding end faces to the feature center to startLoad and endLoad respectively, checking whether corresponding connection units exist on the two end faces respectively, if so, putting the connection units into corresponding lists STARTLIST and endList to be calculated together with the coordinates of the access point, and entering S9.20; otherwise, directly entering S9.20;
S9.12, respectively setting the two end faces of the current feature as a start and an end; firstly, checking whether the current bracket point is a start point; if yes, checking whether a subsequent connection calculation analysis unit exists on the start end face, if yes, putting the subsequent connection calculation analysis unit into STARTLIST together with the access point coordinate, and directly entering S9.15; otherwise, taking the current bracket as sp, and entering S9.13;
S9.13, checking whether the current sp is a start point, and if so, entering S9.15; otherwise, entering S9.14;
S9.14, finding the coordinate spnext corresponding to the next connection unit along the start direction, and checking whether other brackets exist between spnext and sp; if present, startCount +1, startload plus the weight between sp and the found nearest bracket to sp, enter S9.15; if not, startLoad plus the weight between sp and spnext, if the corresponding point spnext exists a subsequent computational analysis unit, put it into STARTLIST along with the access point coordinates, set spnext to sp, and return to S9.13;
S9.15, checking whether the current bracket point is an end point; if yes, checking whether a subsequent connection calculation analysis unit exists on the end face, if yes, putting the subsequent connection calculation analysis unit into endList together with the access point coordinate, and directly entering S9.20; otherwise, taking the current bracket as ep, and entering S9.16;
S9.16, checking whether the current ep is an end point, and if so, entering S9.20; otherwise, enter S9.17;
S9.17, finding the coordinate epnext corresponding to the next connection unit along the end direction, and checking whether other brackets exist between epnext and ep; if present, endCount +1, endload plus the weight between ep and the nearest stent found to ep, proceed to S9.20; if not, endLoad plus the weight between ep and epnext, if the corresponding point epnext exists a subsequent computational analysis unit, put it into endList along with access point coordinates, set epnext to ep, return to S9.16;
S9.18, taking one end face of the feature as a start and the other end face as an end; checking whether other brackets exist between the start and the current bracket; if so, adding startCount +1, startload to the weight between the current stent and the stent found closest to the current stent, and entering S9.19; if not, startLoad adds the weight between the current bracket and the start, if the end face of the start is provided with a subsequent connection calculation analysis unit, the subsequent connection calculation analysis unit is put into STARTLIST together with the coordinates of the access point, and S9.19 is entered;
S9.19, checking whether other brackets exist between the end and the current bracket; if so, adding endCount +1, endload to the weight between the current bracket and the bracket found closest to the current bracket, and entering S9.20; if not, endLoad adds the weight from the current bracket to the end, if the end face has a subsequent connection calculation analysis unit, the end face is put into endList together with the coordinates of the access point, and S9.20 is entered;
S9.20, marking the current calculation and analysis unit as completed, and entering S9.21;
S9.21, checking STARTLIST to see if the air is empty, and if not, entering S9.22; otherwise, enter S9.38;
S9.22, finding a first calculation analysis unit in STARTLIST, checking whether the unit is marked as finishing analysis calculation, and returning to S9.21 after shifting out STARTLIST if the unit is marked as finishing analysis calculation; otherwise, if the unit corresponds to part, the method goes to S9.23, otherwise, the method goes to S9.29;
S9.23, if part is a turning piece, entering S9.24; otherwise, if part is a branch, entering S9.25; otherwise, the part is a common part, and S9.24 is entered;
s9.24, checking whether a bracket exists on part, if so, entering startCount +1 into S9.37; otherwise, if no bracket exists, startLoad adds the current part weight, if the current unit exists other connection calculation analysis units different from the access point unit, the current unit and the access point coordinate are put into STARTLIST, and S9.37 is entered;
s9.25, checking whether a bracket exists between the current access point and the part center point, if so, carrying out startCount +1, and entering S9.37; otherwise, enter S9.26;
S9.26, circularly traversing other end surfaces, finishing traversing, and entering S9.28; otherwise, enter S9.27;
s9.27, if a bracket exists between the current end face and the center, startCount +1 is returned to S9.26; otherwise, if the end face is provided with a subsequent connection calculation unit, placing the subsequent connection calculation unit and the access point coordinate into STARTLIST, and returning to S9.26;
S9.28, if the bracket is not found in the circulating process of S9.27, then startLoad adds the current weight and then enters S9.37; otherwise, directly entering S9.37;
s9.29, if the number of the connection calculation analysis units of the current calculation analysis unit is more than two, entering S9.31; otherwise, entering S9.30;
S9.30, if a bracket exists on the current feature, finding a bracket sup nearest to the access point, adding startCount +1, startload to the feature weight between the access point sup, and entering S9.37; otherwise if no bracket exists, startLoad adding the weight of the current feature, if the current unit exists other connection calculation analysis units different from the access point unit, putting the connection calculation analysis unit and the access point coordinate into STARTLIST, and entering S9.37;
s9.31, finding the start and end of the two end faces of the current feature, and arranging the connection points and the start corresponding to all the connection units on the feature together with the end in sequence; after completion, setting the access point as sp, and entering S9.32;
s9.32, checking whether sp is a start end face, and if so, entering S9.34; otherwise, enter S9.33;
s9.33, setting a first connection point after sp is found along the start direction as spnext, checking whether a bracket exists between sp and spnext, and if startCount +1 exists, adding the startload to the feature weight between the sp and the bracket closest to the sp, and entering S9.34; if no scaffold exists, startLoad plus the feature weight between sp and spnext, placing the corresponding connection unit of spnext with access point coordinates in STARTLIST, setting spnext to sp, returning to S9.32;
S9.34, setting the access point to ep, and entering S9.35;
S9.35, checking whether ep is an end face, and if so, entering S9.37; otherwise, entering S9.36;
S9.36, setting a first connection point after finding the ep along the end direction as epnext, checking whether a bracket exists between the ep and epnext, and if startCount +1 exists, adding the startload to the feature weight between the ep and the bracket closest to the ep, and entering S9.37; if no rack is present, startLoad plus the feature weight between ep and epnext, placing the corresponding connection unit of epnext with access point coordinates in STARTLIST, setting epnext to ep, returning to S9.35;
S9.37, setting the current calculation and analysis unit to be the analysis completion, removing the current calculation and analysis unit from STARTLIST, and returning to S9.21;
s9.38, processing endList according to the processes of S9.21-S9.37, wherein corresponding STARTLIST is replaced by endList, startLoad is replaced by endLoad, startCount is replaced by endCount, and the process enters S9.39 after the processing is completed;
S9.39, calculating the total weight of the air pipes born by the current bracket;
S9.40, ending.
Preferably, the constant load calculation analysis is performed for the 3D bracket in the analysis calculation model in the S10,
Recording corresponding data after completion, comprising the following steps:
s10.1, calculating constant loads in two directions of the 3D bracket in a non-axial direction by referring to the step S9, and starting from the step S10.2 for an axial constant load calculation method;
S10.2, finding a calculation analysis unit to which a current bracket belongs from a calculation analysis model, creating startLoad to record the weight of an upstream air pipe and endLoad to record the weight of the air pipe, creating startLoadChange to record the weight of a flexible section of the upstream air pipe and endLoadChange to record the weight of a flexible section of the downstream air pipe, creating partLoad to record the weight of a part corresponding to the current calculation analysis unit, creating startCount to record the number of brackets corresponding to the upstream air pipe and endCount to record the number of brackets corresponding to the air pipe, creating an upstream to-be-processed object list STARTLIST and a downstream to-be-processed list endList, and entering S10.3;
S10.3, other 3d stent set supports 3dCol and other 2d stent set supports 2dCol of the non-current stent are found from the stent list of the current calculation and analysis unit, meanwhile startCount and endCount are respectively set to 1 to represent the current stent, and S10.4 is entered after the completion;
s10.4, judging the type of the object in the current calculation and analysis unit, if the object is part, entering S10.5, and if the object is feature, entering S10.11;
s10.5, the weight of the part needs to be evenly distributed to each 3d bracket on the part, so that the bearing of the current bracket firstly comprises the evenly distributed weight partLoad; if the turning piece is the turning piece, the process goes to S10.6; if the branch part is the branch part, the process goes to S10.7; otherwise, entering S10.10;
S10.6, taking one end face of the part as a start and the other end face as an end, respectively checking whether corresponding connection units exist on the two end faces, if so, putting the two end faces into corresponding lists STARTLIST and endList to be calculated together with the coordinates of the access point, and entering S10.27; otherwise, directly entering S10.27;
s10.7, checking which end face of the current 3d bracket is positioned between the center point and the end face of the part (including the end face), marking the end face as a start, marking other end faces as end, and entering S10.8;
S10.8, checking whether other 3d brackets exist between the start end face and the current 3d bracket, and if so, directly entering S10.9 after startCount +1; if the start end face has a subsequent calculation and analysis unit, placing the start end face and the access point coordinates together into STARTLIST, and entering S10.9;
S10.9, circularly traversing all other end faces of the part, and searching for an end face end consistent with the normal direction of the end face of the start; if no direct access to S10.27 is found; otherwise, if other 3d brackets are contained between the end face and the brackets, endCount +1 is carried out; if not, judging whether the end face has a subsequent calculation and analysis unit, and if so, putting the end face and the access point coordinates into endList; after completion, enter S10.27;
S10.10, taking one end face of part as a start and the other end face as an end; checking whether other 3d brackets exist between the start end face and the current bracket, and if startCount +1 exists, entering S10.27; if not, if the start end face contains a subsequent calculation and analysis unit, putting the start end face into STARTLIST together with the access point coordinates, and entering S10.27; checking whether other brackets exist between the end face and the current bracket, and if endCount +1 exists, entering S10.27; if not, if the end face contains a subsequent calculation and analysis unit, placing the end face into endList together with the coordinates of the access point, and entering S10.27;
s10.11, if feature is turnFeature, entering S10.12; otherwise, if the number of the connecting units corresponding to the current calculation and analysis unit is more than two, entering S10.13; otherwise, entering S10.21;
S10.12, taking one end face of the feature as a start and the other end as an end, adding weights from the corresponding end faces to the feature center to startLoadChange and endLoadChange respectively, checking whether corresponding connection units exist on the two end faces respectively, if so, putting the connection units into corresponding lists STARTLIST and endList to be calculated together with the coordinates of the access point, and entering S10.27; otherwise, directly entering S10.27;
S10.13, respectively setting the two end surfaces of the current feature as a start and an end; firstly, checking whether the current bracket point is a start point; if yes, checking whether a subsequent connection calculation analysis unit exists on the start end face, if yes, putting the subsequent connection calculation analysis unit into STARTLIST together with the access point coordinate, and directly entering S10.17; otherwise, taking the current bracket as sp to enter S10.14;
S10.14, finding a coordinate spnext corresponding to the next connection unit along the start direction, and checking whether other 3d brackets exist between spnext and sp; if so, S10.15 is entered; if not, go to S10.16;
S10.15, startCount +1 is used for finding a 3d support sup3d closest to sp, and whether a 2d support exists between sp and sup3d is checked; if the weight between the support sup2d and the support sup2d with the farthest distance sp is found, startLoad and startLoadChange and sp sup2d is added, startLoadChange is set to be the weight between sup2d and sup3d, and the process goes to S10.17; if not, startLoadChange plus the weight between sp and sup3d, go to S10.17;
S10.16, checking whether a 2d bracket exists between sp and spnext; if there is a 2d rack sup2d found furthest from sp startLoad plus the weight between startLoadChange and sp to sup2d, startLoadChange is set to the weight between sup2d to spnext; if not, startLoadChange plus the weight between sp and spnext; after completion spnext is a start point, if yes, checking whether a subsequent connection calculation analysis unit exists on the end face of the start point, if yes, putting the subsequent connection calculation analysis unit into STARTLIST together with the coordinates of the access point, and directly entering S10.17; if not, checking spnext whether the corresponding calculation and analysis unit has only one connection unit, if so, adding the corresponding object weight to startLoadChange, setting spnext to sp, and returning to S10.14;
S10.17, checking whether the current bracket point is an end point; if yes, checking whether a subsequent connection calculation analysis unit exists on the end face, if yes, putting the subsequent connection calculation analysis unit into endList together with the access point coordinate, and directly entering S10.27; otherwise, taking the current bracket as ep to enter S10.18;
S10.18, finding the coordinate epnext corresponding to the next connection unit along the end direction, and checking whether other 3d brackets exist between epnext and ep; if so, S10.19 is entered; if not, go to S10.20;
S10.19, endCount +1 is used for finding a 3d support sup3d closest to ep, and checking whether a 2d support exists between ep and sup3 d; if there is a 2d support sup2d, endLoad which is furthest from ep plus the weight between endLoadChange and ep to sup2d, endLoadChange is set to the weight between sup2d to sup3d, and S10.27 is entered; if not, endLoadChange plus the weight between ep to sup3d, go to S10.27;
S10.20, checking whether a 2d bracket exists between ep and epnext; if there is a 2d rack sup2d, endLoad located furthest from ep plus the weight between endLoadChange and ep to sup2d, endLoadChange is set to the weight between sup2d to epnext; if not, endLoadChange plus the weight between ep and epnext; after completion epnext is an end point, if yes, checking whether a subsequent connection calculation analysis unit exists on the end face, if yes, putting the end face and the access point coordinate into endList, and directly entering S10.27; if not, checking epnext whether the corresponding calculation and analysis unit has only one connection unit, if so, adding the corresponding object weight to endLoadChange, setting epnext as ep, and returning to S10.18;
S10.21, taking one end face of the feature as a start and the other end face as an end; checking whether other 3d brackets exist between the start and the current bracket; if so, S10.22 is entered; if not, go to S10.23;
S10.22, startCount +1; finding a 3d support sup3d closest to the current support; checking whether a 2d bracket exists between the current bracket and the sup3d bracket; if the weight between the 2d support sup2d which is farthest from the current support and the support sup2d which is startLoad plus startLoadChange and the current support sup2d exists, startLoadChange is set to be the weight between sup2d and sup3d, and the process goes to S10.24; if not, startLoadChange plus the weight between the current bracket and sup3d, entering 10.24;
S10.23, checking whether a 2d bracket exists between the current bracket and the start; if there is a 2d bracket sup2d found furthest from the current bracket, startLoad plus the weight between startLoadChange and the current bracket sup2d, startLoadChange is set to the weight between sup2d to start; if not, startLoadChange plus the weight between the current bracket and start; after completion, checking whether a subsequent connection calculation analysis unit exists on the end face of the start, if so, putting the end face of the start and the coordinates of the access point together into STARTLIST, and directly entering S10.24; otherwise, directly entering S10.24;
s10.24, checking whether other 3d brackets exist between the end and the current bracket; if so, S10.25 is entered; if not, go to S10.26;
S10.25, endCount +1; finding a 3d support sup3d closest to the current support; checking whether a 2d bracket exists between the current bracket and the sup3d bracket; if the weight between the 2d support sup2d which is farthest from the current support and the support sup2d which is endLoad plus endLoadChange and the current support sup2d exists, endLoadChange is set to be the weight between sup2d and sup3d, and the process goes to S10.27; if not, endLoadChange adds the weight between the current bracket and sup3d, and the process goes to S10.27;
s10.26, checking whether a 2d bracket exists between the current bracket and the end; if there is a 2d bracket sup2d found furthest from the current bracket, endLoad plus the weight between endLoadChange and the current bracket sup2d, endLoadChange is set to the weight between sup2d to end; if not, endLoadChange plus the weight between the current bracket and end; after completion, checking whether a subsequent connection calculation analysis unit exists on the end face, if so, putting the end face and the access point coordinate together into endList, and directly entering S10.27; otherwise, directly entering S10.27;
S10.27, marking the current calculation and analysis unit as completed, and entering S10.28;
S10.28, checking STARTLIST to see if the space is empty, and if not, entering S10.29; otherwise, entering S10.52;
s10.29, finding a first calculation analysis unit in STARTLIST, checking whether the unit is marked as finishing analysis calculation, and returning to S10.28 after shifting out STARTLIST if the unit is marked as finishing analysis calculation; otherwise, if the unit corresponds to part, the method goes to S10.30, otherwise, the method goes to S10.39;
S10.30, if part is a turning piece, entering S10.31; if part is a branch, go to S10.35; otherwise, entering S10.38;
s10.31, checking whether a 3d bracket exists on the current part; if present, startCount +1, proceed to S10.51; if not, go to S10.32;
S10.32, judging whether the current turning piece is a back-and-forth turning piece or not, and if so, entering S10.33; if not, go to S10.34;
s10.33, checking whether a connecting unit inconsistent with the access point exists in the current back-and-forth bending part; if not, startLoadChange adds the current back and forth bending weight, and the process goes to S10.51; if there is an object corresponding to the connecting unit, which is a straight section and has a bracket on the straight section, and the connecting object corresponding to the connecting point of the first object in the current STARTLIST is a straight pipe and also has a bracket on the straight pipe, startLoadChange adds the weight of the current back and forth bend, simultaneously finds the position of the bracket on the straight section closest to the back and forth bend, startLoadChange adds the weight from the connecting point of the straight section and the back and forth bend to the nearest bracket, then startLoadChange is set to half of the current startLoadChange, the current back and forth bend is set to be completed, then the current component is set to be the subsequent branch pipe section, and S10.51 is entered; otherwise startLoadChange adds half of the current bending back and forth weight, and the process goes to S10.51;
S10.34, checking whether a connecting unit inconsistent with the access point exists in the current turning piece; if not, startLoadChange adds the current back and forth bending weight, and the process goes to S10.51; if the straight pipe is connected with the elbow and then connected with the straight pipe, and only the last straight pipe is provided with a bracket, the position of the bracket closest to the back and forth bending on the straight section is found, startLoadChange is added with the weight between the current turning piece, the middle straight pipe and the connecting point of the subsequent elbow and the last straight pipe to the nearest bracket, startLoadChange is set to be half of the current startLoadChange, the current turning piece, the subsequent straight pipe and the elbow are marked as completed together, the current part is set as the last straight pipe, and S10.51 is entered;
S10.35, checking whether an end face consistent with the end face normal direction corresponding to the current access point exists or not; if not, go to S10.36; if yes, go to S10.37;
S10.36, checking whether a 3d bracket exists from the access point to the center of the current branch piece; if yes, checking whether a 2d bracket exists between the access point and the 3d bracket, if not, directly startCount +1, and entering S10.51; otherwise startLoad plus startLoadChange, startLoadChange is set to 0, startcount+1, enter S10.51; if the 3d bracket does not exist, checking whether a 2d bracket exists between the access point and the central point, and if the 2d bracket does not exist, adding the branch weight of the current part to startLoadChange, and then entering S10.51; otherwise startLoad plus startLoadChange, then if the 2d bracket is just at the access point, startLoadChange is set as the branch weight of the current part, entering into S10.51; otherwise startLoad is added with the branch weight of the current part, startLoadChange is set to 0, and S10.51 is entered;
S10.37, checking whether a 3d bracket exists between the two end surfaces; if yes, checking whether a 2d bracket exists between the access point and the 3d bracket, if not, directly startCount +1, and entering S10.51; otherwise startLoad plus startLoadChange, startLoadChange is set to 0, startcount+1, enter S10.51;
s10.38, checking whether a 3d bracket exists on the current part; if so, startCount +1 checks whether a 2d bracket exists between the access point and the 3d bracket, and if not, directly enters S10.51; if startLoad plus startLoadChange, startLoadChange are present, proceeding to S10.51 after setting to 0; if the 3d bracket does not exist, checking whether a subsequent connection unit exists on the end face of the current part, which is different from the access point, and if so, placing STARTLIST together with the coordinates of the access point; checking whether a 2d bracket exists on the current part, if startLoad plus startLoadChange and the current part weight exist, startLoadChange is set to 0, and entering S10.51; if startLoadChange plus the current part weight does not exist, proceeding to S10.51;
S10.39, if feature is turnFeature, entering S10.40; otherwise, if the number of the connection units corresponding to the current calculation and analysis unit is more than two, entering S10.43; otherwise, enter S10.49;
S10.40, checking whether a 3d bracket exists on the current feature; if so, startCount +1, startloadchange plus the weight between the access point and the cradle, proceed to S10.51; if not, go to S10.41;
s10.41, checking whether a 2d bracket exists on the current feature; if present startLoad plus startLoadChange and the weight between the access point and the 2d cradle, go to S10.51; if not, go to S10.42;
s10.42, whether a connection unit inconsistent with an access point exists in the current feature or not; if not, startLoadChange adds the current feature weight, go to S10.51;
S10.43, if the starting point and the ending point of the current feature are consistent, entering S10.44; otherwise, entering S10.45;
S10.44, if the end face corresponding to the access point of the current feature is a start end face, if the end face has a subsequent calculation unit, putting the end face into STARTLIST, and entering S10.51; if the end face of the access point is the end face, if the start end face has a subsequent calculation unit, the subsequent calculation unit is put into STARTLIST, and S10.51 is entered; if the access point is a branch end face, if the feature has other branch end faces and a subsequent computing unit, putting the branch end face into STARTLIST, and entering S10.51;
S10.45, if the access point of the current feature is not the start point or the end point of the feature, directly entering S10.51; otherwise, taking the access point as a starting point sp and the other end point as an ep point, and entering S10.46;
S10.46, finding the coordinate spnext corresponding to the next connection unit along the sp-ep direction, and checking whether other 3d brackets exist between spnext and sp; if so, S10.47 is entered; if not, go to S10.48;
S10.47, startCount +1, finding the 3d support sup3d closest to sp, and checking whether a 2d support exists between sp and sup3 d; if the weight between the support sup2d and the support sup2d with the farthest distance sp is found, startLoad and startLoadChange and sp sup2d is added, startLoadChange is set to be the weight between sup2d and sup3d, and the process goes to S10.51; otherwise, if not, startLoadChange adds the weight between sp and sup3d, and the method enters S10.51;
S10.48, checking whether a 2d bracket exists between sp and spnext; if present, find the 2d rack sup2d furthest from sp, startLoad plus the weight between startLoadChange and sp to sup2d, startLoadChange set to the weight between sup2d and spnext;
S10.49, if the current feature contains a 3d bracket, entering S10.50; otherwise, checking whether the end face inconsistent with the access point contains a subsequent connection unit, and adding STARTLIST if the end face inconsistent with the access point contains the connection unit together with the access point coordinate; checking whether a 2d bracket exists on the current feature; if the support sup2d which is farthest from the access point is found, startLoad plus the weight between startLoadChange and the access point sup2d, startLoadChange is set as the weight between sup2d and the other end face, and S10.51 is entered; otherwise startLoadChange adding the weight corresponding to the current feature, and entering S10.51;
S10.50, startCount +1; checking whether a 2d bracket exists between the 3d bracket sup3d nearest to the access point and the access point; if the bracket sup2d farthest from the access point is found, startLoad plus the weight between startLoadChange and the access point sup2d, startLoadChange is set to be the weight between sup2d and sup3d, and the method enters S10.51; otherwise startLoadChange adding the weight between the access point and sup3d, and entering S10.51;
S10.51, setting the current calculation and analysis unit to be the analysis completion, removing the current calculation and analysis unit from STARTLIST, and returning to S10.28;
S10.52, process endList according to S10.28-S10.51 except that corresponding STARTLIST is exchanged for endList, startLoad is exchanged for endLoad, startCount is exchanged for endCount, startLoadChange is exchanged for endLoadChange; after the treatment is completed, the process goes to S10.53;
s10.53, calculating the total weight of the air pipe born by the current bracket as partLoad + (startLoad + startLoadChange)/startCount + (endLoad + endLoadChange)/endCount, converting the total weight into kilogram units, and multiplying the kilogram units by 9.8 to obtain the axial constant load of the current bracket in Newton units; after completion, entering S10.54;
S10.54, ending.
Preferably, in S9.39, the total weight is partLoad + startLoad/startCount + endLoad/endCount.
Preferably, for a non-anti-seismic bracket, the constant loads in the three directions are the calculated total loads, and for an anti-seismic bracket, the constant load in the axial direction is 0, and the constant loads in the other two directions are consistent with those of the anti-seismic bracket; after completion, the process goes to S9.40.
Preferably, in S10.34, if a 2d bracket is present, startLoad plus startLoadChange and half of the weight of the current turn piece, startLoadChange is set to 0, and S10.51 is entered; otherwise startLoadChange plus half the weight of the current turn piece, proceed to S10.51.
Preferably, in S10.37, if there is no 3d bracket, checking whether there is a subsequent connection calculation unit on the end face inconsistent with the access point, if there is a subsequent connection calculation unit and the access point coordinates are put into STARTLIST, checking whether there is a 2d bracket between the two end faces, if there is no startLoadChange plus the main weight of the current part, entering S10.51; otherwise startLoad plus startLoadChange, then if the 2d bracket is just at the access point, startLoadChange is set as the main weight of the current part, entering into S10.51; otherwise startLoad is added with the main weight of the current part, startLoadChange is set to 0, and S10.51 is entered.
Preferably, in the step S10.42, if there is a connection unit inconsistent with the access point, and the subsequent connection component is just a straight pipe connected to an elbow and then connected to the straight pipe, and only the last straight pipe has a bracket, the position of the bracket closest to the back and forth bend on the straight section is found, startLoadChange is added to the weight between the current turning piece and the connection point of the middle straight pipe, the subsequent elbow and the last straight pipe and the nearest bracket, startLoadChange is set to half of the current startLoadChange, the current turning piece, the subsequent straight pipe and the elbow are marked as completed together, and then the current component is set to the last straight pipe, and the step S10.51 is entered; if this is not the case startLoadChange plus half the weight of the current turn piece, proceed to S10.51.
Preferably, in S10.48, if no 2d scaffold is present, startLoadChange plus a weight between sp and spnext; if spnext is ep, checking whether a subsequent connection unit exists on the corresponding end face of ep, if so, putting STARTLIST the subsequent connection unit together with the access point coordinates, and entering S10.51; otherwise, check spnext whether the corresponding connection unit is only a unique connection unit, if yes, startLoadChange add the weight of the object corresponding to the connection unit, set spnext to sp, and return to S10.46.
Compared with the prior art, the invention has the beneficial effects that:
1. The system and the method for automatically analyzing and calculating the constant load of the S3D air duct support can automatically analyze and calculate the constant load of the air duct support according to the arrangement condition of the support in an air duct design model, realize the automation of the mechanical calculation and analysis of the air duct support, avoid the corresponding calculation work of a designer, and greatly improve the efficiency and the quality of the calculation and analysis work;
2. The system and the method for automatically analyzing and calculating the constant load of the S3D air duct support can support the calculation and analysis of the earthquake-resistant support, the fee earthquake-resistant support, the 2D support and the 3D support, and have wide coverage range;
3. The constant-load automatic analysis and calculation system for the S3D air duct support can display all air duct objects and corresponding various parameters involved in the calculation process to a user, and greatly facilitates verification and analysis of a calculation result by the user;
4. The automatic constant load analysis and calculation system for the S3D air duct support can enable a user to freely define a range to be calculated, so that the calculation efficiency is improved;
5. The automatic constant load analysis and calculation system for the S3D air duct support, provided by the invention, can flexibly output calculation results in various report forms, and lays a foundation for flexible application of follow-up calculation and analysis data.
Drawings
FIG. 1 is a block diagram of a system for automatic analysis and calculation of constant load of an S3D air duct bracket according to an embodiment of the present invention;
Fig. 2 is a flowchart of a method for implementing automatic analysis and calculation of a constant load of an air duct bracket according to an embodiment of the present invention.
Detailed Description
The following description of the embodiments of the present invention will be made clearly and completely with reference to the accompanying drawings, in which it is apparent that the embodiments described are only some embodiments of the present invention, but not all embodiments. All other embodiments, which can be made by those skilled in the art based on the embodiments of the invention without making any inventive effort, are intended to be within the scope of the invention.
Referring to fig. 1-2, the present invention provides a technical solution: as shown in fig. 1, a system for automatically analyzing and calculating a constant load of an S3D air duct bracket includes: the S3D air pipe object analysis module is used for analyzing all S3D air pipe objects in the current project and providing input data for the subsequent user selection module;
The user selection module is used for determining the range of automatic analysis and calculation of the constant load of the air duct support, the air duct support involved in subsequent calculation is the support on the air duct selected by the user, and the selection data are provided by the S3D air duct object analysis module;
The wind pipe topological relation analysis module is used for constructing a network model of the overall topological relation of the wind pipe which is required to be calculated by a user, and provides a basis for subsequent analysis and calculation;
The wind pipe support positioning module is used for placing the wind pipe support to be calculated into the constructed wind pipe topological relation network model according to the actual conditions in the design model to form a calculation analysis model;
the wind pipe support constant load calculation analysis module is used for carrying out constant load calculation analysis on all wind pipe supports in the calculation analysis model;
The display analysis module is used for displaying a final wind pipe bracket constant load calculation analysis result, a path planning related in a calculation process and various intermediate parameter variables to a user, and is used for checking the result by the user;
the report output module is used for outputting the final result and the process parameters in a report form, so that a user can conveniently integrate a subsequent system and use the system for other purposes;
As shown in fig. 2, the implementation method of the S3D air duct bracket constant load automatic analysis and calculation includes the following steps:
S1, acquiring all air pipe object lists in the project, and entering S2;
S2, selecting an air pipe list which needs to be subjected to automatic analysis and calculation of the constant load of the air pipe support by a user, entering S3, and if the user needs to exit from S12;
s3, acquiring all support brackets on each air pipe from an air pipe list selected by a user to form an air pipe bracket list which needs to be calculated and analyzed, and entering S4;
S4, circularly traversing the air pipe bracket, wherein the traversing is completed to enter S10, otherwise, entering S5;
s5, checking whether the current bracket is analyzed and calculated, if yes, returning to S4, otherwise, acquiring an air pipe supported by the current bracket, and entering S6;
S6, building a topological relation network model of the air pipe, and building topological relation network models of other air pipes with connection relation with the air pipe at the same time until all air pipes with direct and indirect connection relation with the air pipe are completely built, forming an integral topological relation network model, and entering S7;
S7, deploying each bracket in the air duct bracket list obtained in the step S3 to a corresponding position in the topological relation network model formed in the step S6 to form a corresponding analysis calculation model, and entering into the step S8;
s8, circularly traversing each bracket in the analysis and calculation model, entering S9 if the bracket is a 2D bracket, entering S10 if the bracket is a 3D bracket, and entering S11 after traversing is completed;
S9, performing constant load calculation analysis on the 2D bracket in the analysis calculation model, recording corresponding data after the constant load calculation analysis is completed, and returning to S8;
S9, carrying out constant load calculation analysis on the 2D bracket in an analysis calculation model, and recording corresponding data after the constant load calculation analysis is completed, wherein the method comprises the following steps of:
S9.1, finding out a calculation analysis unit to which a current bracket belongs from a calculation analysis model, creating startLoad to record the weight of an upstream air pipe and endLoad to record the weight of the air pipe, creating partLoad to record the weight of a part corresponding to the current calculation analysis unit, creating startCount to record the number of brackets corresponding to the upstream air pipe and endCount to record the number of brackets corresponding to the air pipe, creating an upstream to-be-processed object list STARTLIST and a downstream to-be-processed list endList, and entering S9.2;
S9.2, startCount and endCount are respectively added with 1 to represent the current bracket, and S9.3 is entered;
s9.3, judging the type of the current calculation analysis unit, if the type is feature type, entering S9.19, otherwise entering S9.4;
S9.4, acquiring the weight of the part corresponding to the current unit, and uniformly dividing the weight of the part to each support bracket according to the number of brackets contained in the current unit, so partLoad is the uniform weight of the current part, and entering S9.5;
S9.5, if the current part is a turning piece, entering S9.6, otherwise entering S9.9;
S9.6, if the number of the connecting units corresponding to the current calculation and analysis unit is more than two, directly judging that the design model corresponding to the current calculation and analysis model has design errors because the turning piece is not supposed to be branched, directly exiting after reporting errors, otherwise entering S9.7;
s9.7, judging whether the current unit comprises more than one bracket, if yes, reporting wrong exit, otherwise, reporting wrong exit at the center of the turning piece, otherwise, entering S9.8;
s9.8, checking whether the current calculation analysis unit has a corresponding connection unit containing a connection object, if yes, respectively placing the connection unit into STARTLIST or endList, and entering S9.35 after finishing as long as the connection unit is not repeatedly placed into the same list;
s9.9, if the number of the connecting units of the current calculation and analysis unit is more than two, the current bracket cannot be placed at the center of the branch part according to the design requirement, if the current bracket is placed at the center of the branch part, the current bracket exits in a wrong way, otherwise, the current bracket enters S9.10; if not, otherwise, enter S9.16;
S9.10, if the feature starting and ending points corresponding to the current part are consistent, the representation is special ENDLEGPART, entering S9.11, otherwise entering S9.13;
S9.11, judging whether the current unit comprises more than one bracket, if yes, reporting error, and otherwise, entering S9.12;
s9.12, finding out which end face of the current calculation and analysis unit the current bracket is positioned on, if the end face is provided with a corresponding connection unit, putting the end face into STARTLIST, and if other end faces are provided with corresponding connection units containing connection objects, putting the end faces into endList, and entering S9.35;
S9.13, finding out which end face of the current bracket is positioned on the center of the branch, marking the end face as a start end face, marking other end faces as end faces, and entering S9.14;
S9.14, checking whether a bracket positioned between the end face of the start and the current bracket exists in a bracket list of the current calculation and analysis unit; if so, startCount is added with 1 and S9.15 is entered; if not, checking whether the start end face has a corresponding connection unit containing a connection object, if so, putting the connection unit into STARTLIST, and entering S9.15 after finishing;
S9.15, checking whether a bracket positioned between the current bracket and a part center point exists in a bracket list of the current calculation analysis unit; if so, endCount is added with 1 and S9.35 is entered; otherwise, checking whether a bracket in the current calculation and analysis unit bracket list exists between the part center point and each end surface, if so, adding 1 to endCount, otherwise, checking whether a corresponding end surface has a corresponding connection unit containing a connection object, if so, putting endList, and after all end surface judgment is finished, entering S9.35;
S9.16, if the feature starting and ending points corresponding to the current part are consistent, representing that the feature starting and ending points are special ENDLEGPART, and entering S9.17; otherwise, enter S9.18;
S9.17, judging whether the number of the brackets contained in the current unit exceeds one, if yes, reporting to the wrong side, and if no, checking whether the current calculation and analysis unit has a corresponding connection unit containing a connection object, if yes, respectively putting the connection unit into STARTLIST or endList, and if not, putting the connection unit into the same list repeatedly, and entering S9.35 after completion;
s9.18, setting two connecting units as a starting point unit and an end point unit respectively, and arranging the two connecting units in random sequence; checking whether a corresponding bracket exists between the current bracket and the starting point unit, if yes, adding 1 to startCount, otherwise, if the starting point connection unit contains a connection object, putting the starting point connection unit into STARTLIST; checking whether a corresponding bracket exists between the current bracket and the terminal unit, if yes, adding 1 to endCount, otherwise, if the terminal connection unit contains a connection object, putting the terminal connection unit into endList, and entering S9.35 after finishing;
s9.19, if the current feature is a turning feature, entering S9.20, otherwise entering S9.22;
S9.20, checking whether the current bracket is in the center only at the center of the turning feature; if the error is not reported, the method exits; otherwise startLoad and endLoad are respectively half of the current feature weight, and S9.21 is entered;
S9.21, checking whether the current calculation analysis unit has a corresponding connection unit containing a connection object, if yes, respectively placing the connection unit into STARTLIST or endList, and entering S9.35 after finishing as long as the connection unit is not repeatedly placed into the same list;
s9.22, if the number of the connection units of the current calculation and analysis unit is more than two, entering S9.23; otherwise go to S9.33
S9.23, if the starting and ending points of the current features are consistent, directly reporting the error and exiting, wherein a bracket is not placed on a branching point, otherwise, entering S9.24;
s9.24, finding the coordinates of all the connection units of the current calculation and analysis unit, arranging the coordinates in sequence, forming a series of sequentially arranged point sets distributed on line segments corresponding to the current features, just dividing the current features into countless small segments, and entering S9.25;
S9.25, if the current bracket is positioned at any one point of the point set except the starting point and the end point, reporting error and exiting, wherein the points represent branch points, otherwise, entering S9.26;
S9.26, circularly traversing all line segments formed in the S9.24, finding out the line segment where the current bracket is positioned, recording that two coordinate points forming the line segment are sp and ep respectively, and entering into the S9.27;
S9.27, checking whether a bracket exists between the current bracket coordinate and sp, if so, adding startCount to 1, and adding startload to the weight of the feature between the nearest bracket and the current bracket to the current bracket, and entering S9.30; otherwise startLoad adding the weight of the section of feature between the current bracket and the sp point, if the connection unit corresponding to the sp point contains a connection object, putting the connection unit into STARTLIST, and entering S9.28;
S9.28, checking whether the current sp is an endpoint of feature, and if so, directly entering S9.30; otherwise, according to the line segment direction from the current bracket to the sp point, finding out the end point in front of the sp, and entering S9.29;
S9.29, if a line segment formed by sp and the front end point of the sp does not have a bracket contained in the current calculation and analysis unit, startLoad is added with the feature weight corresponding to the current line segment, if the connection unit corresponding to the front end point of the sp contains a connection object, the connection unit is placed in STARTLIST, the front end point of the sp is changed into sp, and S9.28 is returned; otherwise, if the bracket is included, startLoad is added with the weight of the feature between the starting point of the line segment and the nearest bracket, and startCount is added with 1, and the process goes to S9.30;
s9.30, checking whether a bracket exists between the current bracket coordinate and ep, if so, adding endCount to 1, adding the endload to the weight of the feature between the current bracket coordinate and the nearest bracket to the current bracket, and directly entering S9.35; otherwise endLoad adding the weight of the section of feature between the current bracket and the ep point, if the connection unit corresponding to the ep point contains a connection object, putting the connection unit into endList, and entering S9.31;
s9.31, checking whether the current ep is the endpoint of the feature, and if so, directly entering S9.35; otherwise, according to the line segment direction from the current bracket to the ep point, finding the front end point of the ep, and entering S9.32;
S9.32, if a line segment formed by the ep and the ep front end point does not have a bracket contained in the current calculation and analysis unit, endLoad is added with the feature weight corresponding to the current line segment, if the connection unit corresponding to the ep front end point contains a connection object, the connection object is placed into endList, the ep front end point is changed into the ep, and S9.31 is returned; otherwise, if the bracket is included, endLoad is added with the weight of the feature between the starting point of the line segment and the nearest bracket, and endCount is added with 1, and S9.35 is entered;
S9.33, respectively marking two connecting units of the current calculation and analysis unit as a starting point unit and an ending point unit, if a line segment formed between the current bracket and the starting point unit contains other brackets of the current calculation and analysis unit, startCount is added with 1, startLoad is added with the feature weight corresponding to the distance from the current bracket to the nearest bracket of the current bracket, and S9.34 is entered; if not, startLoad adding a feature weight corresponding to the distance between the current stent and the origin coordinates, and if the origin unit contains a connection object, putting the origin connection unit into STARTLIST, proceeding to S9.34;
S9.34, if the line segment formed between the current bracket and the terminal unit comprises other brackets of the current calculation and analysis unit, endCount is added with 1, meanwhile endLoad is added with the feature weight corresponding to the distance from the current bracket to the nearest bracket of the current bracket, and S9.35 is entered; if not, endLoad adding the feature weight corresponding to the distance between the current stent and the destination coordinates, and if the destination unit contains a connection object, putting the destination connection unit into endList, and entering S9.35;
s9.35, marking the current calculation analysis unit as finishing analysis calculation, and entering S9.36;
S9.36, set STARTLIST to toDoList, startCount to currentCount, startLoad to currentLoad, go to S9.37;
S9.37, if toDoList is not empty, fetch the object doItem in the first toDoList, go to S9.38; otherwise toDoList is empty, entering S9.67;
S9.38, finding a calculation analysis unit corresponding to the connection object in the doItem connection units from the calculation analysis model, marking the calculation analysis unit as finishing analysis calculation and removing the calculation analysis unit from toDoList if the calculation analysis unit finishes analysis, and returning to S9.37; otherwise, enter S9.39;
S9.39, judging the type of the current calculation analysis unit, if the type is feature type, entering S9.53, otherwise entering S9.40;
S9.40, if the object in the current calculation and analysis unit is a turning piece, entering S9.41; otherwise, if the number of the connecting units is greater than two, entering S9.45; otherwise, enter S9.51;
s9.41, if the number of the connecting units corresponding to the current calculation and analysis unit is more than two, directly judging that the design model corresponding to the current calculation and analysis model has design errors because the turning piece is not supposed to be branched, directly exiting after reporting errors, otherwise entering S9.42;
S9.42, if the current calculation and analysis unit comprises more than one bracket, the modeling rule is not met, the error is reported, and otherwise, S9.43 is entered;
S9.43, if the current calculation and analysis unit comprises a bracket, the bracket is fixed at the center of the bend, currentCount +1, and S9.53 is entered; otherwise, the bracket is not included, and S9.44 is carried out;
S9.44, currentLoad adds the part weight corresponding to the current connection unit, removes the unit with the coordinate identical to the connection unit corresponding to doItem in S9.38 from all the connection units of the current calculation analysis unit, writes the connection unit into toDoList if other connection units contain corresponding connection objects, otherwise does not write, and enters S9.66 after completion;
S9.45, if the starting and ending points of features corresponding to the current object are consistent, the representation is ENDLEGPART, and at most one bracket can be placed, and S9.46 is entered; otherwise, enter S9.49;
s9.46, if the stent is a stent, entering S9.47, otherwise entering S9.44;
S9.47, currentCount +1; if the coordinates of the bracket are consistent with the coordinates on the connecting unit corresponding to doItem, directly entering S9.66; otherwise, enter S9.48;
s9.48, removing the unit with the coordinates consistent with the coordinates of the current bracket after checking the unit with the coordinates consistent with the coordinates of the doItem connecting units in the current calculation and analysis unit, and putting the rest connecting units into toDoList if the rest connecting units contain connecting objects, and entering S9.66 after finishing;
S9.49, firstly checking whether a bracket exists on a line segment between the current connection unit and the center point of the connection object, if so, carrying out currentCount +1, and entering S9.66 after finishing; otherwise, if not, entering S9.50;
S9.50, checking whether a bracket exists between other connecting units and the center point of the current object after the current calculation and analysis unit removes the unit consistent with the coordinates of the connecting unit corresponding to doItem in S9.38, if the connecting unit without the bracket has the corresponding connecting object, putting the connecting unit into toDoList, if no bracket is found in the process after the completion, adding the part weight corresponding to the current connecting unit to currentLoad, and entering S9.66 after the completion;
s9.51, if the current calculation and analysis unit has a bracket, currentCount +1, entering S9.66 after finishing; otherwise, enter S9.52;
S9.52, currentLoad adds the part weight corresponding to the current connection unit, checks whether other connection units containing connection objects exist after the current calculation analysis unit removes the unit consistent with the connection unit coordinates corresponding to doItem in S9.38 after the completion, and enters S9.66 after the completion if the other connection units containing connection objects are placed in toDoList;
S9.53, if the curve is the curve, entering S9.54; otherwise, if the number of the connection units of the current calculation and analysis unit is more than 2, entering S9.56; otherwise, enter S9.63;
s9.54, if the number of the brackets of the current calculation and analysis unit is more than 1, reporting a fault and exiting, otherwise, if the number of the brackets is one, currentCount +1 and currentLoad adds the weight of the feature between the bracket position and the coordinate of the doItem connection unit, entering S9.66; otherwise, if the bracket is not provided, S9.55 is carried out;
s9.55, currentLoad adding the feature weight corresponding to the current calculation and analysis unit, if the current calculation and analysis unit removes the unit which is consistent with the connection unit coordinates corresponding to doItem in S9.38 and then has a connection unit containing a connection object, putting the connection unit into toDoList, and entering S9.66;
S9.56, if the feature starting and ending points corresponding to the current calculation and analysis unit are consistent, the method represents a branch point, the branch point cannot have a support and has no weight, the current calculation and analysis unit is checked to remove the unit consistent with the connection unit coordinates corresponding to doItem in S9.38, then the connection unit containing the connection object is also checked, and if all the connection units are placed into toDoList, the method enters S9.66; otherwise, enter S9.57;
S9.57, finding the coordinates of all the connecting units of the current calculation and analysis unit, arranging the coordinates in sequence, forming a series of sequentially arranged point sets distributed on the line segments corresponding to the current features, just dividing the current features into countless small segments, finding coordinate points corresponding to doItem connecting units, and entering S9.58;
S9.58, checking whether the connection unit corresponding to doItem is a branch connection unit of the current calculation analysis unit, if yes, checking whether other branch connection units consistent with doItem coordinates are contained in the branch connection unit of the current calculation analysis unit, if yes, putting the other branch connection units containing connection objects into toDoList, setting a point accessed by doItem as currentP, and entering S9.59; if not, setting doItem access point as currentP, and directly entering S9.59;
s9.59, if currentP is the starting point, proceeding to S9.61; otherwise, finding the next point nextP in the direction of the starting point, and entering S9.60;
S9.60, see if there is a stent between currentP and nextP, if there is currentCount +1 and currentLoad plus stent coordinates nearest to currentP to find the weight of the feature of currentP, go to S9.61; otherwise, if no bracket exists, currentLoad adds the weight of the feature of currentP to nextP, finding a connection unit corresponding to nextP coordinates, if a connection object is contained, putting the connection unit into toDoList, setting nextP as currentP, and returning to S9.59;
S9.61, setting the point to which doItem accesses to currentP, if currentP is the end point, entering S9.66; otherwise, finding the next point nextP in the direction of the end point, and entering S9.62;
S9.62, see if a stent is present between currentP and nextP, if so, currentCount plus 1 and currentLoad plus the current stent coordinates to find the weight of the section of feature of currentP, go to S9.66; otherwise, if no bracket exists, currentLoad adds the weight of the feature of currentP to nextP, finding a connection unit corresponding to nextP coordinates, if a connection object is contained, putting the connection unit into toDoList, setting nextP as currentP, and returning to S9.61;
s9.63, checking whether the current calculation and analysis unit has a bracket, if so, entering S9.64, otherwise, entering S9.65;
s9.64, finding a bracket closest to the corresponding coordinate of the doItem connecting unit, adding 1 to currentCount and adding the current bracket coordinate to the weight of the feature of the corresponding coordinate of the doItem connecting unit to currentLoad, and entering S9.66;
s9.65, currentLoad adds the weight of the corresponding feature of the current calculation and analysis unit, if the current calculation and analysis unit exists a connection unit which is inconsistent with doItem coordinates and contains a connection object, adding the connection unit into toDoList, and entering S9.66;
s9.66, marking the current calculation and analysis unit as analysis completion, removing the current calculation and analysis unit from toDoList, and returning to S9.37;
S9.67, processing endList according to the processes of S9.36-S9.66, wherein the corresponding STARTLIST is replaced by endList, startLoad is replaced by endLoad, startCount is replaced by endCount, and the process enters S9.68 after the processing is completed;
S9.68, calculating the total weight of the air pipe born by the current bracket, wherein the total weight is partLoad + startLoad/startCount + endLoad/endCount, converting the total weight into kilogram units, and multiplying the kilogram units by 9.8 to obtain the total load of the current bracket in Newton units; for the non-anti-seismic bracket, the constant loads in the three directions are all calculated total loads, and for the anti-seismic bracket, the constant load in the axial direction is 0, and the constant loads in the other two directions are consistent with those of the anti-seismic bracket; after completion, entering S9.69;
s9.69, ending;
s10, carrying out constant load calculation analysis on the 3D bracket in an analysis calculation model, recording corresponding data after the constant load calculation analysis is completed, and returning to S8;
S10, carrying out constant load calculation analysis on the 3D bracket in an analysis calculation model, and recording corresponding data after the constant load calculation analysis is completed, wherein the method comprises the following steps of:
s10.1, calculating constant loads in two directions of the 3D bracket in a non-axial direction by referring to the step S9, and starting from the step S10.2 for an axial constant load calculation method;
S10.2, finding a calculation analysis unit to which a current bracket belongs from a calculation analysis model, creating startLoad to record the weight of an upstream air pipe and endLoad to record the weight of the air pipe, creating startLoadChange to record the weight of a flexible section of the upstream air pipe and endLoadChange to record the weight of a flexible section of the downstream air pipe, creating partLoad to record the weight of a part corresponding to the current calculation analysis unit, creating startCount to record the number of brackets corresponding to the upstream air pipe and endCount to record the number of brackets corresponding to the air pipe, creating an upstream to-be-processed object list STARTLIST and a downstream to-be-processed list endList, and entering S10.3;
S10.3, other 3d stent set supports 3dCol and other 2d stent set supports 2dCol of the non-current stent are found from the stent list of the current calculation and analysis unit, meanwhile startCount and endCount are respectively set to 1 to represent the current stent, and S10.4 is entered after the completion;
S10.4, judging the type of the object in the current calculation and analysis unit, if the object is part, entering S10.5, and if the object is feature, entering S10.13;
s10.5, the weight of the part needs to be evenly distributed to each 3d bracket on the part, so that the bearing of the current bracket firstly comprises the evenly distributed weight partLoad; if the turning piece is the turning piece, the process goes to S10.6; if the branch part is the branch part, the process goes to S10.9; otherwise, entering S10.12;
S10.6, if more than two other calculation and analysis units are connected with the current calculation and analysis unit, directly judging that a design error exists because the turning piece is not supposed to be branched, directly exiting after reporting the error, otherwise entering S10.7;
s10.7, if the number of the 3d brackets on the current part exceeds one or only one but not at the center of the turning piece, reporting the wrong exit, otherwise, entering S10.8;
S10.8, taking one end face of the part as a start and the other end face as an end, respectively checking whether corresponding connection units exist on the two end faces, if so, putting the two end faces into corresponding lists STARTLIST and endList to be calculated together with the coordinates of the access point, and entering S10.29; otherwise, directly entering S10.29;
S10.9, checking which end face of the current bracket is positioned between the part and the center point (including the end face), marking the end face as a start, marking other end faces as end, and entering S10.10;
S10.10, checking whether other 3d brackets exist between the start end face and the current 3d bracket, and if so, directly entering S10.11 after startCount +1; otherwise, if the start end face has a subsequent calculation and analysis unit, putting the start end face and the access point coordinates into STARTLIST together, and entering S10.11;
S10.11, circularly traversing all other end faces of the part, and searching for an end face end consistent with the normal direction of the end face of the start; if no direct access to S10.29 is found; otherwise, if other 3d brackets are contained between the end face and the brackets, endCount +1 is carried out; if not, judging whether the end face has a subsequent calculation and analysis unit, and if so, putting the end face and the access point coordinates into endList; after completion, enter S10.29;
S10.12, taking one end face of part as a start and the other end face as an end; checking whether other 3d brackets exist between the start end face and the current bracket, and if startCount +1 exists, entering S10.29; if not, if the start end face contains a subsequent calculation and analysis unit, putting the start end face into STARTLIST together with the access point coordinates, and entering S10.29; checking whether other brackets exist between the end face and the current bracket, and if endCount +1 exists, entering S10.29; if not, if the end face contains a subsequent calculation and analysis unit, placing the end face into endList together with the coordinates of the access point, and entering S10.29;
S10.13, if feature is turnFeature, entering S10.14; otherwise, if the number of the connecting units corresponding to the current calculation and analysis unit is more than two, entering S10.15; otherwise, entering S10.23;
S10.14, if the current bracket is not in the feature center, reporting an error and exiting; otherwise, taking one end face of the feature as a start and the other end as an end, respectively adding weights from the corresponding end faces to the feature center to startLoadChange and endLoadChange, respectively checking whether corresponding connection units exist on the two end faces, if so, putting the two end faces into corresponding lists STARTLIST and endList to be calculated together with the coordinates of the access point, and entering S10.29; otherwise, directly entering S10.29;
s10.15, respectively setting the two end faces of the current feature as a start and an end; firstly, checking whether the current bracket point is a start point; if yes, checking whether a subsequent connection calculation analysis unit exists on the start end face, if yes, putting the subsequent connection calculation analysis unit into STARTLIST together with the access point coordinate, and directly entering S10.17; otherwise, taking the current bracket as sp to enter S10.16;
s10.16, finding a coordinate spnext corresponding to the next connection unit along the start direction, and checking whether other 3d brackets exist between spnext and sp; if so, S10.17 is entered; if not, go to S10.18;
S10.17, startCount +1 is used for finding a 3d support sup3d closest to sp, and whether a 2d support exists between sp and sup3d is checked; if the weight between the support sup2d and the support sup2d with the farthest distance sp is found, startLoad and startLoadChange and sp sup2d is added, startLoadChange is set to be the weight between sup2d and sup3d, and the process goes to S10.19; if not, startLoadChange plus the weight between sp and sup3d, go to S10.19;
S10.18, checking whether a 2d bracket exists between sp and spnext; if there is a 2d rack sup2d found furthest from sp startLoad plus the weight between startLoadChange and sp to sup2d, startLoadChange is set to the weight between sup2d to spnext; if not, startLoadChange plus the weight between sp and spnext; after completion spnext is a start point, if yes, checking whether a subsequent connection calculation analysis unit exists on the end face of the start point, if yes, putting the subsequent connection calculation analysis unit into STARTLIST together with the coordinates of the access point, and directly entering S10.19; if not, checking spnext whether the corresponding calculation and analysis unit has only one connection unit, if so, adding the corresponding object weight to startLoadChange, setting spnext to sp, and returning to S10.16;
S10.19, checking whether the current bracket point is an end point; if yes, checking whether a subsequent connection calculation analysis unit exists on the end face, if yes, putting the subsequent connection calculation analysis unit into endList together with the access point coordinate, and directly entering S10.29; otherwise, taking the current bracket as ep to enter S10.20;
S10.20, finding the coordinate epnext corresponding to the next connection unit along the end direction, and checking whether other 3d brackets exist between epnext and ep; if so, S10.21 is entered; if not, go to S10.22;
S10.21, endCount +1 is used for finding a 3d support sup3d closest to ep, and whether a 2d support exists between ep and sup3d is checked; if there is a 2d support sup2d, endLoad which is furthest from ep plus the weight between endLoadChange and ep to sup2d, endLoadChange is set to the weight between sup2d to sup3d, and S10.29 is entered; if not, endLoadChange plus the weight between ep to sup3d, go to S10.29;
S10.22, checking whether a 2d bracket exists between ep and epnext; if there is a 2d rack sup2d, endLoad located furthest from ep plus the weight between endLoadChange and ep to sup2d, endLoadChange is set to the weight between sup2d to epnext; if not, endLoadChange plus the weight between ep and epnext; after completion epnext is an end point, if yes, checking whether a subsequent connection calculation analysis unit exists on the end face, if yes, putting the end face and the access point coordinate into endList, and directly entering S10.29; if not, checking epnext whether the corresponding calculation and analysis unit has only one connection unit, if so, adding the corresponding object weight to endLoadChange, setting epnext as ep, and returning to S10.20;
S10.23, taking one end face of the feature as a start and the other end face as an end; checking whether other 3d brackets exist between the start and the current bracket; if so, S10.24 is entered; if not, go to S10.25;
S10.24, startCount +1; finding a 3d support sup3d closest to the current support; checking whether a 2d bracket exists between the current bracket and the sup3d bracket; if the weight between the 2d support sup2d which is farthest from the current support and the support sup2d which is startLoad plus startLoadChange and the current support sup2d exists, startLoadChange is set to be the weight between sup2d and sup3d, and S10.26 is entered; if not, startLoadChange plus the weight between the current bracket and sup3d, entering 10.26;
S10.25, checking whether a 2d bracket exists between the current bracket and the start; if there is a 2d bracket sup2d found furthest from the current bracket, startLoad plus the weight between startLoadChange and the current bracket sup2d, startLoadChange is set to the weight between sup2d to start; if not, startLoadChange plus the weight between the current bracket and start; after completion, checking whether a subsequent connection calculation analysis unit exists on the end face of the start, if so, putting the end face of the start and the coordinates of the access point together into STARTLIST, and directly entering S10.26; otherwise, directly entering S10.26;
S10.26, checking whether other 3d brackets exist between the end and the current bracket; if so, S10.27 is entered; if not, go to S10.28;
S10.27, endCount +1; finding a 3d support sup3d closest to the current support; checking whether a 2d bracket exists between the current bracket and the sup3d bracket; if the weight between the 2d support sup2d which is farthest from the current support and the support sup2d which is endLoad plus endLoadChange and the current support sup2d exists, endLoadChange is set to be the weight between sup2d and sup3d, and S10.29 is entered; if not, endLoadChange adds the weight between the current bracket and sup3d, and the process goes to S10.29;
S10.28, checking whether a 2d bracket exists between the current bracket and the end; if there is a 2d bracket sup2d found furthest from the current bracket, endLoad plus the weight between endLoadChange and the current bracket sup2d, endLoadChange is set to the weight between sup2d to end; if not, endLoadChange plus the weight between the current bracket and end; after completion, checking whether a subsequent connection calculation analysis unit exists on the end face, if so, putting the end face and the access point coordinates together into endList, and directly entering S10.29; otherwise, directly entering S10.29;
S10.29, marking the current calculation and analysis unit as completed, and entering S10.30;
s10.30, checking STARTLIST to see if the space is empty, and if not, entering S10.31; otherwise, entering S10.54;
S10.31, finding a first calculation analysis unit in STARTLIST, checking whether the unit is marked as finishing analysis calculation, and returning to S10.28 after shifting out STARTLIST if the unit is marked as finishing analysis calculation; otherwise, if the unit corresponds to part, the method proceeds to S10.32, otherwise, the method proceeds to S10.41;
S10.32, if part is a turning piece, entering S10.33; if part is a branch, go to S10.37; otherwise, entering S10.40;
S10.33, checking whether a 3d bracket exists on the current part; if present, startCount +1, proceed to S10.53; if not, go to S10.34;
S10.34, checking whether the normal directions of the two end faces of the current part are collinear, if so, entering S10.35, wherein the normal directions represent a back-and-forth bending part and are always ENDLEGPART; if not, go to S10.36;
S10.35, checking whether a connecting unit inconsistent with the access point exists in the current back-and-forth bending part; if not, startLoadChange adds the current back and forth bending weight, and the process goes to S10.53; if there is an object corresponding to the connecting unit, which is a straight section and has a bracket on the straight section, and the connecting object corresponding to the connecting point of the first object in the current STARTLIST is a straight pipe and also has a bracket on the straight pipe, startLoadChange adds the weight of the current back and forth bend, simultaneously finds the position of the bracket on the straight section closest to the back and forth bend, startLoadChange adds the weight from the connecting point of the straight section and the back and forth bend to the nearest bracket, then startLoadChange is set to half of the current startLoadChange, the current back and forth bend is set to be completed, then the current component is set to be the subsequent branch pipe section, and S10.53 is entered; otherwise startLoadChange adds half of the current bending back and forth weight, and the process goes to S10.53;
S10.36, checking whether a connecting unit inconsistent with the access point exists in the current turning piece; if not, startLoadChange adds the current back and forth bending weight, and the process goes to S10.53; if the straight pipe is connected with the elbow and then connected with the straight pipe, and only the last straight pipe is provided with a bracket, the position of the bracket closest to the back and forth bending on the straight section is found, startLoadChange is added with the weight between the current turning piece, the middle straight pipe and the connecting point of the subsequent elbow and the last straight pipe to the nearest bracket, startLoadChange is set to be half of the current startLoadChange, the current turning piece, the subsequent straight pipe and the elbow are marked as completed together, the current part is set as the last straight pipe, and S10.53 is entered; if not, if there is a 2d bracket startLoad plus startLoadChange and half of the current turn piece weight, startLoadChange is set to 0, go to S10.53; otherwise startLoadChange adding half of the weight of the current turning piece, and entering S10.53;
S10.37, checking whether an end face consistent with the end face normal direction corresponding to the current access point exists or not; if not, go to S10.38; if yes, enter S10.39;
S10.38, checking whether a 3d bracket exists from the access point to the center of the current branch piece; if yes, checking whether a 2d bracket exists between the access point and the 3d bracket, if not, directly startCount +1, and entering S10.53; otherwise startLoad plus startLoadChange, startLoadChange is set to 0, startcount+1, enter S10.53; if the 3d bracket does not exist, checking whether a 2d bracket exists between the access point and the central point, and if the 2d bracket does not exist, adding the branch weight of the current part to startLoadChange, and then entering S10.53; otherwise startLoad plus startLoadChange, then if the 2d bracket is just at the access point, startLoadChange is set as the branch weight of the current part, entering into S10.53; otherwise startLoad is added with the branch weight of the current part, startLoadChange is set to 0, and S10.53 is entered;
S10.39, checking whether a 3d bracket exists between the two end surfaces; if yes, checking whether a 2d bracket exists between the access point and the 3d bracket, if not, directly startCount +1, and entering S10.53; otherwise startLoad plus startLoadChange, startLoadChange is set to 0, startcount+1, enter S10.53; if the 3d bracket does not exist, checking whether a subsequent connection calculation unit exists on the end surface inconsistent with the access point, if yes, putting the subsequent unit into STARTLIST, checking whether a 2d bracket exists between the two end surfaces, and if no, adding startLoadChange to the main weight of the current part, and then entering S10.53; otherwise startLoad plus startLoadChange, then if the 2d bracket is just at the access point, startLoadChange is set as the main weight of the current part, entering S10.53; otherwise startLoad is added with the main weight of the current part, startLoadChange is set to 0, and S10.53 is entered;
S10.40, checking whether a 3d bracket exists on the current part; if so, startCount +1 checks whether a 2d bracket exists between the access point and the 3d bracket, and if not, directly enters S10.53; if startLoad plus startLoadChange, startLoadChange are present, proceeding to S10.53 after setting to 0; if the 3d bracket does not exist, checking whether a subsequent connection unit exists on the end face of the current part, which is different from the access point, and if yes, putting STARTLIST; checking whether a 2d bracket exists on the current part, if startLoad plus startLoadChange and the current part weight exist, startLoadChange is set to 0, and entering S10.53; if startLoadChange plus the current part weight does not exist, proceeding to S10.53;
s10.41, if feature is turnFeature, entering S10.42; otherwise, if the number of the connection units corresponding to the current calculation and analysis unit is more than two, entering S10.44; otherwise, entering S10.51;
s10.42, checking whether a 3d bracket exists on the current feature; if so, startCount +1, startloadchange plus the weight between the access point and the cradle, proceed to S10.53; if not, go to S10.43;
S10.43, checking whether a 2d bracket exists on the current feature; if present startLoad plus startLoadChange and the weight between the access point and the 2d cradle, go to S10.53; if not, go to S10.44;
S10.44, whether a connection unit inconsistent with an access point exists in the current feature or not; if not, startLoadChange adds the current feature weight, go to S10.53; if the straight pipe is connected with the elbow and then connected with the straight pipe, and only the last straight pipe is provided with a bracket, the position of the bracket closest to the back and forth bending on the straight section is found, startLoadChange is added with the weight between the current turning piece, the middle straight pipe and the connecting point of the subsequent elbow and the last straight pipe to the nearest bracket, startLoadChange is set to be half of the current startLoadChange, the current turning piece, the subsequent straight pipe and the elbow are marked as completed together, the current part is set as the last straight pipe, and S10.53 is entered; if not, startLoadChange plus half the weight of the current turn piece, go to S10.53;
S10.45, if the starting point and the ending point of the current feature are consistent, entering S10.46; otherwise, enter S10.47;
s10.46, if the end face corresponding to the access point of the current feature is a start end face, if the end face is provided with a subsequent calculation unit, putting the end face into STARTLIST, and entering S10.53; if the end face of the access point is the end face, if the start end face has a subsequent calculation unit, the subsequent calculation unit is put into STARTLIST, and S10.53 is entered; if the access point is a branch end face, if the feature has other branch end faces and a subsequent computing unit, putting the branch end face into STARTLIST, and entering S10.53;
S10.47, if the access point of the current feature is not the start point or the end point of the feature, directly entering S10.53; otherwise, taking the access point as a starting point sp and the other end point as an ep point, and entering S10.48;
s10.48, finding the coordinate spnext corresponding to the next connection unit along the sp-ep direction, and checking whether other 3d brackets exist between spnext and sp; if so, S10.49 is entered; if not, go to S10.50;
S10.49, startCount +1, finding the 3d support sup3d closest to sp, and checking whether a 2d support exists between sp and sup3 d; if the weight between the support sup2d and the support sup2d with the farthest distance sp is found, startLoad and startLoadChange and sp sup2d is added, startLoadChange is set to be the weight between sup2d and sup3d, and the process goes to S10.53; otherwise, if not, startLoadChange adds the weight between sp and sup3d, and the method enters S10.53;
s10.50, checking whether a 2d bracket exists between sp and spnext; if present, find the 2d rack sup2d furthest from sp, startLoad plus the weight between startLoadChange and sp to sup2d, startLoadChange set to the weight between sup2d and spnext; if not, startLoadChange plus a weight between sp and spnext; if spnext is ep, checking whether a subsequent connection unit exists on the corresponding end face of ep, and if so, putting STARTLIST into S10.53; otherwise, checking whether the connecting unit corresponding to spnext is only a unique connecting unit, if so, adding startLoadChange to the weight of the object corresponding to the connecting unit, setting spnext to sp, and returning to S10.48;
S10.51, if the current feature contains a 3d bracket, entering S10.52; otherwise, checking whether the end face inconsistent with the access point contains a subsequent connection unit, and if so, adding STARTLIST; checking whether a 2d bracket exists on the current feature; if the support sup2d which is farthest from the access point is found, startLoad plus the weight between startLoadChange and the access point sup2d, startLoadChange is set as the weight between sup2d and the other end face, and S10.53 is entered; otherwise startLoadChange adding the weight corresponding to the current feature, and entering S10.53;
S10.52, startCount +1; checking whether a 2d bracket exists between the 3d bracket sup3d nearest to the access point and the access point; if the bracket sup2d farthest from the access point is found, startLoad plus the weight between startLoadChange and the access point sup2d, startLoadChange is set to be the weight between sup2d and sup3d, and S10.53 is entered; otherwise startLoadChange adding the weight between the access point and sup3d, and entering S10.53;
S10.53, setting the current calculation and analysis unit to be the analysis completion, removing the current calculation and analysis unit from STARTLIST, and returning to S10.30;
S10.54, process endList according to S10.30-S10.53, except that corresponding STARTLIST is exchanged for endList, startLoad is exchanged for endLoad, startCount is exchanged for endCount, startLoadChange is exchanged for endLoadChange; after the treatment is completed, the process goes to S10.55;
S10.55, calculating the total weight of the air pipe born by the current bracket as partLoad + (startLoad + startLoadChange)/startCount + (endLoad + endLoadChange)/endCount, converting the total weight into kilogram units, and multiplying the kilogram units by 9.8 to obtain the axial constant load of the current bracket in Newton units; after completion, entering S10.56;
S10.56, ending;
S11, displaying all result data and process data stored in the calculation process to a user for use, entering S12 if the user needs to output a result file, and entering S2 if the user needs to recalculate; if the user has no additional demand, go to S13;
s12, exporting all result data and process data stored in the calculation process into a file form required by a user for downloading by the user, and if the user needs to recalculate, entering S2; otherwise, entering S13;
S13, ending;
The system and the method for automatically analyzing and calculating the constant load of the S3D air duct support can automatically analyze and calculate the constant load of the air duct support according to the arrangement condition of the support in an air duct design model, realize the automation of the mechanical calculation and analysis of the air duct support, avoid the corresponding calculation work of a designer, and greatly improve the efficiency and the quality of the calculation and analysis work;
The system and the method for automatically analyzing and calculating the constant load of the S3D air duct support can support the calculation and analysis of the earthquake-resistant support, the fee earthquake-resistant support, the 2D support and the 3D support, and have wide coverage range;
the constant-load automatic analysis and calculation system for the S3D air duct support can display all air duct objects and corresponding various parameters involved in the calculation process to a user, and greatly facilitates verification and analysis of a calculation result by the user;
The automatic constant load analysis and calculation system for the S3D air duct support can enable a user to freely define a range to be calculated, so that the calculation efficiency is improved;
The automatic constant load analysis and calculation system for the S3D air duct support, provided by the invention, can flexibly output calculation results in various report forms, and lays a foundation for flexible application of follow-up calculation and analysis data.
Although embodiments of the present invention have been shown and described, it will be understood by those skilled in the art that various changes, modifications, substitutions and alterations can be made therein without departing from the principles and spirit of the invention, the scope of which is defined in the appended claims and their equivalents.

Claims (10)

1. The utility model provides a system of S3D tuber pipe support constant load automatic analysis calculation which characterized in that includes:
The S3D air pipe object analysis module is used for analyzing all S3D air pipe objects in the current project and providing input data for the subsequent user selection module;
The user selection module is used for determining the range of automatic analysis and calculation of the constant load of the air duct support, the air duct support related to subsequent calculation is the support on the air duct selected by the user, and the selection data are provided by the S3D air duct object analysis module;
The wind pipe topological relation analysis module is used for constructing a network model of the overall topological relation of the wind pipe which is required to be calculated by a user, and provides a basis for subsequent analysis and calculation;
the wind pipe support positioning module is used for placing the wind pipe support to be calculated into the constructed wind pipe topological relation network model according to the actual conditions in the design model to form a calculation analysis model;
The wind pipe support constant load calculation analysis module is used for carrying out constant load calculation analysis on all wind pipe supports in the calculation analysis model;
The display analysis module is used for displaying the final wind pipe support constant load calculation analysis result, the path planning related in the calculation process and various intermediate parameter variables to the user, and the final wind pipe support constant load calculation analysis result is used for the user to check the result.
2. The automatic analysis and calculation method for the constant load of the S3D air duct support is characterized by comprising the following steps of:
acquiring all air pipe object lists in the project;
user selects air duct list needing to be subjected to automatic analysis and calculation of constant load of air duct support
Acquiring all support brackets on each air pipe from the air pipe list to form an air pipe bracket list needing calculation and analysis;
Circulating to traverse the air duct bracket to check whether the current bracket is analyzed and calculated;
Building a topological relation network model for the air pipe;
Deploying each bracket in the air pipe bracket list to a corresponding position in the topological relation network model to form a corresponding analysis calculation model;
each bracket in the analysis and calculation model is circularly traversed, whether the bracket is a 2D bracket or a 3D bracket is judged, and then constant load calculation and analysis are carried out;
And displaying all result data and process data stored in the calculation process to a user for use, and if the user needs to output a result file, exporting the result file into a file form needed by the user for downloading by the user.
3. The method for automatically analyzing and calculating the constant load of the S3D air duct support according to claim 2, wherein the constant load calculation analysis is performed on the 2D support, and the method comprises the following steps:
Finding out a calculation analysis unit to which the current bracket belongs from the calculation analysis model, creating startLoad to record the weight of an upstream air pipe and endLoad to record the weight of the air pipe, creating partLoad to record the weight of a part corresponding to the current calculation analysis unit, creating startCount to record the number of brackets corresponding to the upstream air pipe and endCount to record the number of brackets corresponding to the air pipe, and creating an upstream to-be-processed object list STARTLIST and a downstream to-be-processed list endList;
Setting startCount and endCount to 1, if the current calculation and analysis unit is part, dividing the weight into each bracket on part uniformly to obtain a weight partLoad;
Checking the type of the current part, setting the end faces of the part as start and end, and checking whether a corresponding connection unit exists between the end faces or between the current bracket and the end faces;
Judging whether feature is turnFeature, and checking whether STARTLIST is empty;
Checking whether part is a turning piece, a branching piece or a common part; checking whether a bracket exists between the current access point and the part center point;
traversing other end surfaces circularly to check whether a bracket exists between the current end surface and the center;
Judging whether the connection calculation analysis units of the current calculation analysis unit are more than two;
checking whether sp is a start end face; if so, setting the access point to ep;
If the first connection point after sp is not found along the start direction is set to spnext, checking whether a bracket exists between sp and spnext; if a rack startCount +1 is present, startload plus the feature weight between sp and the closest rack to sp;
setting an access point as ep, and checking whether ep is an end face;
if ep is not the end face, setting epnext as a first connection point after ep is found along the end direction, and checking whether a bracket exists between ep and epnext;
According to process endList, only the corresponding STARTLIST is exchanged for endList, startLoad for endLoad, startCount for endCount;
And calculating the total weight of the air pipes born by the current bracket.
4. The method for automatically analyzing and calculating the constant load of the S3D air duct bracket according to claim 3, wherein the end face of the start has no subsequent connection calculation analysis unit, the current bracket is taken as sp, whether the current sp is a start point is checked, the coordinate spnext corresponding to the next connection unit is found along the start direction, whether other brackets exist between spnext and sp is checked, and if the brackets exist, startCount +1, the weight between the sp and the nearest bracket of the found sp is added to the startload; if not, startLoad plus the weight between sp and spnext, if the corresponding point spnext exists a subsequent computational analysis unit, put it into STARTLIST along with the access point coordinates, set spnext to sp.
5. The method for automatically analyzing and calculating the constant load of the S3D air duct bracket according to claim 3, wherein a subsequent connection calculation analysis unit does not exist on the end face of the end, the current bracket is taken as an ep, whether the current ep is an end point is checked, if not, the coordinate epnext corresponding to the next connection unit is found along the end direction, and whether other brackets exist between epnext and ep is checked; if present, endCount +1, endload plus the weight between ep and the nearest stent found to ep; if not, endLoad plus the weight between ep and epnext, if the corresponding point epnext exists a subsequent computational analysis unit, put it in endList along with the access point coordinates, set epnext to ep.
6. A method for automatically analyzing and calculating the constant load of an S3D air duct bracket according to claim 3, wherein the total weight is partLoad + startLoad/startCount + endLoad/endCount.
7. The method for automatically analyzing and calculating the constant load of the S3D air duct support according to claim 2, wherein the constant load calculation analysis is performed on the 3D support, and the method comprises the following steps:
finding out a calculation analysis unit to which the current support belongs from the calculation analysis model, creating startLoad to record the weight of an upstream air pipe and the weight of the endLoad downstream air pipe, creating startLoadChange to record the weight of an upstream air pipe flexible section and the weight of endLoadChange downstream air pipe flexible section, creating partLoad to record the weight of a component corresponding to the current calculation analysis unit, creating startCount to record the number of supports corresponding to the upstream air pipe and the number of supports corresponding to the endCount downstream air pipe, and creating an upstream to-be-processed object list STARTLIST and a downstream to-be-processed list endList;
Finding other 3d stent set supports 3dCol and other 2d stent set supports 2dCol which are not the current stent from the stent list of the calculation and analysis unit, and setting startCount and endCount to 1 respectively to represent the current stent;
Judging the type of the object in the current calculation and analysis unit; if the weight of the part is the part, the weight of the part is required to be evenly distributed to each 3d bracket on the part;
Then judging whether the workpiece is a turning piece or a branching piece; setting the end face of part as start and end;
If the object type in the current calculation and analysis unit is feature, judging whether the feature is turnFeature, and setting the end face of the feature as start and end;
eature is turnFeature, if the connection units corresponding to the current calculation and analysis unit are not more than two, checking whether the current bracket point is a start point;
Checking whether the current bracket point is an end point; if not, taking the current bracket as ep, finding the coordinate epnext corresponding to the next connection unit along the end direction, and checking whether other 3d brackets exist between epnext and ep;
see STARTLIST if it is empty; finding STARTLIST a first calculation analysis unit, and checking whether the unit is marked as completing the analysis calculation; judging whether part is a turning part or a branching part;
checking whether a 3d bracket exists on the current part; judging whether the current turning piece is a back-and-forth turning piece or not; checking whether a connecting unit inconsistent with the access point exists in the current back-and-forth bending part;
checking whether a connection unit inconsistent with the access point exists in the current turning piece; checking whether an end face consistent with the end face normal direction corresponding to the current access point exists
Checking whether a 3d bracket exists from the access point to the center of the current branch piece; checking whether a 2d bracket exists between the access point and the central point;
Checking whether a 3d bracket exists between the two end surfaces; checking whether a 3d bracket exists on the current part;
If the starting point and the end point of the current feature are consistent, judging whether the end face corresponding to the access point of the current feature is a start end face or not;
If the starting point and the ending point of the current feature are inconsistent, judging whether the access point of the current feature is the starting point or the ending point of the feature; if the access point is not taken as a starting point sp, the other end point is taken as an ep point;
finding the coordinate spnext corresponding to the next connection unit along the sp-ep direction, and checking whether other 3d brackets exist between spnext and sp;
checking if a 2d scaffold is present between sp and spnext; judging whether the current feature contains a 3d bracket or not; checking whether the current feature contains a 3d bracket;
Setting the current calculation and analysis unit as analysis completion, and then removing the current calculation and analysis unit from STARTLIST;
According to process treatment endList, only the corresponding STARTLIST is exchanged for endList, startLoad for endLoad, startCount for endCount, startLoadChange for endLoadChange;
And calculating the total weight of the wind pipe born by the current bracket to be partLoad + (startLoad + startLoadChange)/startCount + (endLoad + endLoadChange)/endCount, and obtaining the constant load of the current bracket in the axial direction in newton units.
8. The method for automatically analyzing and calculating the constant load of the S3D air duct bracket according to claim 7, wherein when eature is turnFeature, if more than two connection units are corresponding to the current calculation and analysis unit, the weights of the corresponding end faces to the feature center are added to startLoadChange and endLoadChange respectively, then whether the corresponding connection units exist on the two end faces is checked respectively, and if yes, the corresponding to-be-calculated lists STARTLIST and endList are placed together with the coordinates of the access point.
9. The method for automatically analyzing and calculating the constant load of the S3D air duct support according to claim 5, wherein other 3D supports exist between spnext and sp, startCount +1 is used for finding the 3D support sup3D closest to sp, and whether a 2D support exists between sp and sup3D is checked; if there is a 2d support sup2d which is found furthest from sp, startLoad plus the weight between startLoadChange and sp to sup2d, startLoadChange is set to the weight between sup2d to sup3 d; if not, startLoadChange plus the weight between sp and sup3 d.
10. A method for automatically analyzing and calculating a constant load of an S3D air duct support according to claim 3, wherein no other 3D support exists between spnext and sp, and checking whether a 2D support exists between sp and spnext; if there is a 2d rack sup2d found furthest from sp startLoad plus the weight between startLoadChange and sp to sup2d, startLoadChange is set to the weight between sup2d to spnext; if not, startLoadChange plus the weight between sp and spnext; after completion spnext is the start point, if so, it is checked whether there is a subsequent connection calculation analysis unit at the start end face, if so, it is put STARTLIST along with the access point coordinates.
CN202210528550.5A 2022-05-16 2022-05-16 System and method for automatically analyzing and calculating constant load of S3D air duct support Active CN114896730B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210528550.5A CN114896730B (en) 2022-05-16 2022-05-16 System and method for automatically analyzing and calculating constant load of S3D air duct support

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210528550.5A CN114896730B (en) 2022-05-16 2022-05-16 System and method for automatically analyzing and calculating constant load of S3D air duct support

Publications (2)

Publication Number Publication Date
CN114896730A CN114896730A (en) 2022-08-12
CN114896730B true CN114896730B (en) 2024-05-14

Family

ID=82724888

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210528550.5A Active CN114896730B (en) 2022-05-16 2022-05-16 System and method for automatically analyzing and calculating constant load of S3D air duct support

Country Status (1)

Country Link
CN (1) CN114896730B (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002073693A (en) * 2000-08-30 2002-03-12 Kyowa Engineering Consultants Co Ltd Design system applying cad using topology to be linked to object database
WO2011095980A1 (en) * 2010-02-05 2011-08-11 Shreenivas Potnis Method and system for pipe routing and design including piping layout, isometrics, and bill of material
CN112464349A (en) * 2020-12-08 2021-03-09 中南建筑设计院股份有限公司 Single-layer free-form surface space grid optimization method
CN112948911A (en) * 2021-01-06 2021-06-11 上海核工程研究设计院有限公司 System and method for converting S3D bridge model into MapGIS model
CN113946926A (en) * 2021-11-08 2022-01-18 上海核工程研究设计院有限公司 System and implementation method for analyzing breakage influence of S3D high-energy pipeline

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002073693A (en) * 2000-08-30 2002-03-12 Kyowa Engineering Consultants Co Ltd Design system applying cad using topology to be linked to object database
WO2011095980A1 (en) * 2010-02-05 2011-08-11 Shreenivas Potnis Method and system for pipe routing and design including piping layout, isometrics, and bill of material
CN112464349A (en) * 2020-12-08 2021-03-09 中南建筑设计院股份有限公司 Single-layer free-form surface space grid optimization method
CN112948911A (en) * 2021-01-06 2021-06-11 上海核工程研究设计院有限公司 System and method for converting S3D bridge model into MapGIS model
CN113946926A (en) * 2021-11-08 2022-01-18 上海核工程研究设计院有限公司 System and implementation method for analyzing breakage influence of S3D high-energy pipeline

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
不同荷载工况下高层薄壁钢结构的抗震性能研究;吕志军;侯瑞;宋一铭;杨光辉;李宏亮;;计算机集成制造系统;20170915(第09期);全文 *

Also Published As

Publication number Publication date
CN114896730A (en) 2022-08-12

Similar Documents

Publication Publication Date Title
CN107609286B (en) A kind of mathematical model tests die worker's tool
CN113435757B (en) BIM-based building masonry design and construction method
CN109176168A (en) Tool sharpening tune machine device and method
CN102819629A (en) Automatic assembly method and system of three-dimensional models
CN110109999A (en) A kind of S3D threedimensional model turns the system and conversion method of Flowmaster model
CN110739091A (en) nuclear power plant subcritical degree direct measurement system, hardware platform and measurement method
CN107180291B (en) Intelligent compiling method for new equipment starting scheme of electric power system
CN114896730B (en) System and method for automatically analyzing and calculating constant load of S3D air duct support
CN112733234B (en) Device for automatically calculating and generating three-dimensional bridge based on cable information transmission
CN111143921A (en) Method for automatically designing digital space derivative structure
CN110795390B (en) System and method for converting S3D model into RELAP5 model
CN112332420A (en) Device and method for determining hierarchical load reduction in power system risk assessment
CN113936823A (en) Method, system and device for acquiring scale coefficient of off-stack detector and storage medium
CN115238401A (en) System and method for automatic analysis and calculation of constant load of S3D electric support
CN105320167A (en) On-line optimization method of main steam pressure of power unit
CN115329619A (en) Nuclear engineering equipment finite element method mechanical comprehensive analysis system and method
JPH07281727A (en) Method for simulating internal state of heat exchanger
CN115719170A (en) AI big data distribution room line loss analysis management system and method
CN109193617B (en) Power system vulnerability evaluation method and system based on tight constraint recognition
CN113111423A (en) Steel structure virtual assembly method, system and device based on BIM and storage medium
KR20110091123A (en) Control pipe modeling system for a ship
CN115936924B (en) Wind energy prediction method and system for wind power plant
CN111578254A (en) Boiler temperature field distribution prediction method, device and system
CN110783007A (en) Reactor control room system
CN111222673A (en) Section out-of-limit positioning method and system in electric quantity transaction plan

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: No. 29 Hong Cao Road, Xuhui District, Shanghai

Applicant after: Shanghai Nuclear Engineering Research and Design Institute Co.,Ltd.

Address before: No. 29 Hong Cao Road, Xuhui District, Shanghai

Applicant before: SHANGHAI NUCLEAR ENGINEERING RESEARCH & DESIGN INSTITUTE Co.,Ltd.

GR01 Patent grant
GR01 Patent grant