Method for constructing point kernel integration calculation model based on geometry information extraction of step file

CN117392310BActive Publication Date: 2026-09-15CHINA INST FOR RADIATION PROTECTION
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202311176565.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-09-12
Publication Date
2026-09-15
Estimated Expiration
2043-09-12

AI Technical Summary

Technical Problem

目前国内外已存在通过CAD软件来进行点核积分计算模型构建的方法,但通常都存在如下问题:模型种类通常仅包含基本的三维几何体模型,缺少描述面源用的面模型或者仅能对基本体模型的基础几何参数进行提取,无法获得模型的旋转参数

Benefits of technology

[0055] (1) The basic body models supported by this method include not only traditional three-dimensional geometric models, but also surface models used to describe surface sources;

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117392310B_ABST
    Figure CN117392310B_ABST
Patent Text Reader

Abstract

The application discloses a point kernel integration calculation model construction method based on STEP file geometry information extraction, and relates to the technical field of scene modeling. The method comprises the following steps: S1, creating a shielding body and a radiation source simplified model according to nuclear facility scene information by using CAD software, and exporting the model as a STEP file; S2, reading a data section of the STEP file, searching relevant statements according to entity marks in stages, and storing the statements in containers; S3, identifying the types of the containers corresponding to the models by counting the number of feature entity type statements in the containers; S4, extracting basic geometry parameters of the models according to parameter extraction methods corresponding to the model types; S5, calculating unit vectors of model own coordinate axes; S6, reversely calculating rotation parameters of the models; S7, writing the basic geometry parameters and the rotation parameters of the models into an XML input card; and S8, reading the input card by using a point kernel integration program, and realizing import of the calculation models. The method provided by the application can improve the efficiency and accuracy of modeling of a nuclear facility scene calculation model.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of nuclear facility scene modeling technology, specifically to a method for constructing a point kernel integral calculation model based on the extraction of geometric information from STEP files. Background Technology

[0002] During the operation, maintenance, and decommissioning of nuclear facilities, workers often need to directly enter areas exposed to high doses of radiation. Accurately obtaining the radiation field distribution within these areas can not only effectively guide the specific planning of work procedures but also provide pre-training for workers through radiation dose visualization, ensuring that workers receive the lowest possible radiation dose.

[0003] The main methods used for radiation field calculation include the Monte Carlo method, the discrete ordinate method, and the point kernel integration method. Among them, the point kernel integration method introduces a cumulative factor to consider the contribution of scattered photons to the radiation dose. Compared with other radiation field calculation methods, although the calculation accuracy is reduced, the calculation efficiency is greatly improved. It is the most commonly used method for radiation field simulation during the operation and maintenance and decommissioning of nuclear facilities.

[0004] In the point kernel integration method, the computational model of the scene is the foundation for radiation calculations. The accuracy of this modeling directly affects the accuracy of the radiation field. However, in actual nuclear facilities, the environment is often quite complex, posing significant challenges to scene modeling. CAD software offers powerful flexibility and convenience in model building, effectively improving efficiency and accuracy. However, models built with CAD software cannot be directly used for point kernel integration. Geometric information must first be extracted, and then the computational model required for point kernel integration must be reconstructed based on the extracted information to ultimately calculate the dose distribution of the radiation field. Currently, methods for constructing point kernel integration calculation models using CAD software exist both domestically and internationally, but they typically suffer from the following problems: the models usually only include basic 3D geometric models, lacking surface models to describe surface sources, or only basic geometric parameters of the basic geometric models can be extracted, without obtaining the model's rotational parameters.

[0005] In conclusion, developing a new method for constructing point kernel integral calculation models using CAD software that can solve the above problems is of great practical significance for improving the efficiency and accuracy of nuclear facility scenario modeling. Summary of the Invention

[0006] To address the shortcomings of existing technologies, the present invention aims to provide a method for constructing a point kernel integral calculation model based on the extraction of geometric information from STEP files. This method can analyze and extract the basic geometric parameters of a basic solid model, including a volume model and a surface model, and perform inverse calculation of its rotation parameters, ultimately constructing the calculation model required for point kernel integrals, thus providing support for obtaining radiation fields in nuclear facilities.

[0007] To achieve the above objectives, the technical solution adopted by the present invention is as follows:

[0008] A method for constructing a point kernel integral calculation model based on geometric information extraction from STEP files includes the following steps:

[0009] S1. Based on the information of the nuclear facility scenario, use CAD software to create simplified models of the shielding structure and radiation source, and export the models as STEP file format;

[0010] S2. Read the data segment in the STEP file, starting from the statements of each entity type CLOSED_SHELL or OPEN_SHELL, perform a step-by-step search of the relevant statements according to the entity flag in their attributes, and store them in each container.

[0011] S3. Count the number of statements of each characteristic entity type in each container to identify the type of model corresponding to each container;

[0012] S4. Based on the identified model type, extract the basic geometric parameters of each model according to the corresponding parameter extraction method;

