Additive manufacturing system rendering method and device, storage medium and electronic equipment

By using implicit functions for boolean operations and smoothing in additive manufacturing, the problem of slow rendering speed of complex structures is solved, faster and more accurate rendering effects are achieved, and the real-time performance of the rendering process is improved.

CN119850812AActive Publication Date: 2025-04-18ZHEJIANG LAB

Patent Information

Application Number
CN202510323451.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-03-19
Publication Date
2025-04-18
Estimated Expiration
2045-03-19

AI Technical Summary

Technical Problem

In the additive manufacturing process, it is difficult for the existing technology to achieve fast and accurate rendering, especially when dealing with complex structures and polygonal meshes, huge data volume, complex Boolean operations and non-smooth boundaries will occur, which will affect the computing efficiency and rendering speed.

Method used

By obtaining the model of the components to be manufactured and the implicit functions of the cell-filled array, performing Boolean operations and using a smoothing algorithm to transition the boundary area, obtaining the to-determined implicit functions, and then adjusting the target implicit functions according to the preset shell thickness, and finally rendering the target implicit functions according to the rendering parameters.

Benefits of technology

It realizes faster and more accurate rendering in additive manufacturing, solves the problems of large amount of complex geometric information and complex Boolean operations, and avoids rendering exceptions caused by unsmooth boundary, improving the real-time nature of the rendering process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119850812A_ABST
    Figure CN119850812A_ABST
Patent Text Reader

Abstract

The invention discloses an additive manufacturing system rendering method and device, a storage medium and electronic equipment. When the additive manufacturing system rendering method provided by the invention is adopted to render the component, the model of the component to be manufactured and the boundary area of the cell element filling array can be transited through the smoothing algorithm, so that the undetermined implicit function with relatively high continuity is obtained; and adjusting the to-be-determined implicit function according to the shell thickness of the to-be-manufactured component to obtain a target implicit function, and completing a rendering task. By adopting the method, not only can the problems of complex geometric information, large data volume and complex Boolean operation in display modeling be solved, but also the problem of abnormal rendering of the spherical tracking algorithm caused by unsmooth boundary region is solved by using the smoothing algorithm in the Boolean operation. Meanwhile, by using a picture set rendering mode, the situation that a data model is converted into a polygonal mesh in a traditional mode is avoided, calculation and storage expenses are reduced, and the real-time performance of the rendering process is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of computer technology, and in particular to a rendering method, device, storage medium and electronic device for an additive manufacturing system. Background Art

[0002] Additive manufacturing technology, also known as 3D printing technology, creates three-dimensional objects by stacking materials layer by layer. The working principle of additive manufacturing is based on Computer Aided Design (CAD) and Computer Aided Manufacturing (CAM) technology, which converts digital models into physical objects.

[0003] In additive manufacturing technology, many parts usually have complex structures, and the current CAD software uses display modeling to store models through the geometric information of points and surfaces. For complex scenes, the polygonal mesh of display modeling will become very large, and the Boolean operations between surfaces are very complicated. When gaps and loopholes appear due to Boolean operation errors, the geometric model designer needs to perform subsequent repairs, which increases the workload and complexity, which seriously affects the computing efficiency and processing speed.

[0004] Therefore, how to achieve faster and more accurate rendering in the additive manufacturing process is an urgent problem to be solved. Summary of the invention

[0005] The present specification provides an additive manufacturing system rendering method, device, storage medium and electronic device to at least partially solve the above-mentioned problems existing in the prior art.

[0006] This manual adopts the following technical solutions: This specification provides an additive manufacturing system rendering method, including: Obtaining a first implicit function of a model of a component to be manufactured and a second implicit function of a cell filling array filling the model; Performing Boolean operations on the first implicit function and the second implicit function, and using a smoothing algorithm to transition the boundary area between the model and the cell filling array to obtain a pending implicit function; Obtaining a target implicit function according to a preset shell thickness of the component to be manufactured and the to-be-determined implicit function; The target implicit function is rendered according to preset rendering parameters.

[0007] Optionally, obtaining a model of a component to be manufactured specifically includes: Determine the model of the component to be manufactured constructed by the user, or obtain the three-dimensional model file input by the user for describing the component to be manufactured.

[0008] Optionally, the first implicit function, the second implicit function, the to-be-determined implicit function, and the target implicit function are distance field functions.

