Patent Description:
Dental practitioners often utilize a variety of dental appliances to re-shape or restore a patient's dental anatomy. The dental appliance may be either a stock design that is adapted with the dentist to individual patient or it may be a custom device constructed from a model of the patient's dental anatomy, augmented to a desired dental anatomy. The model may be a physical model or a digital model. Historically, the ability to build a model to form tight, but flossible, contacts in one step has proved challenging. Instead, dental practitioners employ a process that can be both time consuming and uncomfortable for the patient to separate formed contacts with blades, saws, and other tools.

<CIT> discloses creating a digital dental model of a patient's teeth using interproximal information.

The disclosure relates to techniques for designing a dental restoration appliance with improved customized interproximal contacts to reduce or eliminate the need to separate the interproximal contacts. In a first aspect, a first method includes generating a digital three-dimensional (3D) model of a future dental anatomy of a patient, the future dental anatomy representing an intended shape of at least one tooth of the patient, selecting one or more pairs of adjacent teeth in the 3D model, for each selected pair of teeth, determining a location and orientation in the interproximal space of the adjacent teeth to insert a digital 3D geometry having one or more initial parameters, and inserting the digital 3D geometry at the determined location and orientation. The one or more initial parameters of the digital 3D geometry can include at least one thickness that is greater than <NUM> and less than <NUM> microns. Furthermore, determining the location and orientation in the interproximal space can include offsetting the adjacent teeth causing the respective geometries of the adjacent teeth to intersect, determining a Boolean intersection result of the adjacent teeth, and determining a best fit plane based on the Boolean intersection result. In addition, determining the location and orientation in the interproximal space can include determining a point of contact between the adjacent teeth, determining a landmarking coordinate system for each one of the adjacent teeth, determining an average of the landmarking coordinate system based the landmarking coordinate for each one of the adjacent teeth, determining the orientation based on the determined average of the landmarking coordinate systems, and determining the location based on the point of contact between the adjacent teeth. The method can further include refining the digital 3D geometry. Refining the digital 3D geometry can include subdividing the 3D geometry into one or more portions between the lingual and facial ends of the 3D geometry and translating one or more portions of the 3D geometry relative to the digital 3D model to adjust the resulting 3D geometry within the digital 3D model. Refining the 3D digital geometry can also include placing a pre-defined 3D geometry at a location and orientation relative to the 3D model and scaling the pre-defined 3D geometry based on or more parameters of the 3D model. Refining the digital 3D geometry can also include the 3D geometry vertically into at least a first portion and a second portion and adjusting one or more parameters of each respective portion to adjust the resulting 3D geometry within the digital 3D model. The parameters can include at least one of a first thickness along the mesial-distal axis, a distance along the gingival-occlusal axis, and an offset of each respective portion. The parameters of each respective portion can be different for each of the respective portions. The method can further include generating a file that represents a 3D dimensional physical matrix that includes the 3D model and the refined 3D geometry and generating the physical matrix from the representation. Generating the physical matrix from the representation can include using a 3D printer to construct the physical matrix from the representation. In addition, the refining of the 3D geometry can include adding an ovoid cylinder to each instance of the digital 3D geometry, and the ovoid cylinder is bisected by the respective digital 3D geometry, for each added ovoid, aligning the respective ovoid midplane to the respective digital 3D geometry, for each digital 3D geometry, determining an angle between a respective parting surface and the respective 3D digital geometry, and for each digital 3D geometry, rotating the respective digital 3D geometry based on the respective determined angle causing the respective ovoid to match the tooth inclination of the respective teeth.

In a second aspect, a second method can include generating a digital three-dimensional (3D) model of a future dental anatomy of a patient, the future dental anatomy representing an intended shape of at least one tooth of the patient, selecting one or more pairs of teeth in the 3D model, wherein the teeth in the pair are adjacent, for each selected pair of teeth, determining a location and orientation in the interproximal space of the adjacent teeth to insert a digital 3D geometry having one or more initial parameters, inserting the digital 3D geometry at the determined location and orientation, refining the digital 3D geometry, generating a file that represents a 3D dimensional physical matrix that includes the 3D model and the refined 3D geometry, and generating the physical matrix from the representation.

<FIG> is a block diagram illustrating an example system <NUM> for designing and manufacturing a dental appliance for restoring the dental anatomy of a patient, in accordance with various aspects of this disclosure. In the example of <FIG>, system <NUM> includes clinic <NUM>, appliance design facility <NUM>, and manufacturing facility <NUM>.

Practitioner <NUM> may treat patient <NUM> at clinic <NUM>. For example, practitioner <NUM> may create a digital model of the current dental anatomy of patient <NUM>. The dental anatomy may include any portion of crowns or roots of one or more teeth of a dental archform, gingiva, periodontal ligaments, alveolar bone, cortical bone, implants, artificial crowns, bridges, veneers, dentures, orthodontic appliances, or any structure that could be considered part of the dentition before, during, or after treatment. In one example, the digital model of the current dental anatomy includes a three-dimensional (3D) model of the current dental anatomy of the patient. The 3D model may be generated using an intra-oral scanner, Cone Beam Computed Tomography (CBCT) scanning (i.e., 3D X-ray), Optical Coherence Tomography (OCT), Magnetic Resonance Imaging (MRI), or any other 3D image capturing system. In some examples, computing device <NUM> stores a digital model of a current dental anatomy of patient <NUM>.

Computing device <NUM> of clinic <NUM> may store a digital model of a future dental anatomy for the patient. The future dental anatomy represents the intended shape of the dental anatomy to be achieved by application of a dental appliance, such as dental appliance <NUM>. In one example, practitioner <NUM> may create a physical model of the future dental anatomy and may utilize an image capturing system (e.g., as described above) to generate the digital model of the future dental anatomy. In another example, practitioner <NUM> may modify the digital model of the current anatomy of patient <NUM> (e.g., by adding material to a surface of one or more teeth of the dental anatomy) to generate the digital model of the future dental anatomy. In yet another example, computing device <NUM> may modify the digital model of the current dental anatomy to generate a model of the future dental anatomy. In another example, the modification of the dental anatomy of the patient may occur offsite by a <NUM>rd party provider. Such modifications may be prescribed, reviewed, and modified by, or under the direction of, the practitioner <NUM>. The dental anatomy may be designed in a digital environment, alternatively a physical rendering of the initial dentition may be physically modified using conventional dental laboratory techniques (e.g. application of wax). This physical model of the teeth may be digitized via a 3D scanner.

In one scenario, computing device <NUM> outputs the digital model representing the dental anatomy (e.g., current and/or future) of patient <NUM> to another computing device, such as computing device <NUM> and/or computing device <NUM>. As illustrated in <FIG>, in some examples, computing device <NUM> of design facility <NUM>, computing device <NUM> of clinic <NUM>, and computing device <NUM> of manufacturing facility <NUM> may be communicatively coupled to one another via network <NUM>. Network <NUM> may include a wired or wireless network, such as via WIFI®, BLUETOOTH®, <NUM>, <NUM> LTE, <NUM>, and the like.

In the example of <FIG>, design facility <NUM> includes computing device <NUM> configured to automatically design a dental appliance for re-shaping the dental anatomy of patient <NUM>. In one example, computing device <NUM> includes one or more processors <NUM>, one or more user interface (UI) devices <NUM>, one or more communication units <NUM>, and one or more storage devices <NUM>.