[0013] S5. Based on the extracted basic geometric parameters, calculate the unit vector of the model's own coordinate axes;

[0014] S6. Calculate the rotation parameters of the model in reverse based on the unit vectors of the model's own coordinate axes;

[0015] S7. Write the model's basic geometric parameters and rotation parameters into the input card in XML format;

[0016] S8. Use the point kernel integration program to read the input card and import the calculation model.

[0017] Furthermore, in the point kernel integral calculation model construction method based on the geometric information extraction of STEP files as described above, the simplified model mentioned in step S1 includes a volume model and a surface model. The volume model includes cylinders, cones, cuboids, spheres, and cylindrical bodies, and the surface model includes rectangular surfaces, circular surfaces, spherical surfaces, and cylindrical surfaces.

[0018] Furthermore, in the point kernel integral calculation model construction method based on STEP file geometric information extraction as described above, the specific steps of searching for relevant statements level by level and storing them in each container in step S2 are as follows:

[0019] S21. Create a corresponding container with the statement of entity type CLOSED_SHELL or OPEN_SHELL as the first element;

[0020] S22. The entity identifiers contained in the attributes of all statements in the statistical container are denoted as set A;

[0021] S23. Collect the entity identifiers of all statements in the container, and denote them as set B;

[0022] S24. If set A contains entity identifiers that are not in set B, add the statements corresponding to the entity identifiers to the container.

[0023] S25. Repeat steps S22-S24 until set A equals set B, at which point the search ends.

[0024] Furthermore, in the point kernel integral calculation model construction method based on the geometric information extraction of STEP files as described above, the feature entity types in step S3 include ADVANCED_FACE, FACE_OUTER_BOUND, PLANE, CYLINDRICAL_SURFACE, CONICAL_SURFACE, SPHERICAL_SURFACE, FACE_BOUND, and ORIENTED_EDGE.

[0025] Furthermore, in the point kernel integral calculation model construction method based on STEP file geometric information extraction as described above, the specific steps for identifying the model type in step S3 are as follows:

[0026] S31. Determine the first element of the container. If its entity type is CLOSED_SHELL, it is a solid model. If its entity type is OPEN_SHELL, it is a face model.

[0027] S32. Match the model types based on the number of statements of each feature entity type in each container, and identify the specific types of volume models and surface models.

[0028] Furthermore, in the point kernel integral calculation model construction method based on STEP file geometric information extraction as described above, the parameter extraction method for each model in step S4 is as follows:

[0029] Cylinder: 1) Search for the CIRCLE statement; its last attribute is the radius of the cylinder. 2) Search along the path CIRCLE→CARTESIAN_POINT; its last attribute is the coordinates of the centers of the top and bottom bases. The average of these two coordinates is the coordinates of the center point of the cylinder. 3) The distance between the centers of the top and bottom bases is the height of the cylinder.

[0030] Cone: 1) Search the CIRCLE statement; the last attribute is the radius of the cone's base. 2) Search along the path CONICAL_SURFACE→AXIS2_PLACEMENT_3D→CARTESIAN_POINT; the last attribute is the coordinates of the cone's vertex. 3) Search along the path CIRCLE→CARTESIAN_POINT; the last attribute is the coordinates of the center of the base. 4) The distance from the center of the base to the vertex is the height of the cone.

[0031] For a cuboid: 1) Search along the path VERTEX_POINT→CARTESIAN_POINT. The last attribute is the coordinate of a vertex of the cuboid. Add the coordinates of the 8 vertices and average them to calculate the center coordinates of the cuboid; 2) Search along the path EDGE_CURVE→VERTEX_POINT→CARTESIAN_POINT to obtain the coordinates of the two vertices under the first EDGE_CURVE statement. The distance between the two vertices is the height of the cuboid, and record the corresponding vector; 3) Following the method in step 2, obtain the side lengths and vectors corresponding to the remaining EDGE_CURVE statements. When a side length that is not parallel to the previous vector appears, use it as the length and width of the cuboid in sequence.

[0032] Sphere: 1) Search for the SPHERICAL_SURFACE statement, the last attribute of which is the radius of the sphere; 2) Search along the path SPHERICAL_SURFACE→AXIS2_PLACEMENT_3D→CARTESIAN_POINT, the last attribute of which is the center coordinate of the sphere.

[0033] For a circular tube: 1) Search all CIRCLE statements. The last attribute is the radius of a circle on the top and bottom surfaces. The larger radius is the outer diameter of the tube, and the smaller radius is the inner diameter. 2) Search along the path CIRCLE→CARTESIAN_POINT to obtain the center coordinates of the top and bottom surfaces. Add them together and take the average to get the center coordinates of the tube. 3) Twice the distance from the center of the top and bottom surfaces to the center is the height of the tube.