[0009] Optionally, obtaining a target implicit function according to a preset shell thickness of the component to be manufactured and the to-be-determined implicit function specifically includes: According to the preset shell thickness of the component to be manufactured, a shell extraction operation is performed on the implicit function to be determined to obtain a target implicit function.

[0010] Optionally, the rendering parameters include at least position, rotation angle, scaling size, projection mode, field of view angle, camera position, near clipping plane, far clipping plane, step value, and minimum distance.

[0011] Optionally, rendering the target implicit function specifically includes: According to the preset resolution, determine the number of rays used for rendering and the initial position of each ray; Determine the direction vector of each ray according to the adopted projection method; According to the initial positions of the rays and the rendering area, filtering the rays outside the rendering area; For each ray, the position of the ray is continuously updated according to the specified step value, and at each position, it is determined and recorded whether the ray intersects with the model to obtain the ray state of the ray; Calculating the target implicit function according to the ray state of each ray to obtain normal information, and obtaining depth information according to the number of steps of each ray; A normal map, a depth map, and a color map are drawn according to the normal information and the depth information.

[0012] Optionally, the method further comprises: Taking the center of the component to be manufactured as the origin, establishing a component coordinate system of the component to be manufactured; Rotating the component to be manufactured along each coordinate axis of the component coordinate system respectively, and collecting images of the component to be manufactured at different angles during the rotation process to obtain a rotation image set; Determine an implicit function for cutting the cube according to the origin and a preset cutting position; For each coordinate axis of the component coordinate system, according to the target implicit function and the implicit function of the sectioning cube, a plurality of sectioning structures are sequentially generated along the coordinate axis at specified intervals; Each sectioned structure is rendered to obtain a sectioned image set.

[0013] This specification provides an additive manufacturing system rendering device, the device comprising: An acquisition module, used for acquiring a first implicit function of a model of a component to be manufactured and a second implicit function of a cell filling array filling the model; An operation module, used for performing Boolean operation on the first implicit function and the second implicit function, and using a smoothing algorithm to transition the boundary area between the model and the cell filling array to obtain a pending implicit function; An adjustment module, used for obtaining a target implicit function according to a preset shell thickness of the component to be manufactured and the to-be-determined implicit function; The rendering module is used to render the target implicit function according to preset rendering parameters.

[0014] This specification provides a computer-readable storage medium, which stores a computer program. When the computer program is executed by a processor, the above-mentioned additive manufacturing system rendering method is implemented.

[0015] This specification provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the above-mentioned additive manufacturing system rendering method when executing the program.

[0016] At least one of the above technical solutions adopted in this specification can achieve the following beneficial effects: In the additive manufacturing system rendering method provided in the present specification, a first implicit function of a model of a component to be manufactured and a second implicit function of a cell filling array filling the model are obtained; a Boolean operation is performed on the first implicit function and the second implicit function, and a smoothing algorithm is used to transition the boundary area of ​​the model and the cell filling array to obtain a pending implicit function; a target implicit function is obtained based on a preset shell thickness of the component to be manufactured and the pending implicit function; and the target implicit function is rendered according to pre-set rendering parameters.

[0017] When using the additive manufacturing system rendering method provided in this specification to render components, a smoothing algorithm can be used to transition the model of the component to be manufactured and the boundary area of ​​the cell filling array to obtain a relatively continuous pending implicit function, and the pending implicit function is adjusted according to the shell thickness of the component to be manufactured to obtain the target implicit function to complete the rendering task. This method can not only solve the problems of complex geometric information, large data volume, and complex Boolean operations in display modeling, but also solve the problem of abnormal rendering of the spherical tracking algorithm caused by the uneven boundary area by using a smoothing algorithm in Boolean operations. At the same time, by using a picture collection rendering method, the traditional method of converting the data model into a polygonal mesh is avoided, the calculation and storage overhead is reduced, and the real-time performance of the rendering process is improved. BRIEF DESCRIPTION OF THE DRAWINGS

[0018] The drawings described herein are used to provide a further understanding of this specification and constitute a part of this specification. The illustrative embodiments and descriptions of this specification are used to explain this specification and do not constitute an improper limitation on this specification. In the drawings: Figure 1 A schematic diagram of a method for rendering an additive manufacturing system in this specification; Figure 2 A schematic diagram of an additive manufacturing system rendering device provided in this specification; Figure 3 The corresponding Figure 1 Schematic diagram of electronic equipment. DETAILED DESCRIPTION

