A lattice-filling method for B-rep solid models based on wireframe representation for 3D printing
By using the B-Rep solid model lattice filling method, the problem of insufficient lattice filling accuracy in the existing technology is solved, achieving high-precision lattice filling and data compression, supporting 3D printing of large parts.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- BEIJING SOLUTION TECH CO LTD
- Filing Date
- 2023-04-04
- Publication Date
- 2026-06-30
AI Technical Summary
When manufacturing lattice structures, existing 3D printing technology suffers from a loss of precision due to discrete mesh models, leading to amplified errors and making it difficult to achieve high-precision lattice filling.
A lattice-filling method based on the B-Rep solid model is adopted. By defining the spatial range of the lattice model, B-Rep is used to find faces and edges for clipping. Only the center position of the internal lattice unit is recorded, the wireframe representation of the boundary lattice unit is recorded, and the external lattice unit is not processed, which significantly compresses the amount of data.
It improves model accuracy, significantly reduces data volume, supports lattice filling and 3D printing of large parts, and reduces data storage requirements.
Smart Images

Figure CN116246048B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of computer-aided design and relates to a lattice filling method for B-rep solid models based on wireframe representation for 3D printing. Background Technology
[0002] Crystal lattice structures possess high specific strength and excellent thermal insulation properties, and are currently widely used in the aerospace field. However, due to their porous and complex structure, they are difficult to manufacture using traditional processes. Therefore, 3D printing technology is often used to manufacture lattice structure parts.
[0003] Generally, the input model for 3D printing is a discrete mesh model (such as a model defined by an STL file). However, the model accuracy has already been lost during the discretization process. When further performing lattice filling operations, local errors are likely to be amplified.
[0004] B-Rep (Boundary Representation) is a method for representing 3D models proposed by Ian C. Braid of Cambridge University in the early 1970s. It has since become a core foundation of 3D CAD software and is widely used. It can represent the topological structure of points, edges, and faces in polyhedra or curved surfaces, their interconnections, and the corresponding geometric shapes—points, curves, and surfaces. Compared to discrete mesh models, B-Rep representations of solid models have higher accuracy, fewer sources of error during lattice filling, and easier control over the accuracy of the lattice filling algorithm. Summary of the Invention
[0005] The purpose of this invention is to propose a lattice filling method for B-rep solid models used in 3D printing, which improves the accuracy of the algorithm while significantly compressing the data volume of the lattice model, thus providing support for lattice structure filling and 3D printing of large parts.
[0006] To achieve the above objectives, the technical solution of the present invention is a lattice filling method for B-rep solid models based on wireframe representation for 3D printing, characterized in that: (1) the spatial range of the lattice model is defined by the B-Rep solid model, and the surface of the lattice model is the surface of the solid model (i.e., the trimmed surface); (2) in the lattice model, the lattice unit is represented in the form of a wireframe, and the lattice unit located near the surface of the lattice model is trimmed by the surface on the surface of the solid model; (3) in the lattice model, the lattice unit located completely inside the lattice model only needs to record its center position, and there is no need to record the specific wireframe information; (4) the corresponding face and edge in the solid model are found by B-Rep, and the lattice unit is trimmed by the line segment / surface solving algorithm using the found face and edge.
[0007] The specific steps of the above technical solution are as follows:
[0008] Step 1: Define the crystal lattice unit as a cube (see...) Figure 1 The edge length of the outer envelope of this lattice unit is ,
[0009] Lattice unit outer envelope edge length The maximum value is,
[0010]
[0011] The minimum value of the outer envelope edge length w of the crystal unit cell is,
[0012] ,in ;
[0013] Step 2: Obtain the bounding box of the solid model Considering the shape error It needs to be based on the side length of the lattice unit. ,right Round off.
[0014]
[0015] make
[0016]
[0017] but
[0018]
[0019] then
[0020]
[0021] The rounded bounding box area is as follows:
[0022]
[0023] exist Lattice pre-filling is performed within the region (see Figure 2 );
[0024] Step 3: Within the bounding box region, calculate the positional relationship between the 8 vertices of the pre-filled lattice unit and the B-rep solid model;
[0025] Step 4: Based on the positional relationships obtained in Step 3, classify the lattice units into three categories: internal lattice units, boundary lattice units, and external lattice units (see...). Figure 3 );
[0026] Step 5: Process the three types of lattice units described in Step 4 respectively:
[0027] (1) Processing of internal lattice units: This type of lattice unit is a complete cube, and only the coordinates P of its center position are stored. c = (x, y, z) is sufficient;
[0028] (2) Processing of boundary lattice units: The corresponding faces and edges in the solid model are found using B-Rep. The original lattice unit at that location is then trimmed using the found faces and edges to obtain the wireframe representation of the trimmed lattice unit. (See...) Figure 4 );
[0029] (3) Abandon the processing of external lattice units.
[0030] Advantages and positive effects of the present invention:
[0031] (1) The model to be filled is a B-Rep solid model, which improves the model accuracy;
[0032] (2) By making full use of the periodic arrangement of the lattice structure, for lattice units that are completely inside the solid, only the center position is recorded, and there is no need to store wireframe information, which significantly compresses the amount of data in the lattice.
[0033] (3) The lattice model is represented in the form of a wireframe, which occupies about 1% of the memory space of the triangular mesh model, significantly compressing the amount of data.
[0034] (4) It provides algorithmic support for lattice filling and 3D printing of large parts. Attached Figure Description
[0035] Figure 1 A schematic diagram of a crystal lattice unit;
[0036] Figure 2 A schematic diagram of the pre-filling of the bounding box space and lattice model;
[0037] Figure 3 A schematic diagram of lattice unit classification;
[0038] Figure 4 The wireframe representation of the boundary lattice unit.
[0039] Figure 5 This is a logic block diagram of an example of applying the method of the present invention to a 3D printer.
[0040] In the above figures, 1 is the external lattice unit, 2 is the boundary lattice unit, 3 is the internal lattice unit, 4 is the boundary surface of the solid model, S1 is the input B-Rep solid model, S2 is the lattice filling, S3 is the STL format lattice filling body, S4 is the support calculation, S5 is the layer cutting, S6 is the trajectory calculation, and S7 is the 3D printing. Detailed Implementation
[0041] To enhance understanding of the present invention, the present invention will be further described in detail below with reference to the accompanying drawings and embodiments. These embodiments are only used to explain the present invention and do not limit the scope of protection of the present invention.
[0042] The 3D printer parameters in this embodiment are set as follows: molding principle: photopolymerization molding; effective working range: 200mm*160mm*150mm; printing accuracy: ±0.1mm; printing layer thickness: 0.05-0.2mm.
[0043] This embodiment applies the lattice filling method based on the wireframe-represented B-rep solid model to 3D printer operation. The specific steps are as follows (see appendix). Figure 5 ):
[0044] S1. Input the B-Rep entity model.
[0045] S2, filling lattice.
[0046] The spatial extent of the lattice model is defined using the B-Rep solid model, and the surface of the lattice model is the surface of the solid model (i.e., the trimmed surface).
[0047] S3, STL formatted lattice filler.
[0048] The lattice filler is triangularly meshed.
[0049] S4, Support Calculation.
[0050] (1) In the lattice-filled body, the lattice unit is a cube, see Appendix Figure 1 Represented in wireframe form, the side length of the outer envelope of this lattice unit is... , ,in,
[0051] , ;
[0052] Use the curved surface on the solid model to cut the lattice cells located near the surface of the lattice filler.
[0053] (2) Obtain the bounding box of the solid model Considering the shape error It needs to be based on the side length of the lattice unit. ,right Round off.
[0054]
[0055] make
[0056]
[0057] but
[0058]
[0059] then
[0060]
[0061] The rounded bounding box area is as follows:
[0062]
[0063] exist Lattice pre-filling is performed within the region; see appendix. Figure 2 ;
[0064] (3) In the region of the bounding box, calculate the positional relationship between the 8 vertices of each lattice unit of the pre-filled lattice filler and the B-rep solid model;
[0065] If the coordinates of vertex 0 of the lattice unit are ,make , Iterate through all faces in the Body, obtain the corresponding surface, and use line segments. Find the intersection with all Surfaces to obtain a linked list of intersection points. Sort the intersection points by z-coordinate and remove duplicates to obtain a sequence of intersection points. It is easy to know that... , Located within the lattice filling, It is located outside the lattice-filled body. Therefore, it is only necessary to determine the location of the vertex by its z-coordinate. , and By determining which segment in the model a vertex is on, we can obtain its positional relationship with the B-rep entity model.
[0066] In fact, since the lattice units are arranged periodically in space, the above method can complete the determination of the positional relationship between a set of lattice vertices that project the same onto the xy plane and the solid model with a single intersection.
[0067] (4) Classify the lattice units.
[0068] Based on the positional relationship between the eight vertices of each lattice unit in the lattice-filled body and the B-rep solid model (3), the lattice units are divided into three categories: internal lattice units, boundary lattice units, and external lattice units. See Appendix. Figure 3 .
[0069] If all eight vertices of a lattice unit are inside the solid model, the lattice unit is an internal lattice unit. If all eight vertices of a lattice unit are outside the solid model, the lattice unit is an external lattice unit. If at least one vertex of a lattice unit is inside the solid model and at least one vertex is outside the solid model, the lattice unit is a boundary lattice unit.
[0070] (5) Process the three types of lattice units divided in (4) respectively.
[0071] a) Treatment of internal lattice units:
[0072] This type of lattice unit is a complete cube, and only the coordinates of its center position need to be stored. That's sufficient; there's no need to record specific wireframe information.
[0073] If the indices of the lattice unit in the x, y, and z directions are i, j, and k, respectively, then the coordinates of the center position of the lattice unit are:
[0074]
[0075]
[0076]
[0077] b) Treatment of boundary lattice units:
[0078] By using B-Rep to find the corresponding faces and edges in the solid model, and then using the found faces and edges to trim the original lattice unit at that location, a wireframe representation of the trimmed lattice unit is obtained. See [link to B-Rep model]. Figure 4 ;
[0079] c) Abandon the processing of external lattice units.
[0080] S5, layer cutting.
[0081] Accurately slice the B-rep solid model into triangular meshes and construct the containment relationship tree of the sliced contour loops.
[0082] S6. Calculate the trajectory.
[0083] The printing trajectory is calculated based on the containment relationship tree and the rings corresponding to the nodes in the tree.
[0084] S3 to S6 above are implemented through software programming.
[0085] S7. Input the programming software into the 3D printer, and the 3D printer will perform the printing operation.
Claims
1. A lattice-filling method for B-rep solid models based on wireframe representation for 3D printing, characterized in that: (1) Define the spatial range of the lattice model using the B-Rep solid model. The surface of the lattice model is the surface of the solid model, i.e., the trimmed surface; (2) In the lattice model, the lattice unit is represented in the form of a wireframe. The lattice unit located near the surface of the lattice model is trimmed using the surface on the surface of the solid model; (3) In the lattice model, for lattice units completely located inside the lattice model, only their center position needs to be recorded, and there is no need to record the specific wireframe information; (4) Find the corresponding face and edge in the solid model using B-Rep. Use the found face and edge to trim the lattice unit using the line segment / surface solving algorithm; The specific steps of this method are as follows: Step 1: Define the crystal unit as a cube, with the outer circumference of the crystal unit having a side length of . , , Lattice unit outer envelope edge length The maximum value is, The minimum value of the outer envelope edge length w of the crystal unit cell is, ,in ; Step 2: Obtain the bounding box of the solid model Considering the shape error It needs to be based on the side length of the lattice unit. ,right Round off the edges. , make, but, ; then, ; The rounded bounding box area is as follows: ; exist Lattice pre-filling is performed within the region; Step 3: Within the bounding box region, calculate the positional relationship between the 8 vertices of the pre-filled lattice unit and the B-rep solid model; Step 4: Based on the positional relationships obtained in Step 3, the lattice units are divided into three categories: internal lattice units, boundary lattice units, and external lattice units; Step 5: Process the three types of lattice units described in Step 4 respectively: (1) Processing of internal lattice units: This type of lattice unit is a complete cube, and only the coordinates P of its center position are stored. c = (x, y, z) is sufficient; (2) Processing of boundary lattice units: The corresponding faces and edges in the solid model are found by B-Rep, and the original lattice units at that location are clipped using the found faces and edges to obtain the wireframe representation of the clipped lattice units. (3) Abandon the processing of external lattice units.