[0034] Rectangular face: 1) Search along the path VERTEX_POINT→CARTESIAN_POINT. The last attribute is the vertex coordinates of the rectangular face. Add up all the vertex coordinates and take the average to get the center coordinates of the rectangular face; 2) Search along the path EDGE_CURVE→VERTEX_POINT→CARTESIAN_POINT to get the coordinates of the two vertices under the first EDGE_CURVE statement. The distance between the two vertices is the length of the rectangular face, and record the corresponding vector; 3) Following the method in step 2, get the side lengths and vectors corresponding to the remaining EDGE_CURVE statements. When a side length that is not parallel to the previous vector appears, use it as the width of the rectangular face.

[0035] Circular surface: 1) Search by the path EDGE_CURVE→CIRCLE, the last attribute is the radius of the circular surface; 2) Search by the path CIRCLE→AXIS2_PLACEMENT_3D→CARTESIAN_POINT, the last attribute is the center coordinates of the circular surface.

[0036] Sphere: 1) Search for the SPHERICAL_SURFACE statement, the last attribute of which is the radius of the sphere; 2) Search along the path SPHERICAL_SURFACE→AXIS2_PLACEMENT_3D→CARTESIAN_POINT, the last attribute of which is the center coordinate of the sphere.

[0037] Cylindrical surface: 1) Search for the CIRCLE statement, the last attribute of which is the radius of the cylinder; 2) Search along the path CIRCLE→CARTESIAN_POINT statement, the last attribute of which is the coordinates of the center of the upper and lower bases. The average of the two is the coordinates of the center point of the cylinder; 3) The distance between the centers of the upper and lower bases is the height of the cylinder.

[0038] Furthermore, in the point kernel integral calculation model construction method based on the geometric information extracted from STEP files as described above, the specific steps for calculating the unit vectors of the model's own coordinate axes in step S5 are as follows:

[0039] For a cylinder: 1) Based on any base of the cylinder, obtain the coordinates of the center of the base and the two endpoints of the arc; 2) Take the unit vector from the center of the base to one of the endpoints of the arc as the unit vector of its X-axis, and the unit vector from the center of the base to the center point of the cylinder as the unit vector of its Z-axis; 3) Perform a cross product of the unit vectors of the X-axis and Z-axis, and divide by their magnitude to obtain the unit vector of the cylinder's Y-axis.

[0040] For a cone: 1) Based on the base of the cone, obtain the coordinates of the center of the base and the two endpoints of the arc; 2) Take the unit vector from the center of the base to one of the endpoints of the arc as the unit vector of its X-axis, and the unit vector from the center of the base to the vertex of the cone as the unit vector of its Z-axis; 3) Perform a cross product of the unit vectors of the X-axis and Z-axis, and divide by their magnitude to obtain the unit vector of the Y-axis of the cone.

[0041] Cuboid: Based on the sides corresponding to the length, width, and height of the cuboid, the corresponding unit vectors are the unit vectors of the X, Y, and Z axes, respectively.

[0042] Sphere: Set its X, Y, and Z axis unit vectors to (1,0,0), (0,1,0), and (0,0,1) respectively.

[0043] For a circular tube: 1) Based on any bottom surface of the circular tube, obtain the coordinates of the center of the bottom surface and the two endpoints of the arc; 2) Take the unit vector from the center of the bottom surface to the endpoint of a certain arc as the unit vector of its X-axis, and take the unit vector from the center of the bottom surface to the center point of the circular tube as the unit vector of its Z-axis; 3) Perform a cross product of the unit vectors of the X-axis and Z-axis, and divide by their magnitude to obtain the unit vector of the Y-axis of the circular tube.

[0044] Rectangular surface: 1) Based on the sides corresponding to the length and width of the rectangular surface, the corresponding unit vectors are the unit vectors of the X and Y axes, respectively; 2) By performing a cross product of the unit vectors of the X and Y axes and dividing by their magnitude, the unit vector of the Z axis of the rectangular surface can be obtained.

[0045] Circular surface: 1) Take the unit vector from one end of a circular arc to the other end of another circular arc as its X-axis unit vector; 2) Search by following the path CIRCLE→AXIS2_PLACEMENT_3D→DIRECTION, and the last attribute is the Z-axis vector; 3) Perform a cross product of the Z-axis and X-axis unit vectors and divide by their magnitude to obtain the Y-axis unit vector of the circular surface.

[0046] Sphere: Directly set the unit vectors of its X, Y, and Z axes to (1,0,0), (0,1,0), and (0,0,1), respectively.

[0047] Cylindrical surface: 1) Based on any base of the cylindrical surface, obtain the coordinates of the center of the base circle and the two endpoints of the arc; 2) Take the unit vector from the center of the base circle to the endpoint of a certain arc as the unit vector of its X-axis, and take the unit vector from the center of the base circle to the center point of the cylindrical surface as the unit vector of its Z-axis; 3) Perform a cross product of the unit vectors of the X-axis and Z-axis, and divide by its magnitude to obtain the unit vector of the Y-axis of the cylindrical surface.