[0019] In order to make the purpose, technical solutions and advantages of this specification more clear, the technical solutions of this specification will be clearly and completely described below in combination with the specific embodiments of this specification and the corresponding drawings. Obviously, the described embodiments are only part of the embodiments of this specification, not all of the embodiments. Based on the embodiments in this specification, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0020] The technical solutions provided by the embodiments of this specification are described in detail below in conjunction with the accompanying drawings.

[0021] Figure 1 The following is a flowchart of a method for rendering an additive manufacturing system in this specification, which specifically includes the following steps: S100: Acquire a first implicit function of a model of a component to be manufactured and a second implicit function of a cell filling array filling the model.

[0022] All steps in the additive manufacturing system rendering method provided in this specification can be implemented by any electronic device with computing functions, such as terminals, servers and other devices.

[0023] This method is mainly used in the rendering link in additive manufacturing technology. Based on this, in this step, the first implicit function of the model of the component to be manufactured that needs to be rendered and the second implicit function of the cell filling array used to fill the model can be first obtained.

[0024] Implicit modeling defines the shape of an object through continuous mathematical functions, which gives it unique advantages in dealing with complex geometric shapes and topological changes, and can better solve the problems of model data storage and complex Boolean operations in explicit modeling.

[0025] Among them, the component to be manufactured is the component that needs to be manufactured in the additive manufacturing in the end, and its shape, size and other specifications can be any form based on specific needs, including any regular shape such as sphere, cylinder, cube, or any irregular complex structure. When obtaining the model of the component to be manufactured, it can be mainly done in two ways. Specifically, the model of the component to be manufactured constructed by the user can be determined, or a three-dimensional model file input by the user to describe the component to be manufactured can be obtained. Simply put, on the one hand, the user can design and build the model of the component to be manufactured in the 3D modeling software; on the other hand, the user can directly input the three-dimensional model file of the pre-designed model into the 3D modeling software, such as STL files, etc., and this manual does not impose specific restrictions on this.

[0026] The cell filling array is an array composed of a large number of cells in a specific arrangement and combination, and its function is to fill the internal space of the model of the component to be manufactured. This method is mainly used to simulate the process of filling the designed shape with material during actual manufacturing. During actual printing, the filled cells will be converted into solid parts one by one and finally form a complete component. Among them, the cell is also a three-dimensional model, and the shape and size of the cell can also be freely designed according to specific needs. The arrangement, distribution density, connection method and other specifications of each cell inside the component need to be designed differently according to the different components to be manufactured.

[0027] In this method, the components and cells to be manufactured can be implicit functions in pure function form or stl files. If the cells and components are stl files, it is necessary to use tools such as libigl library to convert the stl files into discrete implicit fields. Since a continuous signed distance field (SDF) function is required in rendering, so that the distance field value of any point can be obtained given the coordinates of the point, the discrete SDF field must be converted into a continuous implicit function. The specific method is as follows: First, the points within the sampling range can be sampled and linear interpolation can be used to determine the bounding box based on the discrete distance length and the maximum and minimum coordinate point information of stl. For the points within the bounding box, linear interpolation is used to calculate their signed distance values. The specific processing can be performed according to the following formula:

[0028] Among them, p i is the grid point surrounding point p, w i is the weight.

[0029] Then, you can sample points outside the range and calculate the point p closest to the bounding box. nearest and d, can be processed according to the following formula:

[0030] Among them, x, y, and z represent the coordinates of the point.

[0031] Finally, the gradient field of the entire distance field can be calculated, and Gaussian smoothing can be performed on it. The smoothed gradient value can be used for calculation to finally obtain the SDF value outside the sampling point range. The specific processing can be performed according to the following formula:

[0032] Among them, smoothed means smoothing processing.

[0033] The process of using cells to fill the components to be manufactured can be divided into uniform filling and variable density filling. Among them, uniform filling uses only one type of cells to be repeatedly spliced ​​in three dimensions, and finally obtains a filled cell array; variable density filling selects appropriate cells according to stress field data to fill in the specified area respectively, and the smoothing function used in the above Boolean operation can be used between cells to smooth the edges of two cells, and finally obtain the implicit function of the cell filling array.

[0034] In this step, the implicit function of the model of the component to be manufactured, i.e., the first implicit function, and the implicit function of the cell filling array that fills the model, i.e., the second implicit function, are first obtained. In the early stages of design, without specific calculations, the cell filling array usually cannot be directly and perfectly matched with the model of the component to be manufactured. Therefore, it is necessary to obtain the implicit functions of both the model and the cell filling array separately and use them in the subsequent rendering process.

