Patent Publication Number: US-2023154130-A1

Title: Digital block out of digital preparation

Description:
CROSS-REFERENCE TO RELATED APPLICATION 
     This application is a continuation of U.S. patent application Ser. No. 16/804,444 filed on Feb. 28, 2020, now U.S. Pat. No. 11,562,547, the entirety of which is incorporated by reference herein in its entirety. 
    
    
     BACKGROUND 
     Specialized dental laboratories typically use computer-aided design (CAD) and computer-aided manufacturing (CAM) milling systems to manufacture dental prostheses based on patient-specific instructions provided by dentists. 
     In a typical work flow, the dental laboratories receive information about a patient&#39;s oral situation from a dentist. Using this information, the dental laboratory designs a digital dental prosthesis such as a dental restoration on the CAD system and manufactures the dental restoration on the CAM system with a mill or other fabrication system. To use the CAD/CAM system, a digital model of the patient&#39;s dentition can be used as an input to the process. In the case of a dental restoration such as a crown, for example, the digital preparation tooth for the dental crown can have concavities on its surface. The dental restoration typically generated from a digital preparation tooth has an inner side (cavity) whose surface mirrors the preparation tooth surface and can therefore have bumps in regions of concavities of the preparation tooth surface. This can make manufacturing of the dental restoration more difficult and time consuming. For example, milling of the dental restoration can be more time consuming since the mill will reproduce each concavity on the preparation tooth as a bump on the inner side of the dental restoration. In some cases, undercut regions on the preparation tooth can also complicate crown fabrication and placement. 
     SUMMARY 
     A computer-implemented method of performing a digital block-out of one or more digital preparation teeth includes: receiving a digital model comprising one or more digital preparation teeth, determining one or more concave digital surface regions on the one or more digital preparation teeth, and reducing concavity of the one or more concave digital surface regions. 
     A system for performing a digital block-out of one or more digital preparation teeth, includes a processor, a computer-readable storage medium comprising instructions executable by the processor to perform steps including: receiving a digital model comprising one or more digital preparation teeth, determining one or more concave digital surface regions on the one or more digital preparation teeth, and reducing concavity of the one or more concave digital surface regions. 
     A method of performing a digital block-out of one or more digital preparation teeth includes: loading a digital model comprising one or more digital preparation teeth, and initiating concavity reduction of the one or more digital preparation teeth. 
     A non-transitory computer readable medium storing executable computer program instructions for performing a digital block-out of one or more digital preparation teeth, the computer program instructions including instructions for: receiving a digital model comprising one or more digital preparation teeth, determining one or more concave digital surface regions on the one or more digital preparation teeth, and reducing concavity of the one or more concave digital surface regions. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG.  1    is a perspective view of a digital model having digital preparation teeth. 
         FIG.  2    is a perspective view of a single digital prepared tooth. 
         FIG.  3    is a 2 dimensional cross section illustration of a portion of a digital prepared tooth showing determining maximum vertex position. 
         FIG.  4    is a 2 dimensional cross section illustration of a portion of a digital prepared tooth showing digital surface vertices and their corresponding normals. 
         FIG.  5    is a 2 dimensional cross section illustration of a portion of a digital prepared tooth showing determining the maximum vertex position. 
         FIG.  6 (A)  is a 2 dimensional cross section illustration of a portion of a digital prepared tooth showing vertex normals and their corresponding maximum vertex position. 
         FIG.  6 (B)  is a 2 dimensional cross section illustration of a portion of a digital prepared tooth showing new vertex positions. 
         FIG.  7    is a 2 dimensional cross section illustration of a portion of a digital prepared tooth showing new vertex positions after first and second iterations. 
         FIG.  8    is a 2 dimensional cross section illustration of a portion of a digital prepared tooth with an undercut region. 
         FIG.  9    is a perspective view of a digital model having different regions. 
         FIGS.  10 (A) and  10 (B)  are illustrations of a Graphical User Interface showing a digital model and controls. 
         FIG.  11    is a flowchart of a method in some embodiments. 
         FIG.  12    is a flowchart of a method in some embodiments. 
         FIG.  13    is a system in some embodiments. 
     
    
    
     DETAILED DESCRIPTION 
     For purposes of this description, certain aspects, advantages, and novel features of the embodiments of this disclosure are described herein. The disclosed methods, apparatus, and systems should not be construed as being limiting in any way. Instead, the present disclosure is directed toward all novel and nonobvious features and aspects of the various disclosed embodiments, alone and in various combinations and sub-combinations with one another. The methods, apparatus, and systems are not limited to any specific aspect or feature or combination thereof, nor do the disclosed embodiments require that any one or more specific advantages be present or problems be solved. 
     Although the operations of some of the disclosed embodiments are described in a particular, sequential order for convenient presentation, it should be understood that this manner of description encompasses rearrangement, unless a particular ordering is required by specific language set forth below. For example, operations described sequentially may in some cases be rearranged or performed concurrently. Moreover, for the sake of simplicity, the attached figures may not show the various ways in which the disclosed methods can be used in conjunction with other methods. Additionally, the description sometimes uses terms like “provide” or “achieve” to describe the disclosed methods. The actual operations that correspond to these terms may vary depending on the particular implementation and are readily discernible by one of ordinary skill in the art. 
       FIG.  1    illustrates one example of a digital model  100  that can be generated by scanning a physical impression using any scanning technique known in the art including, but not limited to, for example, optical scanning, CT scanning, etc. The digital model  100  can also be generated by intraoral scanning of the patient&#39;s dentition, for example. One example is described in U.S. Patent Application No. US20180132982A1 to Nikolskiy et al., which is hereby incorporated in its entirety by reference. A conventional scanner typically captures the shape of the physical impression/patient&#39;s dentition in 3 dimensions during a scan and digitizes the shape into a 3 dimensional digital model. The digital model  100  can include multiple interconnected polygons in a topology that corresponds to the shape of the physical impression/patient&#39;s dentition, for example. In some embodiments, the polygons can include two or more digital triangles. In some embodiments, the scanning process can produce STL, PLY, or CTM files, for example that can be suitable for use with a dental restoration design software, such as FastDesign™ dental design software provided by Glidewell Laboratories of Newport Beach, Calif. 
     In some embodiments, the computer-implemented method can include, for example, receiving a digital model including one or more digital preparation teeth, determining one or more concave digital surface regions on the one or more digital preparation teeth, and reducing concavity of the one or more concave digital surface regions. 
       FIG.  1    illustrates an example in some embodiments of performing a digital block-out of one or more digital preparation teeth. In some embodiments, the digital block-out can be of a digital preparation tooth whose surface interfaces with any dental restoration cavity such as crowns, bridges, inlays/onlays, etc. for example. The computer-implemented method can receive a digital model  100  having one or more digital preparation teeth. The digital preparation teeth can be prepared, for example, by a user such as a dentist or dental technician, for example using dental restoration design software such as FastDesign™ or other design software known in the art in some embodiments. In some embodiments, the computer-implemented method can receive the digital model  100  that can include a first digital prepared tooth  102  and a second digital prepared tooth  104  and their corresponding margin lines, first digital prepared tooth margin line  106  and second digital prepared tooth margin line  108 , respectively, for example. The first digital prepared tooth margin line  106  and second digital prepared tooth margin line  108  can be established using any technique known in the art. For example, in some embodiments, a technician (user) can manually mark the margin line using an input device such as a mouse or touch screen while viewing the digital model  100  on a display. Another technique to determine one or more digital preparation teeth with their corresponding margin line can be found in U.S. patent application Ser. No. 16/778,406 of Nikolskiy et al., titled SEMI-AUTOMATIC TOOTH SEGMENTATION, the entirety of which is hereby incorporated by reference. Another technique to determine digital preparation teeth and their corresponding margin line is described in, for example,  Computer - aided Framework Design for Digital Dentistry  by Hong-Tzong Yau, Chien-Yu Hsu, Hui-Lang Peng and Chih-Chuan Pai in Computer-Aided Design &amp; Applications, 5(5), 2008, 667-675, the entirety of which is hereby incorporated by reference. Other techniques known in the art to specify digital preparation teeth and their corresponding margin line can be used. 
     More or fewer digital preparation teeth can be present in the digital model  100  in some embodiments, and the computer-implemented method can reduce concavity of one or more concave regions in each digital prepared tooth in the model. The digital teeth can be prepared to receive a dental restoration. In some embodiments, the dental restoration can be a crown, for example. 
       FIG.  2   , illustrates one example of a single digital prepared tooth  200  that can be part of a digital model. The remaining portion of the digital model is not shown for clarity. The digital prepared tooth  200  can include, for example, one or more concave digital surface regions. For example, the digital prepared tooth  200  can include a first concave digital surface region  202 , a second concave digital surface region  204 , and a third concave digital surface region  206 . More or fewer concave digital surface regions can be present on a digital prepared tooth such as digital prepared tooth  200  in some embodiments, for example. 
     In some embodiments, the computer-implemented method can determine one or more concave digital surface regions on the one or more digital preparation teeth.  FIG.  3    illustrates one example of a digital prepared tooth  300  surface region  302 . The digital surface region  302  is shown in a two dimensional cross section for clarity. It is understood that the digital surface region is a 3 dimensional digital surface. In some embodiments, the computer-implemented method can determine a concave surface region based on positions of neighboring vertices of a given vertex. In some embodiments, the position is along a normal of the given vertex. In some embodiments, the computer-implemented method can determine a normal for each vertex using techniques known in the art. One example of determining a normal for each vertex can be found in Baerentzen, J. A., &amp; Aances, H. (2005).  Signed Distance Computation Using The Angle Weighted Pseudonormal. IEEE Transactions on Visualization and Computer Graphics,  11(3), 243-253, the entirety of which is hereby incorporated by reference. For example, in some embodiments, the computer-implemented method can determine a given vertex normal by computing the unit normal for each triangular face around the given vertex and computing the vertex normal as the weighted sum of face normal with the weight equal to an incident angle as follows: 
     
       
         
           
             
               ▫ 
               ⁢ 
               
                 n 
                 ∝ 
               
             
             = 
             
               
                 
                   ∑ 
                   i 
                 
                 
                   
                     ∝ 
                     i 
                   
                   
                     n 
                     i 
                   
                 
               
               
                  
                 
                   
                     ∑ 
                     i 
                   
                   
                     
                       ∝ 
                       i 
                     
                     
                       n 
                       i 
                     
                   
                 
                  
               
             
           
         
       
     
     where the normal is n, i runs over the faces incident with x and   is the incident angle. Another technique to determine a given vertex normal known in the art can include computing face normal as described previously and then compute the given vertex normal as the weighted sum of face normal with the weight equal to the area of the face, for example. 
     In some embodiments, the computer-implemented method can determine neighboring vertex positions and determine a maximum position vertex from one or more neighboring vertices of the given vertex. The computer-implemented method can determine a neighboring vertex position by calculating its projected position on a normal of the given vertex. For example, the computer-implemented method can project a line from a neighboring vertex to the normal of the given vertex so that the projected line intersects the normal of the given vertex at 90 degrees. The computer-implemented method can determine a neighbor&#39;s position as the intersection point of the neighbor vertex&#39;s projected line with the normal of the given vertex. In some embodiments, the computer-implemented method can determine the maximum position vertex based on the position of each neighboring vertex&#39;s position on the normal of the given vertex. For example, in some embodiments, neighboring positions positioned toward the direction of the normal (higher up on the normal) can have a higher position value than those positioned further away from the direction of the normal (lower on the normal). In some embodiments, the computer-implemented method can determine the maximum position vertex as the neighboring vertex position with the highest value. 
     In some embodiments, the number of neighboring vertices evaluated can be two to six neighboring vertices (inclusive), for example. In some embodiments, the number of neighboring vertices can be greater than six. In some embodiments, the number of neighboring vertices to be evaluated can be a user-configurable value. 
     In some embodiments, the computer-implemented method can determine whether the given vertex is in a locally concave surface region or a locally convex surface region based on the maximum position vertex. For example, in some embodiments, if the maximum position vertex is positioned above the given vertex along its normal (e.g. closer to the normal direction than the given vertex), then the computer-implemented method can determine that the given vertex is in a locally concave region. If, on the other hand, the maximum position vertex is positioned below the given vertex along its normal (e.g. further away from the normal direction than the given vertex), then the computer-implemented method can determine that the given vertex is in a locally convex region. If the maximum position vertex is positioned at the given vertex along its normal, then the computer-implemented method can determine that the given vertex is in a locally non-concave digital surface region. 
     For example, as illustrated in  FIG.  3   , given vertex  304  has a first neighbor vertex  306  and a second neighbor vertex  308 . The computer-implemented method can determine a first neighbor vertex position  310  of the first neighbor vertex  306  by projecting a first neighbor vertex line  372  from the first neighbor vertex  306  to the given vertex normal  312  at 90 degrees to the given vertex normal  312 . Similarly, the computer-implemented method can determine a second neighbor vertex position  311  of the second neighbor vertex  308  by projecting a second neighbor vertex line  374  from the second neighbor vertex  308  to the given vertex normal  312  at 90 degrees to the given vertex normal  312 . In this example, the computer-implemented method can determine second vertex position  311  as the maximum position vertex since the second vertex position  311  is above the first vertex position  310  in the direction of the given vertex normal  312 . Since the maximum position vertex  311  is positioned above (or on the outer digital surface  314  region of) the given vertex  304  along its normal  312 , the computer-implemented method can in some embodiments determine that the given vertex  304  is in a concave region. 
     As another example, given convex vertex  320  has a first convex neighbor vertex  322  and a second convex neighbor vertex  324 . The computer-implemented method can determine a first convex neighbor vertex position  330  of the first convex neighbor vertex  322  by projecting a first convex neighbor vertex line  376  from the first convex neighbor vertex  322  to the given convex vertex normal  370  at 90 degrees to the given convex vertex  320 . Similarly, the computer-implemented method can determine a second convex neighbor vertex position  331  of the second convex neighbor vertex  324  by projecting a second convex neighbor vertex line  378  from the second convex neighbor vertex  324  to the given convex vertex  320  at 90 degrees to the given convex vertex  320 . In this example, the computer-implemented method can determine second convex neighbor vertex position  331  as the maximum position vertex since the second convex neighbor vertex position  331  is above the first convex neighbor vertex position  330  in the direction of the given convex vertex  320 . Since the maximum position vertex  331  is positioned below (or on the inner digital surface  315  region of) the given convex vertex  320  along its normal  370 , the computer-implemented method can in some embodiments determine that the given convex vertex  320  is in a convex region. The computer-implemented method can, in some embodiments, evaluate every vertex in this manner to identify one or more concave digital surface regions. 
     In some embodiments, the computer-implemented method can evaluate and classify every digital surface vertex as locally concave or locally convex or non-concave.  FIG.  4    illustrates one example of a digital prepared tooth  400  surface region  402 . The digital surface region  402  is shown in a two dimensional cross section for clarity. It is understood that the digital surface region is a 3 dimensional digital surface. Using the techniques described with respect to  FIG.  3    and in this disclosure, the computer-implemented method can determine first vertex  404 , second vertex  406 , a third vertex  408  with first vertex normal  410 , second vertex normal  412 , and third vertex normal  414 , respectively, as convex vertices. The computer-implemented method can determine a fourth vertex  416 , a fifth vertex  418 , and a sixth vertex  420  having fourth vertex normal  422 , fifth vertex normal  424 , and sixth vertex normal  426 , respectively, as concave vertices. The number of vertices shown in the figure is for illustrative purposes only; more or fewer vertices can be present in the digital model. 
     In some embodiments, the computer-implemented method can reduce concavity of the one or more concave digital surface regions. For example, in some embodiments, the computer-implemented method can reduce concavity of one or more concave vertices. In some embodiments, reducing concavity can include moving one or more vertices by a distance away from the digital surface. The computer-implemented method can thus push out the vertices and the one or more concave digital surface regions to reduce their concavity. In some embodiments, the computer-implemented method can reduce concavity of one or more concave regions based on a user-configurable value. For example, the distance can be proportionate to a user-configurable value. The computer-implemented method can receive the user-configurable value from a configuration file, for example. In some embodiments, the computer-implemented method can keep one or more locally convex regions intact. In some embodiments, the computer-implemented method can determine the distance based on a first and second neighbor vertex position. For example, the computer-implemented method can in some embodiments reduce concavity of one or more concave digital surface regions by moving one or more locally concave vertices along their respective normal(s) toward a maximum position vertex of its immediate neighbors. For example, in some embodiments, the computer-implemented method can determine the distance based on a first and second neighbor vertex position. In some embodiments, the computer-implemented method can move one or more locally concave vertices in the direction of their respective normal(s). In some embodiments, the computer-implemented method determines new positions of one or more vertices along their normals before moving the one or more vertices.  FIG.  5    illustrates a portion of a concave digital surface region  500  shown in a two dimensional cross section for clarity. It is understood that the digital surface region is a 3 dimensional digital surface.  FIG.  5    includes an initial concave digital surface  502  with a given vertex  504 . The given vertex  504  can have a first neighbor vertex  506 , a second neighbor vertex  508 , and a given vertex normal  510  determined as described previously in the present disclosure, for example. The computer-implemented method can determine a maximum position vertex  512  from a second neighbor vertex projection line  514  projected on to the given vertex normal  510  as described previously in the present disclosure, for example, since a projection line  513  from the first neighbor vertex  506  is lower or further away from the direction of the given vertex normal  510  than the second neighbor vertex projection line  514 . In some embodiments, the computer-implemented method can determine a new given vertex position as the maximum position vertex  512 . In some embodiments, the computer-implemented method can determine a new given vertex position anywhere in a direction  516  toward the maximum position vertex  512  along the given vertex normal  510 , for example. 
     In some embodiments, the computer-implemented method can determine the new given vertex position based on a user-configurable intensity value. For example, the computer-implemented method can receive an intensity value, which can be loaded from a configuration file, for example, or set by a user using an input device, for example. In some embodiments, the user-configurable intensity value can determine how close to the maximum position vertex the new given vertex position will be positioned. For example, the user-configurable intensity value can be a percentage or proportion of distance to the maximum position vertex  512  in a direction  516  along the given vertex normal  510 . Accordingly, in some embodiments, the computer-implemented can determine the new given vertex position based on a user-configurable percentage of the total distance to the maximum position vertex  512  from the given vertex  504 . For example, in some embodiments, the computer-implemented method can determine a new given vertex position  520  that is along the given vertex normal  510 . In some embodiments, the computer-implemented method can determine the new given vertex position as the maximum position vertex  512 , for example. As a further example, if the intensity value is set to, for example, 1, or 100%, then the computer-implemented method can determine the new given vertex position as the maximum position vertex  512 . However, if the intensity value is set to ½ or a value less than 1 or 100%, then the computer-implemented method can determine the new given vertex position as ½ the distance to the maximum position vertex  512  along the given vertex normal  510 , for example. In some embodiments, the computer-implemented method can move the given vertex  504  to the new given vertex position such as new given vertex position  520 , thus creating a reduced concavity digital surface region  522  with less concavity than the initial concave digital surface  502 , for example. 
     In some embodiments, the computer-implemented method can determine all new vertex positions from initial concave digital surface region vertices before moving each initial concave digital surface region vertex to its corresponding determined new vertex position as described previously, for example. For example,  FIG.  6 A  illustrates an initial digital surface  602  shown in a two dimensional cross section for clarity. It is understood that the initial concave digital surface region is a 3 dimensional digital surface. The computer-implemented method can determine an initial concave region  603  as described previously that includes a first initial vertex  616  and a second initial vertex  618 . The computer-implemented method can determine a maximum position corresponding to each initial vertex as described previously. For example, the computer-implemented method can determine a first maximum position  622  and a second maximum position  624  corresponding to the first initial vertex  616  and the second initial vertex  618 , respectively. The computer-implemented can, in some embodiments, determine new vertex positions of the initial vertices before moving the initial vertices. In some embodiments, the new vertex position can be between the initial vertex and its corresponding maximum position vertex or at the maximum position vertex as described previously, for example. In some embodiments, the new vertex position can be at the maximum position as described previously, for example.  FIG.  6 (B)  illustrates an example in some embodiments in which the computer-implemented method determines new vertex positions such as first new vertex position  616   a  and second new vertex position  618   a , corresponding to first initial vertex  616  and second initial vertex  618  prior to moving the initial vertices, for example. Once the computer-implemented determines the new vertex positions of all new vertices, the computer-implemented method can move the initial vertices to their corresponding new vertex positions. The computer-implemented method can determine the new vertex positions as described previously, for example. After the computer-implemented method moves the first initial vertex  616  and a second initial vertex  618  to the first new vertex position  616   a  and the second new vertex position  618   a , respectively, the new vertices can form a reduced concavity digital surface  670 , for example. 
     In some embodiments, the computer implemented method can reduce concavity in one or more concave regions by repeating the concave reduction process as described by a user configurable number of iterations. For example, in some embodiments, the computer-implemented method can receive the number of iterations. The computer-implemented method can in each iteration as described previously determine a normal of each vertex, determine a maximum position vertex of each vertex, determine one or more concave region vertices, determine a corresponding new vertex of each concave vertex, and move each concave vertex to its corresponding new vertex position. The computer-implemented method can in one or more subsequent iterations repeat the process. In some embodiments, the number of iterations can be 40 iterations, for example. More or fewer iterations can be applied in some embodiments. As more iterations are applied, the amount of concavity reduction in the one or more concave digital surface regions can increase. 
       FIG.  7    illustrates an example of applying two iterations of concavity reduction. The figure is an example only, and the computer-implemented method can apply one or more iterations. The figure includes an initial digital surface  702 , which is shown in a two dimensional cross section for clarity. It is understood that the digital surface region is a 3 dimensional digital surface. 
     In a first iteration, the computer-implemented method can determine first concave vertex  716  and second concave vertex  718  as concave vertices described previously. The computer-implemented method can determine a first new vertex position  720  and second new vertex position  722  of the first concave vertex  716  and the second concave vertex  718 , respectively, for example. The computer-implemented method can determine the first new vertex position  720  by comparing projection line positions of vertices neighboring the first concave vertex  716 , such as vertex  712  and second concave vertex  718  in some embodiments, for example. The computer-implemented method can determine the second new vertex position  722  by comparing projection line positions of vertices neighboring the second concave vertex  718 , such as first concave vertex  716  and vertex  713 , for example. Both new vertices can be determined as described previously. For example, in some embodiments, the new vertex positions can be at their corresponding maximum position vertex. In some embodiments, the new vertex positions can be at a proportionate distance between the concave vertex and its corresponding maximum position vertex. In some embodiments, the computer-implemented method can move the first concave vertex  716  to the first new vertex position  720  as first concave vertex  716   a  and the second concave vertex  718  to the second new vertex position  722  as second concave vertex  718   b , for example. 
     In a second iteration, the computer-implemented method can determine first concave vertex  716   a  and second concave vertex  718   a  as concave vertices as described previously in the present disclosure. The computer-implemented method can determine a third new vertex position  724  and fourth new vertex position  726  of the first concave vertex  716   a  and the second concave vertex  718   a , respectively, for example. The computer-implemented method can determine the third new vertex position  724  by comparing projection line positions of vertices neighboring the first concave vertex  716   a , such as vertex  712  and second concave vertex  718   a  in some embodiments, for example. The computer-implemented method can determine the fourth new vertex position  726  by comparing projection line positions of vertices neighboring the second concave vertex  718   a , such as first concave vertex  716   a  and vertex  713 , for example. Both new vertices can be determined as described previously. For example, in some embodiments, the new vertex positions can be at their corresponding maximum position vertex. In some embodiments, the new vertex positions can be at a proportionate distance between the concave vertex and its corresponding maximum position vertex. In some embodiments, the computer-implemented method can move the first concave vertex  716   a  to the third new vertex position  724  as first concave vertex  716   b  and the second concave vertex  718   a  to the fourth new vertex position  726  as second concave vertex  718   b , for example. The reduced concave digital surface can in this example include first concave vertex  716   b  and second concave vertex  718   b.    
     In some embodiments, the computer-implemented method can reduce one or more undercut regions. Undercut regions on a digital preparation tooth typically include regions of a high degree of concavity.  FIG.  8    is an illustration of an example of a digital prepared tooth  802  having one or more undercut regions such as undercut region  804 . As illustrated in the figure, the undercut region  804  on the digital preparation tooth  802  has a high degree of concavity. Placement of a crown  806  or other dental restoration can be challenging due to the high degree of concavity of the undercut region  804 . In some embodiments, the computer-implemented method can digitally block out one or more undercut regions such as undercut region  804  by reducing concavity on the digital preparation tooth. In some embodiments, the computer-implemented method can completely digitally block out one or more undercut region(s) by iteratively reducing concavity of one or more digital teeth as described previously in the present disclosure. 
     In some embodiments, the computer-implemented method can include reducing concavity based on a region of the digital tooth. For example, in some embodiments, the computer-implemented method can include reducing concavity in an inner region of a digital prepared tooth surface by an inner region amount and reducing concavity in a transition region of the digital prepared tooth surface by a transition region amount. In some embodiments, the transition region amount can be proportionate to a distance from a margin line of the digital prepared tooth, for example. In some embodiments, reducing concavity in a margin region can be skipped, for example.  FIG.  9    illustrates an example of a digital prepared tooth  900  that includes a dead zone region  902  adjacent to a margin line  904 , a transition region  906  adjacent to the dead zone region  902 , and an inner region  908  adjacent to the transition region  906 . The dead zone region  902  can have a dead zone boundary  910 . In some embodiments, the dead zone boundary  910  can be a dead zone boundary distance D 1  from the margin line  904 . In some embodiments, for example, the dead zone boundary distance can be a user-configurable value. In some embodiments, for example, the dead zone boundary distance D 1  can be, for example, 2 mm from the margin line  904 . The transition region  906  can include a transition region boundary  912 , for example. The transition region boundary  912  can separate the transition region  906  from the inner region  904 , for example. In some embodiments, the transition region boundary can be a distance D 2  from the margin line  904  such that D 2 &gt;D 1 . For example, the transition region boundary  912  can be 2.5 mm from the margin line  904  in some embodiments. 
     In some embodiments, the computer-implemented method can determine concavity reduction based on the region of the digital prepared tooth as follows: 
     For every point on the digital surface inside the margin line compute the distance d along the digital surface to the margin line. If the distance d is less than D 1  then the point in question in within dead zone and intensity there is set to zero. If the distance d is greater than D 2  then the point in question in within inner area and intensity there is set to a user-configurable value such as 1, for example (that is the vertex is moved to the position of its maximum position vertex). If the distance d is in between D 1  and D 2  then the point in question is within the transition region, and the intensity there can be defined by a function smoothly connecting from 0 at D 1  to 1 at D 2 . 
     For example, let
 