[0048] Furthermore, in the point kernel integral calculation model construction method based on STEP file geometric information extraction as described above, the formula for inversely calculating the rotation parameters of the model in step S6 is as follows:

[0049]

[0050]

[0051]

[0052] Where α, β, and γ are the rotation angles of the model on the X, Y, and Z axes, and the rotation order is Y→X→Z; The Z-axis component of the unit vector of the model's X-axis; These are the components of the unit vector along the Y-axis of the model on the X, Y, and Z axes, respectively. This represents the component of the unit vector along the Z-axis of the model.

[0053] Furthermore, in the point kernel integral calculation model construction method based on the geometric information extraction of STEP files as described above, the model layer-related tags in the XML format input card in step S7 include name tags, position tags, rotation parameter tags, size tags, material tags, transparency tags, whether to display tags, and whether to source items tags.

[0054] Compared with existing technologies, the point kernel integral calculation model construction method based on STEP file geometric information extraction provided by this invention has the following beneficial effects:

[0055] (1) The basic body models supported by this method include not only traditional three-dimensional geometric models, but also surface models used to describe surface sources;

[0056] (2) This method can not only extract the basic geometric parameters of the basic body in the STEP file, but also calculate its rotation parameters in reverse. Attached Figure Description

[0057] Figure 1 This is a flowchart of a point kernel integral calculation model construction method based on STEP file geometric information extraction provided in an embodiment of the present invention;

[0058] Figure 2 A schematic diagram of a model created using CATIA software;

[0059] Figure 3 The result after importing the point kernel integral program into the calculation model. Detailed Implementation

[0060] The present invention will now be described in further detail with reference to the accompanying drawings and specific embodiments.

[0061] Figure 1 The flowchart illustrates a method for constructing a point kernel integral calculation model based on geometric information extraction from STEP files, as provided in an embodiment of the present invention. The method includes the following steps:

[0062] S1. Based on the information of the nuclear facility scenario, use CAD software to create simplified models of the shielding structure and radiation source, and export the models as STEP file format.

[0063] The simplified model consists of basic solids, including solid models (cylinder, cone, cuboid, sphere, and cylindrical) and surface models (rectangular surface, circular surface, spherical surface, and cylindrical surface).

[0064] In this embodiment, CATIA software (a type of CAD software) is used as an example to illustrate how various basic shapes are modeled using CATIA software, such as... Figure 2 As shown, the created model includes cylinders, cones, cuboids, spheres, cylindrical tubes, and rectangular, circular, spherical, and cylindrical surfaces.

[0065] S2. Read the data segments in the STEP file. Starting from the statements of each entity type CLOSED_SHELL or OPEN_SHELL, search for related statements level by level according to the entity flags in their attributes, and store them in each container. All the statements stored in a container are the specific description of the geometric information of a certain model.

[0066] The specific steps for searching relevant statements level by level and storing them in each container are as follows:

[0067] 1) Create a container with the statement of entity type CLOSED_SHELL or OPEN_SHELL as the first element; 2) Count the entity tags contained in the attributes of all statements in the container, and denote it as set A; 3) Count the entity tags of all statements in the container themselves, and denote it as set B; 4) If set A contains an entity tag that is not in set B, add the statement corresponding to the entity tag to the container; 5) Repeat steps 2-4 until set A equals set B, and the search ends.

[0068] S3. Count the number of statements of each characteristic entity type in each container to identify the type of model corresponding to each container.

[0069] The characteristic entity types include ADVANCED_FACE, FACE_OUTER_BOUND, PLANE, CYLINDRICAL_SURFACE, CONICAL_SURFACE, SPHERICAL_SURFACE, FACE_BOUND, and ORIENTED_EDGE.

[0070] The steps for identifying model types are as follows: 1) Determine the first element of the container. If its entity type is CLOSED_SHELL, it is a volume model; if its entity type is OPEN_SHELL, it is a surface model. 2) Match the model types according to the number of statements of each feature entity type in each container to identify the specific types of volume models and surface models.

[0071] S4. Based on the identified model type, extract the basic geometric parameters of each model according to the corresponding parameter extraction method;

[0072] The specific steps for parameter extraction for each model are as follows:

[0073] Cylinder: 1) Search the CIRCLE statement; its last attribute is the radius of the cylinder. 2) Search along the path CIRCLE→CARTESIAN_POINT; its last attribute is the coordinates of the centers of the top and bottom bases. Add the two together and take the average to get the coordinates of the center point of the cylinder. 3) The distance between the centers of the top and bottom bases is the height of the cylinder.

[0074] Cone: 1) Search the CIRCLE statement; the last attribute is the radius of the cone's base. 2) Search along the path CONICAL_SURFACE→AXIS2_PLACEMENT_3D→CARTESIAN_POINT; the last attribute is the coordinates of the cone's vertex. 3) Search along the path CIRCLE→CARTESIAN_POINT; the last attribute is the coordinates of the center of the base. 4) The distance from the center of the base to the vertex is the height of the cone.