[0035] Among them, the implicit function may include multiple forms of expression, such as distance field function, occupancy field function, radiation field function, etc. Correspondingly, there may also be multiple specific ways to obtain the implicit function. This specification provides a specific embodiment for reference. Taking the implicit function as a signed distance field function as an example, in this method, the first implicit function, the second implicit function involved in this step, and the pending implicit function and the target implicit function to be used in subsequent steps may all be SDFs. When obtaining SDF, SDF can be obtained by extracting mesh isosurfaces. Generally, a mesh is a triangular facet used to describe the shell. By extracting points on the triangular facet, the SDF from each point in the rendering space to the three-dimensional model can be obtained.

[0036] S102: performing Boolean operations on the first implicit function and the second implicit function, and using a smoothing algorithm to transition the boundary region between the model and the cell filling array to obtain a pending implicit function.

[0037] In this step, a Boolean operation can be performed on the first implicit function and the second implicit function obtained in step S100. Through the Boolean operation, the overlap area between the model of the component to be manufactured and the cell filling array can be calculated, and the position of the model, as well as the position and arrangement of the cell filling array can be adjusted accordingly, so that the cell filling array can gradually completely fill the model of the component to be manufactured.

[0038] At the same time, in order to ensure that the model of the component to be manufactured and the cell filling array are more closely matched and continuous, a smoothing algorithm can also be used in this step to process the boundary area between the two. There are many smoothing algorithms that can be used, such as various linear smoothing algorithms, including but not limited to moving average smoothing algorithms, interpolation smoothing algorithms, convolution smoothing algorithms, etc., and this specification does not make specific restrictions on this.

[0039] This method provides a specific embodiment of smoothing Boolean operations for reference. Common Boolean operations may include, for example, intersection max (a, b), union min (a, b), difference max (a, -b), etc. For the above Boolean operations, smoothing can be performed according to the following formula: Intersection operation with smoothing:

[0040] Union operation with smoothing:

[0041] Subtraction with smoothing:

[0042] Among them, m is a hyperparameter and can be set according to specific needs.

[0043] When the cell filling array can perfectly overlap with the internal space of the model of the component to be manufactured, there is no need to adjust the position of the cell filling array and the model. At this time, the two can be regarded as a whole. According to the position of the model at this time, an implicit function to be determined can be obtained again for the subsequent rendering process.

[0044] S104: Obtaining a target implicit function according to a preset shell thickness of the component to be manufactured and the to-be-determined implicit function.

[0045] Before rendering, the implicit function to be determined obtained in step S102 needs to be adjusted according to the preset shell thickness of the component to be manufactured. Specifically, the implicit function to be determined can be shelled according to the preset shell thickness of the component to be manufactured to obtain the target implicit function.

[0046] When performing shell extraction operations, different operations can be performed on the implicit function depending on the shell thickness t. Specifically, there are three cases: t>0, t<0, and t=0.

[0047] When t>0, that is, when the shell is drawn outward, the calculation can be performed according to the following formula:

[0048] When t<0, that is, when the shell is drawn inward, the calculation can be performed according to the following formula:

[0049] When t=0, it can be calculated according to the following formula:

[0050] Wherein, a is the first implicit function of the component to be manufactured, and b is the second implicit function of the cell filling array. The implicit function to be determined obtained by performing Boolean operation on the first implicit function and the second implicit function can be obtained in step S102.

[0051] S106: Rendering the target implicit function according to preset rendering parameters.

[0052] Finally, the target implicit function can be rendered in this step to complete the rendering task. The rendering parameters may include but are not limited to rendering position, rotation angle, scaling, projection mode, field of view, camera position, near clipping plane, far clipping plane, step value, minimum distance and other parameters.

[0053] The rendering process can be implemented through a variety of different rendering technologies. This specification provides a specific embodiment of rendering using a spherical tracing algorithm. Specifically, the number of rays used for rendering and the initial position of each ray can be determined according to a preset resolution; the direction vector of each ray can be determined according to the projection method used; the rays outside the rendering area can be filtered according to the initial position of each ray and the rendering area; for each ray, the position of the ray is continuously updated according to the specified step value, and at each position, it is determined and recorded whether the ray intersects with the model to obtain the ray state of the ray; the target implicit function is calculated according to the ray state of each ray to obtain normal information, and the depth information is obtained according to the number of steps of each ray; the normal map, depth map, and color map are drawn according to the normal information and the depth information. Among them, when determining the normal information, the SDF value of the ray intersection position can be first determined, and then the normal information of the point can be calculated using the central difference method.