UI device <NUM> may be configured to receive user input and/or output information, also referred to as data, to a user of computing device <NUM>. One or more input components of UI device <NUM> may receive input. Examples of input are tactile, audio, kinetic, and optical input, to name only a few examples. For example, UI device <NUM> may include a mouse, keyboard, voice responsive system, video camera, buttons, control pad, microphone, or any other type of device for detecting input from a human or machine. In some examples, UI device <NUM> may be a presence-sensitive input component, which may include a presence-sensitive screen, touch-sensitive screen, etc..

One or more output components of UI device <NUM> may generate output. Examples of output are data, tactile, audio, and video output. Output components of UI device <NUM>, in some examples, include a display device (e.g., a presence-sensitive screen, a touch-screen, a liquid crystal display (LCD) display, a Light-Emitting Diode (LED) display, an optical head-mounted display (HMD), among others), a light-emitting diode, a speaker, or any other type of device for generating output to a human or machine.

Processor <NUM> represents one or more processors such as a general-purpose microprocessor, a specially designed processor, an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a collection of discrete logic, or any type of processing device capable of executing the techniques described herein. In one example, storage device <NUM> may store program instructions (e.g., software instructions or modules) that are executed by processor <NUM> to carry out the techniques described herein. In other examples, the techniques may be executed by specifically programmed circuitry of processor <NUM>. In these or other ways, processor <NUM> may be configured to execute the techniques described herein.

Storage device <NUM> may, in some examples, also include one or more computer-readable storage media. Storage device <NUM> may be configured to store larger amounts of data than volatile memory. Storage device <NUM> may further be configured for long-term storage of data as non-volatile memory space and retain data after activate/off cycles. Examples of non-volatile memories include, solid state drives (SSDs), hard disk drives (HDDs), flash memories, or forms of electrically programmable memories (EPROM) or electrically erasable and programmable (EEPROM) memories. Storage device <NUM> may store program instructions and/or data associated with software components <NUM>-<NUM> and/or operating system <NUM>.

In the example of <FIG>, storage device <NUM> includes appliance feature library <NUM>, models library <NUM>, and practitioner preferences library <NUM>. Libraries <NUM>, <NUM>, and <NUM> may include relational databases, multi-dimensional databases, maps, and hash tables, or any data structure that stores data. In one example, models library <NUM> includes 3D models of the patient's current and/or future dental anatomy. As described in more detail below, the libraries <NUM>, <NUM>, and <NUM>, may include representations of interproximal 3D geometries. In some instances, libraries <NUM>, <NUM>, and <NUM> may be stored locally at computing device <NUM> or may be accessed via a networked file share, cloud storage, or other remote datastore.

Computing device <NUM> may execute software components <NUM>-<NUM> with one or more processors <NUM>. Computing device <NUM> may execute any of components <NUM>-<NUM> as or within a virtual machine executing on underlying hardware. In one example, any of components <NUM>-<NUM> may be implemented as part of operating system <NUM>.

In accordance with the techniques of this disclosure, computing device <NUM> automatically or semiautomatically generates a digital model of dental appliance <NUM> for restoring the dental anatomy of patient <NUM> based on a digital model of the patient's future dental anatomy. Pre-processor <NUM> may pre-process the digital model of the future dental anatomy of patient <NUM>. In one example, pre-processor <NUM> performs pre-processing to identify one or more teeth in the future dental anatomy of patient <NUM>. In some instances, pre-processor <NUM> identifies a local coordinate system for each individual tooth and may identify a global coordinate system that includes each tooth of the future dental anatomy. As another example, pre-processor <NUM> may pre-process the digital model of the future dental anatomy to identify the root structure of the dental anatomy. In another example, Pre-processor <NUM> may identify the gingiva. In this way, pre-processor <NUM> may determine portions of the future dental anatomy that include gingiva and portions of the future dental anatomy that include tooth. As yet another example, pre-processor <NUM> may pre-process the digital model of the future dental anatomy by extending the roots to identify the top surface of the root of each respective tooth.