[0075] For a cuboid: 1) Search along the path VERTEX_POINT→CARTESIAN_POINT. The last attribute is the coordinate of a vertex of the cuboid. Add the coordinates of the 8 vertices and average them to calculate the center coordinates of the cuboid; 2) Search along the path EDGE_CURVE→VERTEX_POINT→CARTESIAN_POINT to obtain the coordinates of the two vertices under the first EDGE_CURVE statement. The distance between the two vertices is the height of the cuboid, and record the corresponding vector; 3) Following the method in step 2, obtain the side lengths and vectors corresponding to the remaining EDGE_CURVE statements. When a side length that is not parallel to the previous vector appears, use it as the length and width of the cuboid in sequence.

[0076] Sphere: 1) Search for the SPHERICAL_SURFACE statement, the last attribute of which is the radius of the sphere; 2) Search along the path SPHERICAL_SURFACE→AXIS2_PLACEMENT_3D→CARTE SIAN_POINT, the last attribute of which is the center coordinate of the sphere.

[0077] For a circular tube: 1) Search all CIRCLE statements. The last attribute is the radius of a circle on the top and bottom surfaces. The larger radius is the outer diameter of the tube, and the smaller radius is the inner diameter. 2) Search along the path CIRCLE→CARTESIAN_POINT to obtain the center coordinates of the top and bottom surfaces. Add them together and take the average to get the center coordinates of the tube. 3) Twice the distance from the center of the top and bottom surfaces to the center is the height of the tube.

[0078] Rectangular face: 1) Search along the path VERTEX_POINT→CARTESIAN_POINT. The last attribute is the vertex coordinates of the rectangular face. Add up all the vertex coordinates and take the average to get the center coordinates of the rectangular face; 2) Search along the path EDGE_CURVE→VERTEX_POINT→CARTESIAN_POINT to get the coordinates of the two vertices under the first EDGE_CURVE statement. The distance between the two vertices is the length of the rectangular face, and record the corresponding vector; 3) Following the method in step 2, get the side lengths and vectors corresponding to the remaining EDGE_CURVE statements. When a side length that is not parallel to the previous vector appears, use it as the width of the rectangular face.

[0079] Circular surface: 1) Search by the path EDGE_CURVE→CIRCLE, the last attribute is the radius of the circular surface; 2) Search by the path CIRCLE→AXIS2_PLACEMENT_3D→CARTESIAN_POINT, the last attribute is the center coordinates of the circular surface.

[0080] Sphere: 1) Search for the SPHERICAL_SURFACE statement, the last attribute of which is the radius of the sphere; 2) Search along the path SPHERICAL_SURFACE→AXIS2_PLACEMENT_3D→CARTE SIAN_POINT, the last attribute of which is the center coordinate of the sphere.

[0081] Cylindrical surface: 1) Search the CIRCLE statement, the last attribute of which is the radius of the cylinder; 2) Search along the path CIRCLE→CARTESIAN_POINT statement, the last attribute of which is the coordinates of the center of the upper and lower bases. Add the two together and take the average, which is the coordinate of the center point of the cylinder; 3) The distance between the centers of the upper and lower bases is the height of the cylinder.

[0082] S5. Based on the extracted basic geometric parameters, calculate the unit vector of the model's own coordinate axes;

[0083] The steps for calculating the unit vectors of the model's own coordinate axes are as follows:

[0084] For a cylinder: 1) Based on any base of the cylinder, obtain the coordinates of the center of the base and the two endpoints of the arc; 2) Take the unit vector from the center of the base to one of the endpoints of the arc as the unit vector of its X-axis, and the unit vector from the center of the base to the center point of the cylinder as the unit vector of its Z-axis; 3) Perform a cross product of the unit vectors of the X-axis and Z-axis, and divide by their magnitude to obtain the unit vector of the cylinder's Y-axis.

[0085] For a cone: 1) Based on the base of the cone, obtain the coordinates of the center of the base and the two endpoints of the arc; 2) Take the unit vector from the center of the base to one of the endpoints of the arc as the unit vector of its X-axis, and the unit vector from the center of the base to the vertex of the cone as the unit vector of its Z-axis; 3) Perform a cross product of the unit vectors of the X-axis and Z-axis, and divide by their magnitude to obtain the unit vector of the Y-axis of the cone.

[0086] Cuboid: Based on the sides corresponding to the length, width, and height of the cuboid, the corresponding unit vectors are the unit vectors of the X, Y, and Z axes, respectively.

[0087] Sphere: Set its X, Y, and Z axis unit vectors to (1,0,0), (0,1,0), and (0,0,1) respectively.