[0054] In actual rendering, implicitly constructed models are usually converted into STL or OBJ format files for rendering. Since these models need to store detailed information of geometric elements, the data volume is usually large and time-consuming, which is also a challenge in data storage and transmission. For some explicit models, especially high-resolution models, rendering and processing may require high computing costs, affecting real-time performance.

[0055] As a technology for rendering curved surfaces, the sphere tracing algorithm is a process of "traveling" along rays, which is achieved by dividing points in space. This method is often used in volume rendering, where there is no specific surface, but it is necessary to find the intersection of the ray and the surface defined by the "implicit distance" equation, which requires the function to be continuous and satisfy the Lipschitz condition. In traditional methods, Boolean operations on signed distance field functions will result in the final SDF not being an exact SDF. The sphere tracing algorithm uses the SDF as a step, and the inaccurate SDF will cause the algorithm to skip the surface and affect the rendering effect. In this method, a smoothing algorithm is used in the Boolean operation to solve the problem of rendering anomalies caused by the discontinuity of the boundary between the model and the cell filling array.

[0056] The "light" used for rendering in the sphere tracing algorithm is represented by rays, and there will be several rays in one rendering process. The specific number of rays and the initial position of each ray will vary depending on the resolution used. Generally, the higher the resolution, the more voxels need to be rendered, and the more rays used for rendering; the initial position of the ray is the endpoint of the ray, and the initial position of each ray is usually affected by the number of rays and evenly distributed in the rendering space. The direction of the ray is usually associated with the projection method. For example, in orthogonal projection, all rays are parallel and perpendicular to the projection plane; in perspective projection, all rays diverge from a point (usually the focus or viewpoint of the camera) and converge on the same projection plane. Therefore, the direction vector of each ray can be determined according to the projection method used in the rendering. At the same time, different projection methods can be used at the same time, and the determination method of the direction vector of each ray may not be completely unified.

[0057] After determining the initial position and direction vector of each ray, we can first filter out some unused rays according to the location of the rendering area. Specifically, we can filter out rays by using, for example, the Axis-Aligned Bounding Box (AABB) algorithm. The AABB algorithm can be implemented by the CUDA (Compute Unified Device Architecture) kernel function, and the rendering area can be set according to the specific situation, such as [-1, -1, -1] ~ [1, 1, 1], etc.

[0058] After filtering some rays, the remaining rays can be used to complete the rendering task. For each ray involved in the rendering, the position of the ray can be continuously updated according to the preset specified step value. At the same time, at each position where the ray passes, it is judged whether the ray can intersect with the model, and the judgment result of each time is recorded. This process can continue until the ray completely traverses the rendering area and returns to its initial position. All the judgment results recorded in this process can be recorded as the ray state of this ray. Among them, the position of the ray refers to the position of the endpoint of the ray, and whether the ray intersects with the model refers to whether the direction vector of the ray can intersect with the shell of the model. The specified step value is usually related to the target implicit function. For example, the specified step value can be the product of the value of the target implicit function at the current position and a constant step size stepsize, that is, SDF×stepsize. There are two types of judgment results hit: "true" indicating "yes" and "false" indicating "no". When the ray intersects with the model, the value of the judgment result hit is "true", otherwise the value of hit is "false".

[0059] After all rays have been processed according to the above process, the target implicit function can be finally calculated and rendered according to the ray state of each ray to obtain normal information; at the same time, the depth information can be obtained according to the number of steps of each ray. Based on the obtained information, images such as normal map, depth map, color map, etc. that can intuitively display the component situation can be drawn as the final output result of the rendering.

[0060] Furthermore, in this method, additionally, a rotation image and a section image can be outputted to provide the user with more rendering information. Specifically, the component coordinate system of the component to be manufactured can be established with the center of the component to be manufactured as the origin; the component to be manufactured can be rotated along each coordinate axis of the component coordinate system, and images of the component to be manufactured at different angles can be collected during the rotation process to obtain a set of rotation images; the implicit function of the sectioning cube can be determined according to the origin and the preset sectioning position; for each coordinate axis of the component coordinate system, a number of sectioning structures can be sequentially generated along the coordinate axis at specified intervals according to the target implicit function and the implicit function of the sectioning cube; each sectioning structure can be rendered to obtain a set of sectioning images.