y=(d−D 1 )/(D 2 −D 1 ), then the intensity can be ƒ=y 2 *(3−2y). Other smoothing functions/values can be used.
 
     In some embodiments determining one or more concave digital surface regions and reducing their concavity as described can performed automatically. For example, determining one or more concave digital surface regions and reducing their concavity can be performed without requiring a user to select specific regions in which to reduce concavity. 
     In some embodiments, a user can load onto a computer a digital model that includes one or more digital preparation teeth and initiate concavity reduction of the one or more digital preparation teeth as described in the present disclosure. For example,  FIG.  10 (A)  illustrates Graphical User Interface (GUI)  1000  shown on a display with a digital prepared tooth  1002  which the user can load from a local file system, network, database, or other storage device known in the art. The digital prepared tooth  1002  can include a margin line  1004  and one or more concave regions  1006 , for example. A user can, using an input device such as a mouse or a touch screen, manipulate pointer  1008  to select, for example, a GUI element such as a check box  1010  to automatically block out the digital prepared tooth  1002 . After selecting the check box  1010 , the user can initiate concavity reduction of the digital prepared tooth  1002  by, for example, selecting another GUI element such as button  1012 , which in this example is an Update button. The computer-implemented method can perform block out using one or more features disclosed herein, for example.  FIG.  10 (B)  illustrates the same digital model after block out has been performed. The one or more concave regions  1006  have reduced concavity. Although particular GUI features are shown, they are for illustrative purposes. Other GUI features known in the art can be used. 
     Any of the features described herein can be performed automatically by the computer-implemented method. Any user-configurable values can be received by the computer-implemented method. In some embodiments, the user-configurable values can be received from a local or networked file system. In some embodiments, the user-configurable values can be received from other computer-implemented programs or functions. 
       FIG.  11    illustrates one embodiment of a computer-implemented method of performing a digital block-out of one or more digital preparation teeth. The method can include, for example, receiving a digital model including one or more digital preparation teeth at  1102 , determining one or more concave digital surface regions on the one or more digital preparation teeth at  1104 , and reducing concavity of the one or more concave digital surface regions at  1106 . 
     The method can include optional features. For example, any of the method steps can be performed automatically, including but not limited to, receiving a digital model including one or more digital preparation teeth at  1102 , determining one or more concave digital surface regions on the one or more digital preparation teeth at  1104 , and/or reducing concavity of the one or more concave digital surface regions at  1106 . For example, the one or more concave digital surface regions can include an undercut region. Reducing concavity of one or more concave digital surface regions can include digitally blocking out the undercut region. The digital tooth can be prepared for a crown. Reducing concavity can include: reducing concavity in an inner region of a digital tooth surface by an inner region amount and reducing concavity in a transition region of the digital tooth surface by a transition region amount. The transition region amount can be proportionate to a distance from a margin line of the digital tooth. A margin region can be skipped. Reducing concavity can include moving one or more vertices by a distance away from the digital surface. Moving one or more vertices can be along a normal of the vertex. The computer-implemented method can determine the distance based on a first and second neighbor vertex position. The distance can be proportionate to a user-configurable value. An inner region amount and the transition region amount can include a user-configurable value. Determining one or more concave digital surface regions can be performed automatically. 
       FIG.  12    illustrates a method of performing a digital block-out of one or more digital preparation teeth, including loading a digital model comprising one or more digital preparation teeth at  1202  and initiating concavity reduction of the one or more digital preparation teeth  1204 . These steps can be performed by a user using a computer, for example. 
     The method can include optional features. For example, the concavity reduction can be performed automatically. Concavity reduction can include determining one or more concave digital surface regions on the one or more digital preparation teeth and reducing concavity of the one or more concave digital surface regions. These can be performed automatically by the computer, for example. The one or more concave digital surface regions can include an undercut region. Reducing concavity of one or more concave digital surface regions can include digitally blocking out the undercut region. The digital tooth can be prepared for a crown. Reducing concavity can include: reducing concavity in an inner region of a digital tooth surface by an inner region amount and reducing concavity in a transition region of the digital tooth surface by a transition region amount. The transition region amount can be proportionate to a distance from a margin line of the digital tooth. A margin region can be skipped. Reducing concavity can include moving one or more vertices by a distance away from the digital surface. Moving one or more vertices can be along a normal of the vertex. The computer-implemented method can determine the distance based on a first and second neighbor vertex position. The distance can be proportionate to a user-configurable value. An inner region amount and the transition region amount can include a user-configurable value. Determining one or more concave digital surface regions can be performed automatically. 
     Some embodiments include a non-transitory computer readable medium storing executable computer program instructions for performing a digital block-out of one or more digital preparation teeth, the computer program instructions including instructions for: loading a digital model with one or more digital preparation teeth, determining one or more concave digital surface regions on the one or more digital preparation teeth and reducing concavity of the one or more concave digital surface regions. 
     The instructions can include optional features. For example, the concavity reduction can be performed automatically. Concavity reduction can include determining one or more concave digital surface regions on the one or more digital preparation teeth and reducing concavity of the one or more concave digital surface regions. These can be performed automatically by the computer, for example. The one or more concave digital surface regions can include an undercut region. Reducing concavity of one or more concave digital surface regions can include digitally blocking out the undercut region. The digital tooth can be prepared for a crown. Reducing concavity can include: reducing concavity in an inner region of a digital tooth surface by an inner region amount and reducing concavity in a transition region of the digital tooth surface by a transition region amount. The transition region amount can be proportionate to a distance from a margin line of the digital tooth. A margin region can be skipped. Reducing concavity can include moving one or more vertices by a distance away from the digital surface. Moving one or more vertices can be along a normal of the vertex. The computer-implemented method can determine the distance based on a first and second neighbor vertex position. The distance can be proportionate to a user-configurable value. An inner region amount and the transition region amount can include a user-configurable value. Determining one or more concave digital surface regions can be performed automatically. 
       FIG.  13    illustrates a processing system  14000  in some embodiments. The system  14000  can include a processor  14030 , computer-readable storage medium  14034  having instructions executable by the processor to perform one or more steps described in the present disclosure. 
     For example, some embodiments include a processing system  14000  for performing a digital block-out of one or more digital preparation teeth: a processor  14030 , a computer-readable storage medium  14034  including instructions executable by the processor to perform steps including: receiving a digital model having one or more digital preparation teeth  1460 , determining one or more concave digital surface regions on the one or more digital preparation teeth, and reducing concavity of the one or more concave digital surface regions. The system can provide a digital model with preparation tooth/teeth having one or more reduced concave regions  14040 . The digital model with preparation tooth/teeth having one or more reduced concave regions can be used to generate a dental restoration, for example. For example, the digital model with preparation tooth/teeth having one or more reduced concave regions can be provided to a CAM system or other fabrication system that can mill the dental restoration. 
     The system can include optional features. For example, the concavity reduction can be performed automatically. Concavity reduction can include determining one or more concave digital surface regions on the one or more digital preparation teeth and reducing concavity of the one or more concave digital surface regions. These can be performed automatically by the computer, for example. The one or more concave digital surface regions can include an undercut region. Reducing concavity of one or more concave digital surface regions can include digitally blocking out the undercut region. The digital tooth can be prepared for a crown. Reducing concavity can include: reducing concavity in an inner region of a digital tooth surface by an inner region amount and reducing concavity in a transition region of the digital tooth surface by a transition region amount. The transition region amount can be proportionate to a distance from a margin line of the digital tooth. A margin region can be skipped. Reducing concavity can include moving one or more vertices by a distance away from the digital surface. Moving one or more vertices can be along a normal of the vertex. The computer-implemented method can determine the distance based on a first and second neighbor vertex position. The distance can be proportionate to a user-configurable value. An inner region amount and the transition region amount can include a user-configurable value. Determining one or more concave digital surface regions can be performed automatically. 
     One or more advantages of one or more features in the present disclosure can include, for example, simplifying crown milling by reducing or eliminating concavities from the digital preparation tooth which the mill would have to reproduce as bumps or elevations on the crown. One or more advantages of one or more features in the present disclosure can include, for example, automatically reducing or removing concavities on the digital preparation tooth surface before creating a crown, thereby improving time and simplicity of subsequent crown fabrication. One or more advantages of one or more features in the present disclosure can include, for example, reducing or eliminating undercut regions that can complicate crown fabrication and/or placement. One or more advantages of one or more features in the present disclosure can include, for example, reducing or removing small concavities while making large concavities less pronounced. One or more advantages of one or more features in the present disclosure can include, for example, reducing or removing concavities without modifying an area immediately adjacent to the margin line. One or more advantages of one or more features in the present disclosure can include, for example, easier manufacture of an inner cavity of the crown (or bridge) improve the chance that the crown can be inserted on top of the prepared tooth. One or more advantages of one or more features in the present disclosure can include, for example, more smooth surface of the prepared tooth, thereby simplifying any subsequent manufacturing. One or more advantages of one or more features in the present disclosure can include, for example, improved insertion by full or partial elimination of undercuts. One or more advantages of one or more features in the present disclosure can include, for example, not requiring user-input to manually define a region where to apply digital block out. For example, one or more concave regions can be determined by the computer-implemented method, and concavities can be found automatically. One or more advantages of one or more features in the present disclosure can include, for example, more precise determination and reduction of one or more concave regions on the digital preparation tooth. One or more advantages of one or more features in the present disclosure can include, for example, application to a region of any shape (e.g. whole tooth prepared for the crown except for a boundary strip). 
     One or more of the features disclosed herein can be performed and/or attained automatically, without manual or user intervention. One or more of the features disclosed herein can be performed by a computer-implemented method. The features—including but not limited to any methods and systems—disclosed may be implemented in computing systems. For example, the computing environment  14042  used to perform these features can be any of a variety of computing devices (e.g., desktop computer, laptop computer, server computer, tablet computer, gaming system, mobile device, programmable automation controller, video card, etc.) that can be incorporated into a computing system comprising one or more computing devices. In some embodiments, the computing system may be a cloud-based computing system. 
     For example, a computing environment  14042  may include one or more processing units  14030  and memory  14032 . The processing units execute computer-executable instructions. A processing unit  14030  can be a central processing unit (CPU), a processor in an application-specific integrated circuit (ASIC), or any other type of processor. In some embodiments, the one or more processing units  14030  can execute multiple computer-executable instructions in parallel, for example. In a multi-processing system, multiple processing units execute computer-executable instructions to increase processing power. For example, a representative computing environment may include a central processing unit as well as a graphics processing unit or co-processing unit. The tangible memory  14032  may be volatile memory (e.g., registers, cache, RAM), non-volatile memory (e.g., ROM, EEPROM, flash memory, etc.), or some combination of the two, accessible by the processing unit(s). The memory stores software implementing one or more innovations described herein, in the form of computer-executable instructions suitable for execution by the processing unit(s). 
     A computing system may have additional features. For example, in some embodiments, the computing environment includes storage  14034 , one or more input devices  14036 , one or more output devices  14038 , and one or more communication connections  14037 . An interconnection mechanism such as a bus, controller, or network, interconnects the components of the computing environment. Typically, operating system software provides an operating environment for other software executing in the computing environment, and coordinates activities of the components of the computing environment. 
     The tangible storage  14034  may be removable or non-removable, and includes magnetic or optical media such as magnetic disks, magnetic tapes or cassettes, CD-ROMs, DVDs, or any other medium that can be used to store information in a non-transitory way and can be accessed within the computing environment. The storage  14034  stores instructions for the software implementing one or more innovations described herein. 
     The input device(s) may be, for example: a touch input device, such as a keyboard, mouse, pen, or trackball; a voice input device; a scanning device; any of various sensors; another device that provides input to the computing environment; or combinations thereof. For video encoding, the input device(s) may be a camera, video card, TV tuner card, or similar device that accepts video input in analog or digital form, or a CD-ROM or CD-RW that reads video samples into the computing environment. The output device(s) may be a display, printer, speaker, CD-writer, or another device that provides output from the computing environment. 
     The communication connection(s) enable communication over a communication medium to another computing entity. The communication medium conveys information, such as computer-executable instructions, audio or video input or output, or other data in a modulated data signal. A modulated data signal is a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media can use an electrical, optical, RF, or other carrier. 
     Any of the disclosed methods can be implemented as computer-executable instructions stored on one or more computer-readable storage media  14034  (e.g., one or more optical media discs, volatile memory components (such as DRAM or SRAM), or nonvolatile memory components (such as flash memory or hard drives)) and executed on a computer (e.g., any commercially available computer, including smart phones, other mobile devices that include computing hardware, or programmable automation controllers) (e.g., the computer-executable instructions cause one or more processors of a computer system to perform the method). The term computer-readable storage media does not include communication connections, such as signals and carrier waves. Any of the computer-executable instructions for implementing the disclosed techniques as well as any data created and used during implementation of the disclosed embodiments can be stored on one or more computer-readable storage media  14034 . The computer-executable instructions can be part of, for example, a dedicated software application or a software application that is accessed or downloaded via a web browser or other software application (such as a remote computing application). Such software can be executed, for example, on a single local computer (e.g., any suitable commercially available computer) or in a network environment (e.g., via the Internet, a wide-area network, a local-area network, a client-server network (such as a cloud computing network), or other such network) using one or more network computers. 
     For clarity, only certain selected aspects of the software-based implementations are described. Other details that are well known in the art are omitted. For example, it should be understood that the disclosed technology is not limited to any specific computer language or program. For instance, the disclosed technology can be implemented by software written in C++, Java, Perl, Python, JavaScript, Adobe Flash, or any other suitable programming language. Likewise, the disclosed technology is not limited to any particular computer or type of hardware. Certain details of suitable computers and hardware are well known and need not be set forth in detail in this disclosure. 
     It should also be well understood that any functionality described herein can be performed, at least in part, by one or more hardware logic components, instead of software. For example, and without limitation, illustrative types of hardware logic components that can be used include Field-programmable Gate Arrays (FPGAs), Program-specific Integrated Circuits (ASICs), Program-specific Standard Products (ASSPs), System-on-a-chip systems (SOCs), Complex Programmable Logic Devices (CPLDs), etc. 
     Furthermore, any of the software-based embodiments (comprising, for example, computer-executable instructions for causing a computer to perform any of the disclosed methods) can be uploaded, downloaded, or remotely accessed through a suitable communication medium. Such suitable communication medium include, for example, the Internet, the World Wide Web, an intranet, software applications, cable (including fiber optic cable), magnetic communications, electromagnetic communications (including RF, microwave, and infrared communications), electronic communications, or other such communication medium. 
     In view of the many possible embodiments to which the principles of the disclosure may be applied, it should be recognized that the illustrated embodiments are only examples and should not be taken as limiting the scope of the disclosure.