[0088] For a circular tube: 1) Based on any bottom surface of the circular tube, obtain the coordinates of the center of the bottom surface and the two endpoints of the arc; 2) Take the unit vector from the center of the bottom surface to the endpoint of a certain arc as the unit vector of its X-axis, and take the unit vector from the center of the bottom surface to the center point of the circular tube as the unit vector of its Z-axis; 3) Perform a cross product of the unit vectors of the X-axis and Z-axis, and divide by their magnitude to obtain the unit vector of the Y-axis of the circular tube.

[0089] Rectangular surface: 1) Based on the sides corresponding to the length and width of the rectangular surface, the corresponding unit vectors are the unit vectors of the X and Y axes, respectively; 2) By performing a cross product of the unit vectors of the X and Y axes and dividing by their magnitude, the unit vector of the Z axis of the rectangular surface can be obtained.

[0090] Circular surface: 1) Take the unit vector from one end of a circular arc to the other end of another circular arc as its X-axis unit vector; 2) Search by following the path CIRCLE→AXIS2_PLACEMENT_3D→DIRECTION, and the last attribute is the Z-axis vector; 3) Perform a cross product of the Z-axis and X-axis unit vectors and divide by their magnitude to obtain the Y-axis unit vector of the circular surface.

[0091] Sphere: Directly set the unit vectors of its X, Y, and Z axes to (1,0,0), (0,1,0), and (0,0,1), respectively.

[0092] Cylindrical surface: 1) Based on any base of the cylindrical surface, obtain the coordinates of the center of the base circle and the two endpoints of the arc; 2) Take the unit vector from the center of the base circle to the endpoint of a certain arc as the unit vector of its X-axis, and take the unit vector from the center of the base circle to the center point of the cylindrical surface as the unit vector of its Z-axis; 3) Perform a cross product of the unit vectors of the X-axis and Z-axis, and divide by its magnitude to obtain the unit vector of the Y-axis of the cylindrical surface.

[0093] S6. Calculate the rotation parameters of the model in reverse based on the unit vectors of the model's own coordinate axes.

[0094] The formula for inversely calculating the rotation parameters of the model is:

[0095]

[0096]

[0097]

[0098] Where α, β, and γ are the rotation angles of the model on the X, Y, and Z axes, and the rotation order is Y→X→Z; The Z-axis component of the unit vector of the model's X-axis; These are the components of the unit vector along the Y-axis of the model on the X, Y, and Z axes, respectively. This represents the component of the unit vector along the Z-axis of the model.

[0099] S7. Write the model's basic geometric parameters and rotation parameters into the input card in XML format.

[0100] The XML format input card includes tags related to the model layer, such as name tag, position tag, rotation parameter tag, size tag, material tag, transparency tag, whether to display tag, and whether to source item tag.

[0101] S8. Use the point kernel integration program to read the input card and import the calculation model.

[0102] Continuing from the previous example, the import effect of the calculation model into the point kernel integral program is as follows: Figure 3 As shown, comparison Figure 2 and Figure 3 It can be seen that the point kernel integral calculation model construction method based on the extraction of geometric information from STEP files proposed in this invention can accurately construct the calculation model required by the point kernel integral method.

[0103] The point kernel integral calculation model construction method based on the geometric information extraction of STEP files provided by this invention can directly construct the calculation model required by the point kernel integral method through CAD software, providing strong support for the acquisition of radiation fields in nuclear facilities. In addition to traditional three-dimensional geometric models, the basic body models supported by this method also include surface models used to describe surface sources. Furthermore, this method can not only extract the basic geometric parameters of the basic bodies in the STEP file, but also reverse calculate their rotation parameters.

[0104] Obviously, those skilled in the art can make various modifications and variations to this invention without departing from its spirit and scope. Therefore, if these modifications and variations fall within the scope of the claims of this invention and their equivalents, this invention is also intended to include these modifications and variations.

Claims