[0061] For the rotation image, the component coordinate system can be established by setting the center of the component to be manufactured as the origin, and rotating along each coordinate axis of the component coordinate system. During the rotation process, the number and angle of rotation can be set according to specific needs. A rotation image can be collected for each rotation, and finally a set of rotation images on each axis can be obtained.

[0062] For the cut image, any position can be pre-set as the cut position, and the center of the circle used during rotation, that is, the center of the component to be manufactured, is used as the rendering position to determine the implicit function of the cut cube. Under each coordinate axis, the target implicit function of the model and the implicit function of the cut cube can be subtracted to generate several cut structures at fixed specified intervals. The cut image set can be obtained by rendering each cut structure.

[0063] When using the additive manufacturing system rendering method provided in this specification to render components, a smoothing algorithm can be used to transition the model of the component to be manufactured and the boundary area of ​​the cell filling array to obtain a relatively continuous pending implicit function, and the pending implicit function is adjusted according to the shell thickness of the component to be manufactured to obtain the target implicit function to complete the rendering task. This method can not only solve the problems of complex geometric information, large data volume, and complex Boolean operations in display modeling, but also solve the problem of abnormal rendering of the spherical tracking algorithm caused by the uneven boundary area by using a smoothing algorithm in Boolean operations. At the same time, by using a picture collection rendering method, the traditional method of converting the data model into a polygonal mesh is avoided, the calculation and storage overhead is reduced, and the real-time performance of the rendering process is improved.

[0064] The above is the additive manufacturing system rendering method provided in this specification. Based on the same idea, this specification also provides a corresponding additive manufacturing system rendering device, such as Figure 2 shown.

[0065] Figure 2 A schematic diagram of an additive manufacturing system rendering device provided in this specification specifically includes: An acquisition module 200 is used to acquire a first implicit function of a model of a component to be manufactured and a second implicit function of a cell filling array filling the model; An operation module 202 is used to perform Boolean operations on the first implicit function and the second implicit function, and use a smoothing algorithm to transition the boundary area between the model and the cell filling array to obtain a pending implicit function; An adjustment module 204 is used to obtain a target implicit function according to a preset shell thickness of the component to be manufactured and the implicit function to be determined; The rendering module 206 is used to render the target implicit function according to preset rendering parameters.

[0066] Optionally, the acquisition module 200 is specifically used to determine the model of the component to be manufactured constructed by the user, or to acquire a three-dimensional model file input by the user for describing the component to be manufactured.

[0067] Optionally, the first implicit function, the second implicit function, the to-be-determined implicit function, and the target implicit function are distance field functions.

[0068] Optionally, the adjustment module 204 is specifically configured to perform a shell extraction operation on the unknown implicit function according to a preset shell thickness of the component to be manufactured, so as to obtain a target implicit function.

[0069] Optionally, the rendering parameters include at least position, rotation angle, scaling size, projection mode, field of view angle, camera position, near clipping plane, far clipping plane, step value, and minimum distance.

[0070] Optionally, the rendering module 206 is specifically used to determine the number of rays used for rendering and the initial position of each ray according to a preset resolution; determine the direction vector of each ray according to the adopted projection method; filter the rays outside the rendering area according to the initial position of each ray and the rendering area; for each ray, continuously update the position of the ray according to a specified step value, and determine and record at each position whether the ray intersects with the model to obtain the ray state of the ray; calculate the target implicit function according to the ray state of each ray to obtain normal information, and obtain depth information according to the number of steps of each ray; draw a normal map, a depth map, and a color map according to the normal information and the depth information.

[0071] Optionally, the device also includes an image generation module 208, which is specifically used to establish a component coordinate system of the component to be manufactured with the center of the component to be manufactured as the origin; rotate the component to be manufactured along each coordinate axis of the component coordinate system, and collect images of the component to be manufactured at different angles during the rotation process to obtain a set of rotated images; determine the implicit function of the cutting cube according to the origin and the preset cutting position; for each coordinate axis of the component coordinate system, generate a number of cutting structures in sequence along the coordinate axis at specified intervals according to the target implicit function and the implicit function of the cutting cube; render each cutting structure to obtain a set of cutting images.

[0072] This specification also provides a computer-readable storage medium, which stores a computer program, which can be used to execute the above Figure 1 A rendering method for an additive manufacturing system is provided.