Landmark identifier <NUM> may determine one or more landmarks of the future dental anatomy. Example landmarks include a slice, a midpoint, a gingival boundary, a closest point between two adjacent teeth (e.g., a point of contact between adjacent teeth or a point of closest approach (or closest proximity), a convex hull, a center of mass, or other landmark. A slice refers to a cross section of the dental anatomy. The midpoint of a tooth refers to a geometric center (also referred to as a geometrical midpoint) of the tooth within a given slice. The gingival boundary refers to a boundary between the gingiva and one or more teeth of the dental anatomy. A convex hull refers to a polygon whose vertices include a subset of the vertices in a given set of vertices, where the boundary of the subset of vertices circumscribes the entire set of vertices. The center of mass of a tooth refers to a midpoint, center point, centroid, or geometric center of the tooth. In some instances, landmark identifier <NUM> determines the landmarks in the local coordinate system for each tooth.

In some examples, landmark identifier <NUM> determines a plurality of slices of the patient's future dental anatomy. In one example, the thickness of each slice is the same. In some instances, the thickness of one or more slices is different than the thickness of another slice. The thickness of a given slice may be pre-defined. In one instance, landmark identifier <NUM> automatically determines the thickness of each slice. In another instance, the thickness of each slice may be user-defined.

Landmark identifier <NUM> determines, in some examples, a midpoint for each tooth. In one example, landmark identifier <NUM> determines a midpoint of a particular tooth by computing the extrema of the particular tooth's geometry based on the entirety of the particular tooth (e.g., without dividing the dental anatomy into slices) and determine the midpoint of the particular tooth based on the extrema of the tooth geometry.

In some examples, landmark identifier <NUM> determines a midpoint for each tooth for each slice. Landmark identifier <NUM> may determine the midpoint for a particular slice of a particular tooth by calculating the center of mass of a constellation of vertices around the edge of the particular tooth for that particular slice. In some instances, the midpoint of the particular tooth for the particular slice may be biased toward one edge of the tooth (e.g. in the case that one edge has more points than another edge).

In another example, landmark identifier <NUM> may determine the midpoint of a particular tooth in a particular slice based on a convex hull of the particular tooth for the particular slice. For example, landmark identifier <NUM> may determine a convex hull of a set of edge points of the tooth for a given slice. Landmark identifier <NUM> determines, in some instances, a geometric center from the convex hull by performing a flood-fill operation on the region circumscribed by the convex hull and computing a center of mass of the flood-filled convex hull.

In some examples, landmark identification module <NUM> determines a closest point between two adjacent teeth. The closest point between two adjacent teeth may be a point of contact or a point of closest approach. In one example, landmark identification module <NUM> determines a closest point between two adjacent teeth for each slice. In another example, landmark identification module <NUM> determines a closest point between two adjacent teeth based on the entirety of the adjacent teeth (e.g., without dividing the dental anatomy into slices).

A spline refers to a curve that passes through a plurality of points or vertices, such as a piecewise polynomial parametric curve. A mold parting surface refers to a 3D mesh that bisects two sides of one or more teeth (e.g., separates the facial side of one or more teeth from the lingual side of the one or more teeth). A gingival trim surface refers to a 3D mesh that trims an encompassing shell along the gingival margin. A shell refers to a body of nominal thickness. In some examples, an inner surface of the shell matches the surface of the dental arch and an outer surface of the shell is a nominal offset of the inner surface. The facial ribbon refers to a stiffening rib of nominal thickness that is offset facially from the shell. A window refers to an aperture that provides access to the tooth surface so that dental composite can be placed on the tooth. A door refers to a structure that covers the window. An incisal ridge provides reinforcement at the incisal edge of dental appliance <NUM> and may be derived from the archform. The case frame sparing refers to connective material that couples parts of dental appliance <NUM> (e.g., the lingual portion of dental appliance <NUM>, the facial portion of dental appliance <NUM>, and subcomponents thereof) to the manufacturing case frame. In this way, the case frame sparing may tie the parts of dental appliance <NUM> to the case frame during manufacturing, protect the various parts from damage or loss, and/or reduce the risk of mixing-up parts.

In some examples, custom feature generator <NUM> generates one or more splines based on the landmarks. Custom feature generator <NUM> may generate a spline based on a plurality of tooth midpoints and/or closest points between adjacent teeth (e.g., points of contact between adjacent teeth or points of closest proximity between adjacent teeth). In some instances, custom feature generator <NUM> generates one spline for each slice. In one instance, custom feature generator <NUM> generates a plurality of splines for a given slice. For instance, custom feature generator <NUM> may generate a first spline for a first subset of teeth (e.g., right posterior teeth), a second spline for a second subset of teeth (e.g., left posterior teeth), and a third spline for a third subset of teeth (e.g., anterior teeth).

Appliance feature library <NUM> includes a set of pre-defined appliance features that may be included in dental appliance <NUM>. Appliance feature library <NUM> may include a set of pre-defined appliance features that define one or more functional characteristics of dental appliance <NUM>. Examples of pre-defined appliance features include vents, rear snap clamps, door hinges, door snaps, an incisal registration feature, center clips, custom labels, a manufacturing case frame, a diastema matrix handle, among others. Each vent is configured to enable excess dental composite to flow out of dental appliance <NUM>. Rear snap clamps are configured to couple a facial portion of dental appliance <NUM> with a lingual portion of dental appliance <NUM>. Each door hinge is configured to pivotably couple a respective door to dental appliance <NUM>. Each door snap is configured to secure a respective door in a closed position. In some examples, an incisal registration feature comprises a male and female tab pair that falls on the incisal edge of dental appliance <NUM> (e.g., along the midsagittal). In one example, the incisal registration feature is used to maintain vertical alignment of a facial portion of dental appliance <NUM> and a lingual portion of dental appliance <NUM>. Each center clip is configured to provide vertical registration between the lingual portion of dental appliance <NUM> and the facial portion of dental appliance <NUM>. Each custom label includes data identifying a part of dental appliance <NUM>. The manufacturing case frame is configured to support one or more parts of dental appliance <NUM>. For example, the manufacturing case frame may detachably couple a lingual portion of dental appliance <NUM> and a facial portion of dental appliance <NUM> to one another for safe handling and transportation of dental appliance <NUM> from manufacturing facility <NUM> to clinic <NUM>.

According to other implementations, appliance feature library <NUM> can be configured to include one or more interproximal geometries that are inserted between adjacent teeth. This pre-defined geometry may include a library part, scaled geometry, and/or parametric shapes, to name a few examples. For instance, the appliance feature library <NUM> may include 3D fins of a uniform thickness. As another example, appliance feature library <NUM> may include 3D fins that are subdivided with each subdivision having a respective thickness, and the respective thickness can be altered to better conform with the spacing and orientation of the adjacent teeth. In general, the fins can have an initial thickness between <NUM> and <NUM> microns, according to particular implementations. For example, in one implementation, fins having a uniform thickness of <NUM> microns are stored in the appliance feature library <NUM>. And in yet another example, appliance feature library <NUM> may include ovoid cylinders that can be placed within interproximal spaces between adjacent teeth. Techniques for placing and refining interproximal geometries are described in more detail below.

Feature manager <NUM> determines the parameters of one or more pre-defined appliance features that are included in pre-defined appliance feature library <NUM>. In one example, the pre-defined appliance features are configured to perform functionality of dental appliance <NUM>. The parameters of the pre-defined appliance features may include the size, shape, scale, position, and/or orientation of the pre-defined appliance features. Feature manager <NUM> may determine the parameters of the pre-defined appliance features based on one or more rules. The rules may be pre-programmed or machine generated, for instance, via machine learning.

Feature manager <NUM> determines, in some instances, a placement of a rear snap clamp based on the rules. In one example, feature manager <NUM> positions two rear snap clamps along the archform on opposite ends of the archform (e.g., a first snap clamp at one end and a second snap clamp at another end). In some examples, feature manager <NUM> positions the rear snap clamps one tooth beyond the outer-most teeth to be restored. In some examples, feature manager <NUM> positions a female portion of the rear snap clamp on the lingual side of the parting surface and positions a male portion of the rear snap clamp on the facial side.

In some examples, feature manager <NUM> determines a placement of a vent based on the rules. In one example, feature manager <NUM> positions the vent at the midline of a corresponding door on the incisal side of dental appliance <NUM>.

In some scenarios, feature manager <NUM> determines a placement of a door hinge based on the rules. In one scenario, feature manager <NUM> positions each door hinge at the midline of a corresponding door. In one scenario, feature manager <NUM> positions the female portion of the door hinge to anchor to the facial portion of dental appliance <NUM> (e.g., towards the incisal edge of a tooth) and positions the male portion of the door hinge to anchor to the outer face of the door.

In one instance, feature manager <NUM> determines a placement of a door snap based on the rules by positioning the door snap along a midline of a corresponding door. In one instance, feature manager <NUM> positions the female portion of the door snap to anchor to an outer face of the door and extends downward toward the gingiva. In another instance, feature manager <NUM> positions the male portion of the door snap to anchor to the gingival side of the facial ribbon. For instance, the door snap may secure the door in a closed position by latching the male portion of the door snap to the facial ribbon.

In other examples, feature manager <NUM> may determine an initial placement, orientation, and thickness of one or more interproximal geometries in accordance with this disclosure.

Feature manager <NUM> may determine the parameters of a pre-defined appliance feature based on preferences of practitioner <NUM>. Practitioner preferences library <NUM> may include data indicative of preferences of various practitioner <NUM>. In one example, practitioner preferences directly affect the parameters of one or more appliance features. For example, practitioner preferences library <NUM> may include data indicating a preferred size of various appliance features, such as the size of the vents. In such examples, larger vents may enable the pressure of the dental composite or resin to reach equilibration faster during the door seating process but may result in a larger nub to finish after curing. In other examples, practitioner preferences library <NUM> may include data indicating a preferred initial size or shape of the interproximal geometries.

As another example, practitioner preferences indirectly affect the parameters of appliance features. For example, practitioner preferences library <NUM> may include data indicating a preferred stiffness of the appliance or a preferred tightness of the self-clamping feature. Such preference selections may also affect more complex design changes to section thickness of the matrix and or degree of activation of the clamping geometry. Feature manager <NUM> may determine the parameters of the appliance features by applying the practitioner preferences to one or more rules, a simulation (e.g., Monte Carlo) or finite element analysis. Feature parameters also may be derived from properties in the materials to be used with the matrix, such as type of composite that the dentist prefers to use with the appliance.

Model assembler <NUM> generates a digital 3D model of dental appliance <NUM> used to re-shape the dental anatomy (e.g., to the future dental anatomy) in response to determining the parameters of the custom and pre-defined appliance features. The digital model of dental appliance <NUM> may include a point cloud, 3D mesh, NURBS or other digital representation of dental appliance <NUM>. In some instances, model assembler <NUM> stores the digital model of dental appliance <NUM> in models library <NUM>.

Model assembler <NUM> may output the digital model of dental appliance <NUM>. For example, model assembler <NUM> may output the digital model of dental appliance <NUM> to computing device <NUM> of manufacturing facility <NUM> (e.g., via network <NUM>) to manufacture dental appliance <NUM>. In another example, computing device <NUM> sends the digital model of dental appliance <NUM> to computing device <NUM> of clinic <NUM> for manufacturing at clinic <NUM>. In some implementations, the model assembler <NUM> generates a computer-readable file that includes data describing the digital model of dental appliance <NUM>. This file may be stored in storage devices <NUM> and the file may be referenced by the system <NUM> in the future to refine the previous digital model or by the manufacturing system <NUM> to manufacture a physical matrix of the digital model.

Refinement module <NUM> can be used to refine the digital model of dental appliance <NUM>. For instance, the refinement module <NUM> can be used to modify one or more parameters of the digital model. In some implementations, the modification to the digital model includes modifying one or more parameters of the inserted interproximal geometries. Refinement module <NUM> can be configured to incrementally modify the digital model in response to received user input (e.g., from practitioner <NUM>) or may be configured to automatically refine the digital geometry using predefined rules or based on machine learning techniques.

In some implementations, the refinement module <NUM> may also graphically present the incremental refinements in real-time as the parameters of the digital model are being changed. For example, as the thickness or position of an interproximal fin is being modified in accordance with received user input, the refinement module <NUM> can update the parameters of the modified interproximal fin and demonstrate via UI devices <NUM> any changes to the interproximal fins relative to the digital model in real-time. In other implementations, the refinement module <NUM> can graphically present final refinements that are automatically computed using predefined rules or machine learning.

An advantage of graphically presenting the refinements (either incrementally or upon completion of the refinements) is that a user of system <NUM> (e.g., the practitioner <NUM>) can visually inspect the digital model of dental appliance <NUM> before the model is provided to the manufacturing system <NUM>. In some implementations, one or more aspects of the digital model of dental appliance <NUM> can be provided to the refinement module <NUM> before the system <NUM> provides the digital model to the model assembler <NUM>.

Computing device <NUM> may send the digital model of dental appliance <NUM> to manufacturing system <NUM>. Manufacturing system <NUM> manufactures dental appliance <NUM> according to the digital model of dental appliance <NUM>. Manufacturing system <NUM> may form dental appliance <NUM> using any number of manufacturing techniques, such as 3D printing, chemical vapor deposition (CVD), thermoforming, injection molding, lost wax casting, milling, machining, laser cutting, among others.

Practitioner <NUM> may receive dental appliance <NUM> and may utilize dental appliance <NUM> to re-shape one or more teeth of patient <NUM>. For example, practitioner <NUM> may apply a dental composite to the surface of one or more teeth of patient <NUM> via one or more doors of dental appliance <NUM>. Excess dental composite may be removed via one or more vents. In some situations, the presence of interproximal geometries in the dental appliance <NUM> gives practitioner <NUM> better control of the amount dental composite, or bonding material, used during a filling procedure with patient <NUM>. In general, advantages of using the techniques described herein include greatly reducing the need of practitioner <NUM> to remove excess dental composite. That can result in decreasing the time to treat patient <NUM> using the dental appliance <NUM> and limiting the practitioner's <NUM> to use saws, blades, and other tools to separate interproximal dental composite after it has cured.

In some examples, model assembler <NUM> generates a digital model of dental appliance <NUM> based on an existing digital model (e.g., stored in models library <NUM>). In one example, models library <NUM> may include data indicative of appliance success criteria associated with each completed dental appliance <NUM>, the appliance success criteria indicating a manufacturing print yield, practitioner and/or customer feedback or ratings, or a combination thereof. For example, model assembler <NUM> may utilize an existing digital model to generate a new or updated digital model of a dental appliance <NUM> in response to determining the appliance success criteria for the previous dental appliance <NUM> satisfy a threshold criteria (e.g., a threshold manufacturing yield, or a threshold practitioner rating). In one example, the existing digital model is a template or reference digital model. In such examples, model assembler <NUM> may generate a digital model of a dental appliance <NUM> based on the template digital model. For example, the template digital model may be associated with different characteristics of a potential patient's dental anatomy, such as the patient having small teeth or being unable to open the mouth widely.

In one example, model assembler <NUM> generates a digital model of a dental appliance <NUM> based on an existing digital model by utilizing one or more morphing algorithms. For example, model assembler <NUM> may utilize morphing algorithms to interpolate appliance feature geometries. In one instance, model assembler <NUM> may generate a new digital model of a dental appliance <NUM> based on the design of the existing digital model. In one instance, the design feature of an existing digital model may include a window inset from the perimeter, such that model assembler <NUM> may morph the geometry of the existing digital model based on landmarks for a different dental anatomy.

Techniques of this disclosure may enable a computing device to automatically determine the shape of dental appliance <NUM> and the placement of various appliance features. In this way, the computing device may more accurately and more quickly generate a digital model of a dental appliance <NUM>. More accurately determining the shape of dental appliance <NUM> and the placement of the appliance features may increase the efficacy of dental appliance <NUM> and the tooth restoration. Determining the shape of dental appliance <NUM> and placement of the appliance features more quickly may enable the practitioner to correct a patient's teeth more quickly, which may improve the appearance and/or functionality of the patient's teeth, thereby potentially improving the patient experience. Additionally, reducing the time required to generate the digital model of a dental appliance <NUM> may reduce the cost of production and making treatment affordable for a wider set of patients.

While computing device <NUM> is described as automatically generating a digital model of dental appliance <NUM> based on a digital model of a future dental anatomy of the patient, in some examples, computing device <NUM> may utilize a digital model of the current, unrestored state of the dental anatomy of the patient to generate all or part of the digital model of dental appliance <NUM>. For example, computing device <NUM> may utilize a digital model of the current dental anatomy to determine the position of snap clamps (which may be placed on teeth that are not to be restored) or generate the facial ribbon (e.g., as the gingival margin may not change during restoration).

<FIG> is a flow diagram illustrating an example technique <NUM> for generating a digital model of a dental appliance, in accordance with various aspects of this disclosure. <FIG> is described in the context of system <NUM> illustrated in <FIG>.

At step <NUM>, computing device <NUM> receives a digital 3D model of a future (i.e., desired) dental anatomy for a patient <NUM>. In one example, computing device <NUM> receives the digital model of the future dental anatomy from another computing device, such as computing device <NUM> of clinic <NUM>. The digital model of the future dental anatomy of the patient may include a point cloud or 3D mesh of the future dental anatomy. A point cloud includes a collection of points that represent or define an object in <NUM>-dimensional space. A 3D mesh includes a plurality of vertices (also referred to as points) and geometric faces (e.g., triangles) defined by the vertices. In one example, practitioner <NUM> creates a physical model of the future dental anatomy and utilizes an image capturing system to generate the digital model of the future dental anatomy. In another example, practitioner <NUM> modifies the digital model of the current anatomy of patient <NUM> (e.g., by adding material to a surface of one or more teeth of the dental anatomy) to generate the digital model of the future dental anatomy. In some cases, selective removal of tooth structure may be planned. In others, the designed future anatomy may consider dentist preference for subsequent treatment steps where, for instance, tooth embrasures may be over contoured in the digital model, because the dentist prefers to be able to hand adjust them during subsequent finishing. In yet another example, computing device <NUM> may modify the digital model of the current dental anatomy to generate a model of the future dental anatomy. As an alternative to practitioners or computers or appliance manufacturers creating the future dental anatomy, <NUM>rd party laboratories and technicians may be engaged in all or part of the dentition design work.

At step <NUM>, computing device <NUM> selects one or more pairs of teeth in the 3D model. For example, the computing device <NUM> can perform a search on the digital model and identify portions of the 3D mesh that represent the teeth present in the 3D model to automatically select portions of the 3D mesh that correspond to a pair of adjacent teeth. In other implementations, the teeth can be selected in response to user input. For example, a user can draw a bounding box around portions of the mesh that represent teeth and the computing device <NUM> can select those teeth in response to the user input. In other words, one or more teeth can be selected by computing device <NUM> using manual techniques (e.g., responsive to user input that highlights the specific elements of the 3D mesh that belong to the adjacent tooth pair) or automatic techniques (e.g., detecting the curvature change between adjacent mesh elements that represent tooth boundaries or applying tooth templates to the 3D mesh and determining tooth segmentation based on the applied templates). In addition, various combinations of automatic tooth segmentation, landmark identification and/or tooth identification algorithms may be used. Further deep learning algorithms may be used to assess the confidence in the automatic selection and flag selected tooth pairs for further review.

At step <NUM>, for each pair of selected teeth, the computing device <NUM> determines a location and orientation in the interproximal space between the selected adjacent teeth to insert a digital 3D geometry. There are several techniques that the computer device <NUM> can use to determine the location and orientation. In one example, the computing device <NUM> uses a Boolean intersection of the offset of the adjacent teeth to determine a best fit plane. The use of Boolean intersection is described in more detail, for example, in relation to <FIG>. In another example, the computing device <NUM> uses landmarking coordinate systems to determine the location and orientation. The use of landmarking coordinate systems is described in more detail elsewhere, for example, in relation to <FIG> and <FIG>.

At step <NUM>, computing device <NUM> inserts a digital 3D geometry at the determined location and orientation. For instance, a 3D fin can be inserted between the 3D meshes representing the adjacent teeth based on the determined location and orientation.

At step <NUM>, computing device <NUM> refines the digital 3D geometry using refinement module <NUM>. For instance, the refinement module <NUM> can receive user input and in response to the received user input modify a thickness parameter of one or more portions of the 3D fin. As another example, responsive to user input, the refinement module <NUM> can translate one or more portions of the 3D fin to reposition the respective portions in the interproximal space between the adjacent teeth. Such a refinement module may also refine the shape and cross section of the 3D fin to, for instance, create a ramp or a curve to improve the local strength, flexibility, registration to adjacent tooth structure, or ability of the fin to create desired geometry in the restoration while maintaining mechanical integrity throughout the molding, curing and removal process.

At step <NUM>, computing device <NUM> generates a file that represents a 3D dimensional dental appliance (such as dental appliance <NUM>) that includes the 3D model and the refined 3D geometry. For example, the computing device <NUM> can generate a file that specifies the 3D model using any number of conventional techniques.

At step <NUM>, computing device <NUM> generates the dental appliance <NUM> from the representation. For instance, the computing device <NUM> can transmit the file to the manufacturing system <NUM> that can generate the dental appliance <NUM> using any number of techniques, including 3D printing, CVD, thermoforming, injection molding, lost wax casting, milling, machining, laser cutting, among others.

<FIG> are conceptual diagrams illustrating example techniques for using a Boolean intersection result to determine a location and orientation for inserted interproximal geometry, in accordance with various aspects of this disclosure. The conceptual diagram is described in the context of system <NUM>. For instance, the <FIG> are described in the context of computing device <NUM>.

According to particular implementations, the computing device <NUM> offsets, or translates, the 3D meshes representing the adjacent teeth 302a and 302b causing the 3D meshes to intersect. The intersection <NUM> of the adjacent teeth 302a and 302b can be of various widths. For instance, in one implementation, the 3D meshes are offset so that they cause an intersection <NUM> of no more <NUM> microns. Specifically, in the example, each 3D mesh representing the adjacent teeth 302a and 302b are offset by <NUM> microns individually, which results in a <NUM>-micron intersection. Next, the computing device <NUM> determines a Boolean intersection result of the overlapping meshes. For example, using a Boolean intersection technique, the computing device <NUM> identifies and keeps the portion of the 3D meshes that are overlapping and discards the portion of the 3D meshes that do not overlap.

After the computing device <NUM> performs the Boolean intersection, the computing device <NUM> can also determine a best fit plane <NUM> of the remaining 3D meshes that corresponds to the adjacent teeth 302a and 302b. There are various techniques for determining best fit plane <NUM>. For instance, an iterative process can be used whereby a plane is generated and the plane's positioned refined until the average distance between each vertex of the intersection mesh and generated plane is minimized. Once a best fit plane <NUM> is determined the computing device <NUM> can thicken the plane. For example, as illustrated in <FIG>, the plane <NUM> is of a uniform thickness, such <NUM> microns. To complete the model refinement, the computing device <NUM> can perform a Boolean subtraction to generate a mode refinement that includes an interproximal space <NUM> for which 3D geometry can be inserted therein. This causes the 3D meshes corresponding to the adject teeth 302a and 302b to separate by the selected thickness within the model.

<FIG> illustrates a similar technique to the one shown in <FIG>. The primary difference is that, as illustrated in <FIG>, the plane is subdivided into regions (or zones) 508a, 508b, and 508c, with allows the computing device <NUM> to specify different parameters for each of the subdivisions. For instance, the computing device <NUM> can specify a first thickness of region 508a relative to the mesial-distal axis and a first distance along the gingival-occlusal axis. This allows the computing device <NUM> to generate a better fit for interproximal geometry that is inserted into the interproximal spaces 310a to 310c. That said, while <FIG> shows the best fit plane being subdivided into three regions, it should be understood that the best fit plane can be subdivided into any number of regions to refine the model according to the patient <NUM>'s needs. It also should be understood that the thickness may be zero and/or include values below the resolution limit of the fabrication device. In other examples, the geometries can be controlled to be greater than the proven minimal resolution of the fabrication device to assure that all of features of the device can be repeatedly fabricated, inspected and delivered into clinical use, irrespective of daily process variations of the fabrication device.

<FIG> is a block diagram illustrating an example technique for optimizing contact geometry, in accordance with various aspects of this disclosure. In some situations, the intersection or contact area between teeth may not occur in a convenient location with respect to the digital representation of the dental appliance <NUM>. <FIG> shows one example technique for how an initially determined location could be mapped to a more ideal location. In the disclosed technique, the initial location is modified to more closely align with the mold parting surface, although other optimization techniques are possible. As shown in in <FIG>, at a particular tooth represented by 3D mesh <NUM>, the computing device <NUM> can calculate the CG point of "contact bodies" <NUM>. Referring back to <FIG>, <NUM> represents an example contact body. That is, the used herein, "contact bodies" are defined as the volumes generated by intersecting the offset teeth. Used herein, "CG point" refers to the center of gravity of the contact bodies (here adjacent teeth). For instance, the CG point can be represented by the mathematical middle of the contact bodies and can be determined using conventional techniques.

The computing device <NUM> can also import a mold parting surface <NUM>, which as described above refers to a 3D mesh that bisects two sides of one or more teeth (e.g., separates the facial side of one or more teeth from the lingual side of the one or more teeth). For instance, the mold parting surface <NUM> can be generated using anatomical landmarks from within the patient's dentition. In one embodiment, the geometry of the mold parting surface <NUM> may be created to pass through the midpoint of each of a series of slices, or other subdivisions, of the teeth. Other embodiments and formulations are possible.

For example, mold parting surface <NUM> may be generated in other implementations using one or more neural networks. A generative adversarial neural network (GAN) may be used. A GraphCNN (graph convolutional neural network) may also be used. Furthermore, a combination of these and other networks may be used.

The computing device <NUM> then maps the CG point <NUM> to the intersection line of the mold parting surface <NUM> and the contact plane, which is the best fit plane relative to the intersecting teeth. For instance, referring back to <FIG>, computing device <NUM> can determine the location where the contact plane intersects the mold parting surface, which specifies the best fit plane <NUM>. After the computing device has mapped the CG point <NUM>, the computing device can generate a parametric oval at the new point <NUM>. For instance, in some implementations, the CG point <NUM> can be translated within the XY plane to determine the location of new point <NUM>. Computing device <NUM> can also determine the size of the parametric oval based on one or more parameters of the adjacent teeth. For example, the size of the parametric oval may be determined based on some combination of on average anatomical contact sizes of the adjacent teeth and which particular teeth are adjacent. As a result, for example, incisors, canines, and molars may all have differently shaped and differently sized contacts, according to particular implementations.

<FIG> is a conceptual diagram illustration how landmarking coordinate systems can be used to compute an orientation and location of the interproximal geometry, in according with various aspects of this disclosure. In the illustrated example, the computing device <NUM> identifies or otherwise determines a first collection of landmarking coordinate systems 502a of a first 3D mesh representing tooth 302a. For example, the first landmarking coordinate system can be represented by the X, Y, and Z axes as defined relative to the 3D mesh representing the first tooth 302a. Likewise, the computing device <NUM> identifies or otherwise determines a second collection of landmarking coordinate systems 502b of a second 3D mesh representing tooth 302b. According to particular implementations, the landmarking coordinate systems 502a and 502b can be determined automatically by based on the morphology present in the digital 3D model. In other implementations, a user can manually adjust the landmarking coordinate systems 502b until the landmarking coordinates visually reflect the desired outcome of the adjustments based on the expertise of the user. Although it should be understood that landmarking coordinates 502a and 502b can be determined in other ways as well.

The computing device <NUM> can then average the first landmarking coordinate systems 502a and 502b to compute the average landmarking system <NUM>. For instance, the computing device <NUM> can compute an average of the respective X, Y, and Z origins for the first landmarking coordinate system 502a and the second landmarking coordinate system 502b such that the distance <NUM> between the first landmarking coordinate system 502a and the average landmarking coordinate system <NUM> is the same or substantially similar to the distance <NUM> between the second landmarking coordinate system 502b and the average landmarking coordinate system <NUM>.

The computing device <NUM> can also compute an orientation angle of the landmarking coordinate system. According to particular implementations, first and second landmarking coordinate system axes 502a and 502b are surface normals. That is, the landmarking coordinate system axes 502a and 502b form imaginary lines oriented at <NUM>-degree angles relative to the surface of the to the teeth 302a and 302b, respectively. In other words, landmarking coordinate system axes 502a form an imaginary line perpendicular to the 3D mesh representing tooth 302a and landmarking coordinate system axes 502b form an imaginary line perpendicular to the 3d mesh representing tooth 302b. Using the surface normal allows the computing device <NUM> to compute the orientation angle of the average landmarking coordinate system axis <NUM>. For instance, according to particular implementations, the orientation angle for the average landmarking coordinate system axis <NUM> can be determined by the computing device <NUM> such that an angle <NUM> between the first landmarking coordinate system axis 502a is the same as an angle <NUM> between the second landmarking coordinate system axis 502b. Stated differently, the computing device <NUM> can determine the orientation angle of the average landmarking coordinate system axis <NUM> by determining the angle <NUM> between a surface normal represented by landmarking coordinate system axis 502a and average landmarking coordinate system axis <NUM> that is the same as the angle <NUM> between a surface normal represented by second landmarking coordinate system axis 502b and the average landmarking coordinate system axis <NUM>.

After the computing device <NUM> computes the orientation angle of the average landmarking coordinate system axis <NUM>, the computing device <NUM> can translate the average landmarking coordinate system to point <NUM>. In some implementations, point <NUM> represents a point where the 3D meshes that represent teeth 302a and 302b intersect. For instance, in one implementation, point <NUM> can be determined by generating a pair of points (one from each tooth mesh 302a and 302b) having a minimum distance between them and calculating the midpoint between them. In other implementations, point <NUM> may represent a point in the interproximal space between adjacent whereby the teeth are at a closest point without intersecting.

<FIG> are conceptual diagrams illustrating an example technique for refining interproximal geometry, in accordance with various aspects of this disclosure. In general, the concepts shown in <FIG> represent a refinement to the 3D model. For example, <FIG> demonstrate a 3D model after one or more 3D geometries (e.g., 3D fins 602a-<NUM>) have been inserted into respective interproximal spaces. As such, <FIG> are described in the context of computing device <NUM>, which may use refinement module <NUM> to perform the operations now described.

As shown in <FIG>, it may be advantageous to subdivide the interproximal 3D geometries 602a-<NUM> into facial portions 604a-<NUM> and lingual portions 606a-<NUM>, for example, by bisecting the interproximal 3D geometries using the computed mold parting surface, such as mold parting surface <NUM>. This allows the facial portions, represented by subdivisions 604d and 604e, and the lingual portions, represented by subdivisions 606d and 606e, of the interproximal 3D geometry to be moved independently to refine the positioning of the 3D interproximal geometry. For instance, as shown in <FIG>, facial subdivisions 604d and 604e and lingual subdivisions 606d and 606e can be displaced in response to input received by the refinement module <NUM> to reposition the respective subdivisions to improve the fit of the interproximal 3D geometry relative to the 3D meshes representing the adjacent teeth. In other words, the refinement module <NUM> can translate any of the subdivisions 604d, 604e, 606d, and 606e relative to the respective adjacent teeth to adjust the profile of the interproximal 3D geometry to refine the amount of contact, or level of tightness when flossing, between adjacent teeth.

<FIG>, <FIG>, <FIG>, <FIG> are conceptual diagrams illustrating example techniques for refining the interproximal geometry using ovoid cylinders. According to particular implementations, the ovoid cylinders are first placed as shown in <FIG>. Next, the orientation of the ovoid cylinders is modified as shown in <FIG>, <FIG>. As a result, <FIG>, <FIG>, <FIG>, <FIG> are described in the context of computing device <NUM>, which may use refinement module <NUM> to perform the operations now described.

<FIG> is a conceptual diagram illustrating an example technique for placing ovoid cylinders within the 3D model, in accordance with various aspects of this disclosure. The refinement module <NUM> can place contact planes 704a-<NUM> between the 3D meshes representing teeth 702a-<NUM> using the techniques described herein. For instance, in accordance with particular implementations, the refinement module <NUM> can determine the location of contact planes 704a-<NUM> by computing a best fit plane <NUM> as described in connection with <FIG>.

The refinement module <NUM> can then generate one or more ovoid cylinders, such as the example ovoid cylinders depicted as ovoid cylinders <NUM>. For instance, according to particular implementations, the ovoid cylinders can be stock ovoid cylinders stored in appliance feature library <NUM>. In other implementations, the ovoid cylinders can be scale version of the stock ovoid cylinders stored in appliance feature library <NUM>. In other implementations, the ovoid cylinders can be generated. For instance, the ovoid cylinders can be generated by scaling a cylinder along the Z and/or Y axis to modify the cylinders into ovoid shapes. As another example, the ovoid cylinders can be generated based on parametric equations according to the dimensions of the interproximal spaces between adjacent teeth. In other examples, the ovoid cylinders may be based on shapes measured in studies of contact anatomy. In such situations, the cross section of the cylinder may technically differ from an ovoid where for example, anatomical contacts have been found to be kidney-shaped, etc. In other examples the rules for generating the anatomical contacts may be different between pairs of teeth. For instance, an ovoid in a tooth pair with an existing contact between untreated teeth may be treated differently from a diastema or a tooth pair where only occlusal lengthening is being performed in the treatment. Using one or more ovoid cylinders, such as one or more of the ovoid cylinders <NUM>, contact windows, such as contact window <NUM>, can be inserted into the 3D model. For instance, according to particular implementations, the refinement module <NUM> can define the one or more contact planes 704a-<NUM> such that center of the contact planes 704a-<NUM> bisects the respective ovoid cylinders, such as one of the ovoid cylinders shown as ovoid cylinders <NUM>. Stated differently, refinement module <NUM> can use plane-to-plane alignment to place the ovoid cylinders in their respective interproximal contacts. For instance, the ovoid cylinders can be placed in the interproximal contact such that the midplane of the cylinder is fitted to the contact plane, such as contact planes 704a-<NUM>. One example of using the plane-to-plane alignment is depicted relative to the position of orientation of contact window <NUM>, although other positions and orientations are possible.

By placing an ovoid cylinder as described, the ovoid geometry defines a contact window, such as contact window <NUM>, through a respective contact plane. For instance, each one of the ovoid cylinders can be subtracted from the respective interproximal fins (e.g., using a Boolean subtraction technique) to generate the contact windows. This allows the 3D model to include contact windows having configurable sizes and shapes. And the configurable contact windows may allow for the generation of a dental appliance that creates precise and tight interproximal contacts that have minimal bonding between teeth, providing for a filling procedure that is quicker and less reliant on saws, blades, and other tools to separate adjacent teeth after the restorative has been cured.

<FIG>, <FIG> are conceptual diagrams illustrating example techniques for orienting ovoid cylinders, in accordance with various aspects of this disclosure. As shown in in <FIG>, the refinement module <NUM> can orient the ovoid cylinders 802a-<NUM> to account for varied tooth tip angles for teeth 804a-804j. For example, accordingly to particular implementations, the angle between the mold parting surface at each of the contact planes 704a-<NUM> can be calculated by determining an intersection curve where the mold parting surface and the contact plane intersect. According to particular implementations, a line can be best fit to this intersection curve and an angle between the best fit line and the Z-axis (i.e., vertical axis) can be determined.

The resulting angles for each of the contact planes 704a-<NUM> can then be used to rotate one or more ovoid geometries, such as one or more ovoid cylinders shown as ovoid cylinders <NUM>, so that the resulting contact windows match the orientation of the respective teeth. For example, an ovoid cylinder placed relative to contact plane <NUM> can be rotated by an amount equal to the calculated angle between the mold parting surface and the Z-axis (i.e., the vertical axis) as measured at the contact plane <NUM>. The ovoid cylinder is then subtracted (e.g., using a Boolean subtraction technique) from the interproximal fin inserted between the teeth <NUM> and <NUM> to generate a contact window with an angle of orientation that reflects the tooth inclination of teeth <NUM> and <NUM>.

Once the orientations of the cylinders 802a-<NUM> have been modified, the refinement module <NUM> can place the re-oriented cylinders 802a-<NUM> at their respective locations relative to the contact planes 704a-<NUM>. As shown in <FIG>, it should be appreciated that after rotation, the contact windows defined by the ovoid cylinders 802a-<NUM> present a natural, aligned, and parameterized contact definition for the 3D meshes representing teeth 804a-804j.

<FIG> show a different conceptual view of the ovoid cylinder 802c relative to the 3D mesh representing tooth 804c. As shown and described, ovoid cylinder 802c's angle of orientation now matches the inclination of the 3D mesh representing tooth 804c. According to particular implementations, and as described above, each one of the ovoid cylinders can be subtracted from the respective interproximal fins to generate the contact windows. It may also be advantageous to further refine one or more ovoid cylinders prior to generating a respective contact window. For instance, according to some implementations and as depicted by <FIG>, prior to subtraction, the ovoid cylinder 802c can be subdivided into lingual and facial components 902a and 902b, respectively. For instance, the refinement module <NUM> can subdivide ovoid cylinder 802c using the mold parting surface (such as a mold parting surface like mold parting surface <NUM>) of tooth 804c. In one implementation, the refinement module <NUM> can position the parting surface in such a way that it bisects the ovoid cylinder 802c to generate lingual component 902a and facial component 902b. This allows for even greater design control of the contact windows. For instance, the refinement module <NUM> can modify the position and orientation of lingual component 902a or facial component 902b instead of only modifying the position and orientation of the entire ovoid cylinder 802c.

<FIG> are flow diagrams illustrating example techniques for determining a location and an orientation of the interproximal geometry at step <NUM> of technique <NUM>. For clarity, the example techniques in <FIG> are described independently but it should be understood and appreciated that the techniques disclosed can be used in combination.

Turning to <FIG>, at step <NUM>, the computing device <NUM> offsets, or translates, the 3D meshes representing the adjacent teeth causing the 3D meshes to intersect. For instance, as illustrated and described in connection with <FIG>, the computing device <NUM> can translate 3D meshes representing teeth 302a and 302b. In one implementation, the 3D meshes are offset so that they intersect by no more <NUM> microns. At step <NUM>, the computing device <NUM> determines a Boolean intersection result of the overlapping meshes. For instance, computing device <NUM> can determine intersection <NUM> shown and described in connection with <FIG>. Step <NUM> is generally performed using conventional techniques. For example, using a Boolean intersection technique, the computing device <NUM> identifies and keeps the portion of the 3D meshes that are overlapping and discards the portion of the 3D meshes that do not overlap.

At step <NUM>, the computing device <NUM> determines a best fit plane based on the Boolean intersection result. For instance, computing device <NUM> can use conventional techniques to compute the best fit plane <NUM> shown and described in connection with <FIG> based on the Boolean intersection result.

Turning now to <FIG>, a technique for determining location and orientation are described using landmarking coordinate systems of adjacent teeth. At step <NUM>, computing device <NUM> determines a point of contact between the adjacent teeth. For example, as shown and described in <FIG>, the computing device <NUM> can determine point <NUM> by determining an intersection point of the 3D meshes representing teeth 304a and 304b.

At step <NUM>, the computing device <NUM> determines a landmarking coordinate system for each one of the adjacent teeth. For example, as shown and described in <FIG>, the computing device <NUM> can determine landmarking coordinate systems based on the morphology present in the digital 3D model, based on received user input, and using other techniques to determine landmarking coordinate systems.

At step <NUM>, the computing device <NUM> determines an average of the landmarking coordinate systems for each one of the adjacent teeth. For example, as shown and described in reference to <FIG>, the computing device <NUM> can compute an average of the respective X, Y, and Z coordinate system axes for the first landmarking coordinate system 502a and the second landmarking coordinate system 502b such that the distance <NUM> between the first landmarking coordinate system 502a and the average landmarking coordinate system <NUM> is the same or substantially similar to the distance <NUM> between the second landmarking coordinate system 502b and the average landmarking coordinate system <NUM>.

At step <NUM>, the computing device <NUM> determines the orientation based on the determined average of the landmarking coordinate systems. For example, as shown and described in <FIG>, the orientation angle for the average landmarking coordinate system <NUM> can be determined by the computing device <NUM> such that an angle <NUM> between the first landmarking coordinate system axis 502a is the same as an angle <NUM> between the second landmarking coordinate system axis 502b.

At step <NUM>, the computing device <NUM> determines the location based on the point of contact between the adjacent teeth. For example, as described in reference to <FIG>, the computing device <NUM> can translate the average landmarking coordinate system to point <NUM>. In other words, according to particular implementations, the computed average landmarking coordinate systems <NUM> are modified by the values of point <NUM> to determine the location.

<FIG> are flow diagrams illustrating example techniques for refining the digital 3D geometry at step <NUM> of technique <NUM>, in accordance with various aspects of this disclosure. In particular implementations, this involves customizing the interproximal geometry, in accordance with various aspects of this disclosure. For clarity, the example techniques in <FIG> are described independently but it should be understood and appreciated that one or more techniques illustrated in <FIG> can be used in combination to refine the digital 3D model, e.g., the digital 3D model representing dental appliance <NUM>.

Turning to <FIG>, at step <NUM>, the refinement module <NUM> subdivides the 3D geometry into one or more portions between the lingual and facial ends of the 3D geometry. For instance, as shown and described in <FIG>, refinement module <NUM> can subdivide 3D fins 602a-<NUM> into lingual ends 606a-<NUM> and facial ends 604a-<NUM> using a mold parting surface.

In step <NUM>, the refinement module <NUM> translates one or more portions of the 3D geometry relative to the digital 3D model to adjust the resulting 3D geometry within the digital 3D model. For instance, as shown and described in <FIG>, the refinement module <NUM> can translate facial portions 604d and/or 604e and lingual portions 606d and/or 606e to adjust the fit of the 3D fins 602d and/or 602e, respectively.

Turning to <FIG>, at step <NUM>, the refinement module <NUM> subdivides the 3D geometry vertically into at least a first portion and a section portion. For instance, as shown and described in reference to <FIG>, the refinement module <NUM> can subdivide a 3D fin into multiple zones 308a-308c.

In step <NUM>, the refinement module <NUM> adjust one or more parameters of each respective portion to adjust the resulting 3D geometry within the digital 3D model. The parameters can include the relative position of each of the respective portions, the thickness of the respective portions, and other parameters. For instance, as shown and described in reference to <FIG>, refinement module <NUM> can modify the thickness of zone 308a to have a different thickness than zones 308b and 308c. Likewise, refinement module <NUM> can modify the thickness of zones 308b and/or 308c.

In <FIG>, at step <NUM>, the refinement module <NUM> places a pre-defined 3D geometry at a location and orientation relative to the digital 3D model. For instance, as shown and described in reference to <FIG>, the refinement module <NUM> can place a pre-define plane <NUM> at the intersection of 3D meshes representing adjacent teeth 302a and 302b. As another example, as shown and described in reference to <FIG> and <FIG>, the refinement module <NUM> can insert a 3D fin at point <NUM> having an orientation equal to landmarking axis <NUM>.

In step <NUM>, the refinement module <NUM> scales the pre-defined 3D geometry based on one or more parameters of the 3D model. For instance, as shown and described in reference to <FIG>, the refinement module <NUM> can increase the thickness of the best fit plane <NUM> to generate 3D fin <NUM>. As another example, the refinement module <NUM> can scale any of 3D fins 602a-<NUM> to promote an improved interproximal fit between the 3D meshes representing adjacent teeth.

Turning to <FIG>, at step <NUM>, the refinement module <NUM> adds an ovoid cylinder to each instance of the digital 3D geometry. For example, as shown and described in relation to <FIG>, the refinement module <NUM> can insert one or more ovoid cylinders into contact planes 704a-<NUM> in the interproximal spaces of 3D meshes representing teeth 702a-<NUM>. Furthermore, according to particular implementations, the inserted 3D geometry is bisected by the respective digital 3D geometry. For instance, as shown and described in reference to <FIG>, the refinement module <NUM> module positions the ovoid cylinder (e.g., ovoid cylinder <NUM>) such that it bisects a contact plane generating a contact window <NUM>.

In step <NUM>, the refinement module <NUM> aligns the respective ovoid midplane to the respective digital 3D geometry. For example, as shown and described in relation to <FIG>, the respective ovoid midplane can be aligned to any inclination that is present in the respective teeth of the 3D model.

In step <NUM>, the refinement module <NUM> determines an angle between a respective parting surface and the respective digital 3D geometry. For example, as shown and described in relation to <FIG>, the angle between the mold parting surface at each of the contact planes 704a-<NUM> can be calculated. In other words, determining an angle between a respective parting surface may include determining an angle between a tooth's occlusal-gingival axis and the respective 3D digital geometry. The resulting values can then be used to rotate one or more ovoid geometries, such one or more ovoid cylinders represented by ovoid cylinders <NUM>, so that the resulting contact windows match the orientation of the teeth.

Claim 1:
A computer-implemented method for digitally designing interproximal geometry, the method comprising:
generating a digital three-dimensional (3D) model of a future dental anatomy of a patient (<NUM>), the future dental anatomy representing an intended shape of at least one tooth of the patient (<NUM>);
selecting one or more pairs of teeth (302a, 302b; 702a-l; 804a-j) in the 3D model,
wherein the teeth (302a, 302b; 702a-l; 804a-j) in the pair are adjacent;
for each selected pair of teeth (302a, 302b; 702a-l; 804a-j), determining a location and orientation in the interproximal space (<NUM>; 310a-c) of the adjacent teeth (302a, 302b) to insert a digital 3D geometry having one or more initial parameters; and
inserting the digital 3D geometry at the determined location and orientation.