1. A method for constructing a point kernel integral calculation model based on geometric information extraction from STEP files, comprising the following steps: S1. Based on the information of the nuclear facility scenario, use CAD software to create simplified models of the shielding structure and radiation source, and export the models as STEP file format; S2. Read the data segment in the STEP file, starting from the statements of each entity type CLOSED_SHELL or OPEN_SHELL, perform a step-by-step search of the relevant statements according to the entity flag in their attributes, and store them in each container. S3. Count the number of statements of each characteristic entity type in each container to identify the type of model corresponding to each container; S4. Based on the identified model type, extract the basic geometric parameters of each model according to the corresponding parameter extraction method; S5. Based on the extracted basic geometric parameters, calculate the unit vector of the model's own coordinate axes; S6. Calculate the rotation parameters of the model in reverse based on the unit vectors of the model's own coordinate axes; S7. Write the model's basic geometric parameters and rotation parameters into the input card in XML format; S8. Use the point kernel integration program to read the input card and import the calculation model; The specific steps of searching for relevant statements level by level and storing them in each container in step S2 are as follows: S21. Create a corresponding container with the statement of entity type CLOSED_SHELL or OPEN_SHELL as the first element; S22. The entity identifiers contained in the attributes of all statements in the statistical container are denoted as set A; S23. Collect the entity identifiers of all statements in the container, and denote them as set B; S24. If set A contains entity identifiers that are not in set B, add the statements corresponding to the entity identifiers to the container. S25. Repeat steps S22-S24 until set A equals set B, at which point the search ends; The specific steps for parameter extraction for each model in step S4 are as follows: Cylinder: 1) Search for the CIRCLE statement; its last attribute is the radius of the cylinder. 2) Search along the path CIRCLE→CARTESIAN_POINT; its last attribute is the coordinates of the centers of the top and bottom bases. The average of these two coordinates is the coordinates of the center point of the cylinder. 3) The distance between the centers of the top and bottom bases is the height of the cylinder. Cone: 1) Search the CIRCLE statement; the last attribute is the radius of the cone's base. 2) Search along the path CONICAL_SURFACE→AXIS2_PLACEMENT_3D→CARTESIAN_POINT; the last attribute is the coordinates of the cone's vertex. 3) Search along the path CIRCLE→CARTESIAN_POINT; the last attribute is the coordinates of the center of the base. 4) The distance from the center of the base to the vertex is the height of the cone. For a cuboid: 1) Search along the path VERTEX_POINT→CARTESIAN_POINT. The last attribute is the coordinate of a vertex of the cuboid. Add the coordinates of the 8 vertices and average them to calculate the center coordinates of the cuboid; 2) Search along the path EDGE_CURVE→VERTEX_POINT→CARTESIAN_POINT to obtain the coordinates of the two vertices under the first EDGE_CURVE statement. The distance between the two vertices is the height of the cuboid, and record the corresponding vector; 3) Following the method in step 2, obtain the side lengths and vectors corresponding to the remaining EDGE_CURVE statements. When a side length that is not parallel to the previous vector appears, use it as the length and width of the cuboid in sequence. Sphere: 1) Search for the SPHERICAL_SURFACE statement, the last attribute of which is the radius of the sphere; 2) Search along the path SPHERICAL_SURFACE→AXIS2_PLACEMENT_3D→CARTESIAN_POINT, the last attribute of which is the center coordinate of the sphere. For a circular tube: 1) Search all CIRCLE statements. The last attribute of each statement is the radius of a circle on the top and bottom surfaces. The larger radius is the outer diameter of the tube, and the smaller radius is the inner diameter. 2) Search along the path CIRCLE → CARTESIAN_POINT to obtain the center coordinates of the top and bottom surfaces. The average of these coordinates is the center coordinate of the tube. 3) Twice the distance from the center of the top and bottom surfaces to the center of the tube is the height of the tube. Rectangular face: 1) Search along the path VERTEX_POINT→CARTESIAN_POINT. The last attribute is the vertex coordinates of the rectangular face. Add up all the vertex coordinates and take the average to get the center coordinates of the rectangular face; 2) Search along the path EDGE_CURVE→VERTEX_POINT→CARTESIAN_POINT to get the coordinates of the two vertices under the first EDGE_CURVE statement. The distance between the two vertices is the length of the rectangular face, and record the corresponding vector; 3) Following the method in step 2, obtain the side lengths and vectors corresponding to the remaining EDGE_CURVE statements. When a side length that is not parallel to the previous vector appears, use it as the width of the rectangular face; Circular surface: 1) Search by the path EDGE_CURVE→CIRCLE statement, the last attribute is the radius of the circular surface; 2) Search by the path CIRCLE→AXIS2_PLACEMENT_3D→CARTESIAN_POINT statement, the last attribute is the center coordinates of the circular surface. Sphere: 1) Search for the SPHERICAL_SURFACE statement, the last attribute of which is the radius of the sphere; 2) Search along the path SPHERICAL_SURFACE→AXIS2_PLACEMENT_3D→CARTESIAN_POINT, the last attribute of which is the center coordinate of the sphere. Cylindrical surface: 1) Search for the CIRCLE statement, the last attribute of which is the radius of the cylinder; 2) Search along the path CIRCLE→CARTESIAN_POINT statement, the last attribute of which is the coordinates of the center of the upper and lower bases. The average of the two is the coordinates of the center point of the cylinder; 3) The distance between the centers of the upper and lower bases is the height of the cylinder.

2. The method for constructing a point kernel integral calculation model based on STEP file geometric information extraction according to claim 1, characterized in that, The simplified model mentioned in step S1 includes a volume model and a surface model. The volume model includes cylinders, cones, cuboids, spheres, and cylindrical bodies. The surface model includes rectangular surfaces, circular surfaces, spherical surfaces, and cylindrical surfaces.

3. The method for constructing a point kernel integral calculation model based on STEP file geometric information extraction according to claim 2, characterized in that, The feature entity types in step S3 include ADVANCED_ FACE, FACE_OUTER_BOUND, PLANE, CYLINDRICAL_SURFACE, CONICAL_SURFACE, SPHERICAL_SURFACE, FACE_BOUND, ORIENTED_EDGE.