[0073] This manual also provides Figure 3 The schematic structure diagram of the electronic device shown in FIG. Figure 3 As mentioned above, at the hardware level, the electronic device includes a processor, an internal bus, a network interface, a memory, and a non-volatile memory, and may also include other hardware required for the business. The processor reads the corresponding computer program from the non-volatile memory into the memory and then runs it to achieve the above Figure 1The additive manufacturing system rendering method. Of course, in addition to the software implementation, this specification does not exclude other implementations, such as logic devices or a combination of software and hardware, etc., that is, the execution subject of the following processing flow is not limited to each logic unit, but can also be hardware or logic devices.

[0074] For the improvement of a technology, it can be clearly distinguished whether it is a hardware improvement (for example, improvement of the circuit structure of diodes, transistors, switches, etc.) or a software improvement (improvement of the method flow). However, with the development of technology, many improvements of the method flow today can be regarded as direct improvements of the hardware circuit structure. Designers almost always obtain the corresponding hardware circuit structure by programming the improved method flow into the hardware circuit. Therefore, it cannot be said that the improvement of a method flow cannot be implemented with a hardware entity module. For example, a programmable logic device (PLD) (such as a field programmable gate array (FPGA)) is such an integrated circuit whose logical function is determined by the user's programming of the device. Designers can "integrate" a digital system on a PLD by programming themselves, without having to ask chip manufacturers to design and make dedicated integrated circuit chips. Moreover, nowadays, instead of manually making integrated circuit chips, this kind of programming is mostly implemented by "logic compiler" software, which is similar to the software compiler used when developing and writing programs, and the original code before compilation must also be written in a specific programming language, which is called hardware description language (HDL). There is not only one kind of HDL, but many kinds, such as ABEL (Advanced Boolean Expression Language), AHDL (Altera Hardware Description Language), Confluence, CUPL (Cornell University Programming Language), HDCal, JHDL (Java Hardware Description Language), Lava, Lola, MyHDL, PALASM, RHDL (Ruby Hardware Description Language), etc. The most commonly used ones are VHDL (Very-High-Speed ​​Integrated Circuit Hardware Description Language) and Verilog. Those skilled in the art should also know that it is only necessary to program the method flow slightly in the above-mentioned hardware description languages ​​and program it into the integrated circuit, and then it is easy to obtain the hardware circuit that implements the logic method flow.

[0075] The controller may be implemented in any suitable manner, for example, the controller may take the form of a microprocessor or processor and a computer-readable medium storing a computer-readable program code (e.g., software or firmware) executable by the (micro)processor, a logic gate, a switch, an application-specific integrated circuit (ASIC), a programmable logic controller, and an embedded microcontroller, examples of which include but are not limited to the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20, and Silicone Labs C8051F320, and the memory controller may also be implemented as part of the control logic of the memory. It is also known to those skilled in the art that, in addition to implementing the controller in a purely computer-readable program code manner, the controller may be implemented in the form of a logic gate, a switch, an application-specific integrated circuit, a programmable logic controller, and an embedded microcontroller by logically programming the method steps. Therefore, such a controller may be considered as a hardware component, and the devices for implementing various functions included therein may also be considered as structures within the hardware component. Or even, the devices for implementing various functions may be considered as both software modules for implementing the method and structures within the hardware component.

[0076] The systems, devices, modules or units described in the above embodiments may be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer. Specifically, the computer may be, for example, a personal computer, a laptop computer, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.

[0077] For the convenience of description, the above device is described in various units according to their functions. Of course, when implementing this specification, the functions of each unit can be implemented in the same or multiple software and / or hardware.

[0078] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, the present application may adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program codes.

[0079] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0080] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.

[0081] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.

[0082] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.

[0083] The memory may include non-permanent storage in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. The memory is an example of a computer-readable medium.

[0084] Computer readable media include permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. Information can be computer readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer readable media does not include temporary computer readable media (transitory media), such as modulated data signals and carrier waves.

[0085] It should also be noted that the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, commodity or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, commodity or device. In the absence of more restrictions, the elements defined by the sentence "comprises a ..." do not exclude the existence of other identical elements in the process, method, commodity or device including the elements.

[0086] It should be understood by those skilled in the art that the embodiments of this specification may be provided as methods, systems or computer program products. Therefore, this specification may take the form of a complete hardware embodiment, a complete software embodiment or an embodiment combining software and hardware. Moreover, this specification may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0087] This specification may be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform specific tasks or implement specific abstract data types. This specification may also be practiced in distributed computing environments where tasks are performed by remote processing devices connected through a communication network. In a distributed computing environment, program modules may be located in local and remote computer storage media, including storage devices.