4. The method for constructing a point kernel integral calculation model based on the extraction of geometric information from STEP files according to claim 3, characterized in that, The specific steps for identifying model types in step S3 are as follows: S31. Determine the first element of the container. If its entity type is CLOSED_SHELL, it is a solid model. If its entity type is OPEN_SHELL, it is a face model. S32. Match the model types based on the number of statements of each feature entity type in each container, and identify the specific types of volume models and surface models.

5. The method for constructing a point kernel integral calculation model based on the extraction of geometric information from STEP files according to claim 4, characterized in that, The specific steps for calculating the unit vectors of the model's own coordinate axes in step S5 are as follows: For a cylinder: 1) Based on any base of the cylinder, obtain the coordinates of the center of the base and the two endpoints of the arc; 2) Take the unit vector from the center of the base to one of the endpoints of the arc as the unit vector of its X-axis, and the unit vector from the center of the base to the center point of the cylinder as the unit vector of its Z-axis; 3) Perform a cross product of the unit vectors of the X-axis and Z-axis, and divide by their magnitude to obtain the unit vector of the cylinder's Y-axis. Cone: 1) Based on the base of the cone, obtain the coordinates of the center of the base and the two endpoints of the arc; 2) Take the unit vector from the center of the base to one of the endpoints of the arc as the unit vector of its X-axis, and the unit vector from the center of the base to the vertex of the cone as the unit vector of its Z-axis; 3) Perform a cross product of the unit vectors of the X-axis and Z-axis, and divide by their magnitude to obtain the unit vector of the Y-axis of the cone. Cuboid: Based on the sides corresponding to the length, width, and height of the cuboid, the corresponding unit vectors are the unit vectors of the X, Y, and Z axes, respectively; Sphere: Directly set its X, Y, and Z axis unit vectors to (1,0,0), (0,1,0), and (0,0,1) respectively. For a circular tube: 1) Based on any bottom surface of the circular tube, obtain the coordinates of the center of the bottom surface and the two endpoints of the arc; 2) Take the unit vector from the center of the bottom surface to one of the endpoints of the arc as the unit vector of its X-axis, and take the unit vector from the center of the bottom surface to the center point of the circular tube as the unit vector of its Z-axis; 3) Perform a cross product of the unit vectors of the X-axis and Z-axis, and divide by their magnitude to obtain the unit vector of the Y-axis of the circular tube. Rectangular surface: 1) Based on the sides corresponding to the length and width of the rectangular surface, the corresponding unit vectors are the unit vectors of the X and Y axes, respectively; 2) By performing a cross product of the unit vectors of the X and Y axes and dividing by their magnitude, the unit vector of the rectangular surface on the Z axis can be obtained. Circular surface: 1) Take the unit vector from one end of a circular arc to the other end of another circular arc as its X-axis unit vector; 2) Search by following the path CIRCLE→AXIS2_PLACEMENT_3D→DIRECTION, the last attribute is the Z-axis vector; 3) Perform a cross product of the Z-axis and X-axis unit vectors and divide by their magnitude to obtain the Y-axis unit vector of the circular surface. Sphere: Directly set its X, Y, and Z axis unit vectors to (1,0,0), (0,1,0), and (0,0,1) respectively. Cylindrical surface: 1) Based on any base of the cylindrical surface, obtain the coordinates of the center of the base circle and the two endpoints of the arc; 2) Take the unit vector from the center of the base circle to the endpoint of a certain arc as the unit vector of its X-axis, and take the unit vector from the center of the base circle to the center point of the cylindrical surface as the unit vector of its Z-axis; 3) Perform a cross product of the unit vectors of the X-axis and Z-axis, and divide by its magnitude to obtain the unit vector of the Y-axis of the cylindrical surface.

6. The method for constructing a point kernel integral calculation model based on STEP file geometric information extraction according to claim 5, characterized in that, The formula for inversely calculating the rotation parameters of the model in step S6 is as follows: in, Let Y be the rotation angle of the model on the X, Y, and Z axes, with the rotation order being Y→X→Z; The Z-axis component of the unit vector of the model's X-axis; These are the components of the unit vector along the Y-axis of the model on the X, Y, and Z axes, respectively. This represents the component of the unit vector along the Z-axis of the model.

7. The method for constructing a point kernel integral calculation model based on the extraction of geometric information from STEP files according to claim 5 or 6, characterized in that, In step S7, the tags related to the model layer in the XML format input card include name tag, position tag, rotation parameter tag, size tag, material tag, transparency tag, whether to display tag, and whether to source item tag.

Citation Information

Patent Citations

  • Numerical simulation method and system for nuclear reactor decommissioning scheme

    CN115114825A

  • Systems and methods for generating code for parallel processing units

    WO2018094087A1