[0088] Each embodiment in this specification is described in a progressive manner, and the same or similar parts between the embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the system embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.

[0089] The above description is only an embodiment of this specification and is not intended to limit this specification. For those skilled in the art, this specification may have various changes and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of this specification should be included in the scope of the claims of this application.

Claims

1. A rendering method for an additive manufacturing system, characterized in that: include: Obtaining a first implicit function of a model of a component to be manufactured and a second implicit function of a cell filling array filling the model; Performing Boolean operations on the first implicit function and the second implicit function, and using a smoothing algorithm to transition the boundary area between the model and the cell filling array to obtain a pending implicit function; Obtaining a target implicit function according to a preset shell thickness of the component to be manufactured and the to-be-determined implicit function; The target implicit function is rendered according to preset rendering parameters.

2. The method according to claim 1, characterized in that Obtain the model of the component to be manufactured, including: Determine the model of the component to be manufactured constructed by the user, or obtain the three-dimensional model file input by the user for describing the component to be manufactured.

3. The method according to claim 1, characterized in that The first implicit function, the second implicit function, the pending implicit function, and the target implicit function are distance field functions.

4. The method according to claim 1, characterized in that According to the preset shell thickness of the component to be manufactured and the to-be-determined implicit function, a target implicit function is obtained, which specifically includes: According to the preset shell thickness of the component to be manufactured, a shell extraction operation is performed on the implicit function to be determined to obtain a target implicit function.

5. The method according to claim 1, characterized in that The rendering parameters include at least position, rotation angle, scaling size, projection mode, field of view, camera position, near clipping plane, far clipping plane, step value, and minimum distance.

6. The method according to claim 1, characterized in that Rendering the target implicit function specifically includes: According to the preset resolution, determine the number of rays used for rendering and the initial position of each ray; Determine the direction vector of each ray according to the adopted projection method; According to the initial positions of the rays and the rendering area, filtering the rays outside the rendering area; For each ray, the position of the ray is continuously updated according to the specified step value, and at each position, it is determined and recorded whether the ray intersects with the model to obtain the ray state of the ray; Calculating the target implicit function according to the ray state of each ray to obtain normal information, and obtaining depth information according to the number of steps of each ray; A normal map, a depth map, and a color map are drawn according to the normal information and the depth information.

7. The method according to claim 1, characterized in that The method further comprises: Taking the center of the component to be manufactured as the origin, establishing a component coordinate system of the component to be manufactured; Rotating the component to be manufactured along each coordinate axis of the component coordinate system respectively, and collecting images of the component to be manufactured at different angles during the rotation process to obtain a rotation image set; Determine an implicit function for cutting the cube according to the origin and a preset cutting position; For each coordinate axis of the component coordinate system, according to the target implicit function and the implicit function of the sectioning cube, a plurality of sectioning structures are sequentially generated along the coordinate axis at specified intervals; Each sectioned structure is rendered to obtain a sectioned image set.

8. A rendering device for an additive manufacturing system, characterized in that: include: An acquisition module, used for acquiring a first implicit function of a model of a component to be manufactured and a second implicit function of a cell filling array filling the model; An operation module, used for performing Boolean operation on the first implicit function and the second implicit function, and using a smoothing algorithm to transition the boundary area between the model and the cell filling array to obtain a pending implicit function; An adjustment module, used for obtaining a target implicit function according to a preset shell thickness of the component to be manufactured and the to-be-determined implicit function; The rendering module is used to render the target implicit function according to preset rendering parameters.

9. A computer-readable storage medium, characterized in that: The storage medium stores a computer program, and when the computer program is executed by a processor, the method described in any one of claims 1 to 7 is implemented.

10. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the program, the method described in any one of claims 1 to 7 is implemented.

Citation Information

Patent Citations

  • Component three-dimensional design method for additive manufacturing

    CN114491932A

  • Triangular mesh model distance field generation method and system based on multi-information voxel

    CN115423973A

  • Feature identification and extraction method and device for field-based additive manufacturing digital model

    CN117172050A

  • Three-dimensional model rendering method and device, storage medium and electronic equipment

    CN119478195A

  • Three-dimensional model generation method and device based on porous structure and electronic equipment

    CN119579799A

Cited By

  • Filling method and device of three-dimensional component, electronic equipment and medium

    CN120472005A