IP Library › Granted Patent US 12,455,551
Granted Patent B2
US 12,455,551 · App. 18/963,285 · Granted Oct 28, 2025

Morphing of watertight spline models using as-executed manufacturing data

Inventors: Benjamin Urick (Roseville, CA); Daniel L. Keller (Waitsfield, VT); Richard H. Crawford (Austin, TX)
Assignee: n Variate, Inc.
G05B19/4097
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,455,551
App. No.
18/963,285
Granted
Oct 28, 2025
Kind
B2
Abstract

Methods and computer systems for methods, computer systems, and computer-readable memory media for determining a warp function. An as-designed watertight spline model of an object is received. A set of sweep points along a sweep trajectory for manufacturing the object are used to determine a sweep surface. Model points are sampled from the as-designed watertight spline model and projected onto nearest as-executed points on the sweep surface. The projected as-executed points are used to construct an as-executed model of the object. A warp function is determined based on a difference between the as-designed watertight spline model and the as-executed model. The warp function is a continuous function approximating differences between the as-designed model and the as-manufactured object. The warp function is stored in a non-transitory computer-readable memory medium.

Claims (83)

1. A computer-implemented method, comprising:

performing, by a computer:

receiving an as-designed watertight spline model of a tangible object, wherein the as-designed watertight spline model is described in a Computer-Aided Design (CAD) model domain;

receiving a set of sweep points along a sweep trajectory for a manufacturing tool, wherein the manufacturing tool manufactures the tangible object along the sweep trajectory;

determining a sweep surface based at least in part on the set of sweep points;

sampling a plurality of model points on the as-designed watertight spline model;

projecting each model point of the plurality of model points onto a nearest as-executed point on the sweep surface to obtain a point-cloud of as-executed points on the sweep surface;

constructing an as-executed model of the tangible object based at least in part on the point-cloud of as-executed points and the as-designed watertight spline model, wherein the as-executed model comprises a watertight spline model, wherein a spline structure of the as-executed model is based at least in part on a spline structure of the as-designed watertight model;

determining a warp function based on a difference between the as-designed watertight spline model and the as-executed model of the tangible object, wherein the warp function comprises a continuous function approximating differences between the tangible object and the as-designed watertight spline model; and

storing the warp function in a non-transitory computer-readable memory medium.

2. The computer-implemented method of claim 1 ,

wherein determining the sweep surface based at least in part on the set of sweep points comprises:

determining an approximate sweep trajectory based on the set of sweep points; and

determining the sweep surface based at least in part on one or more of the approximate sweep trajectory, a physical shape of the manufacturing tool, and metadata associated with the manufacturing tool.

3. The computer-implemented method of claim 2 ,

wherein determining the approximate sweep trajectory based on the set of sweep points comprises interpolating between adjacent sweep points to construct the approximate sweep trajectory.

4. The computer-implemented method of claim 2 , further comprising:

receiving data describing an as-instructed sweep trajectory;

wherein determining the approximate sweep trajectory based on the set of sweep points comprises morphing the as-instructed sweep trajectory based on the set of sweep points.

5. The computer-implemented method of claim 4 , wherein the data describing the as-instructed sweep trajectory comprises:

as-instructed Computer-Aided Manufacturing (CAM) data; or

toolpath instructions.

6. The computer-implemented method of claim 1 ,

wherein each sweep point of the set of sweep points defines a respective location of the manufacturing tool at a respective point in time.

7. The computer-implemented method of claim 1 , further comprising:

manufacturing the tangible object based at least in part on the as-designed watertight spline model, wherein manufacturing the tangible object comprises utilizing the manufacturing tool along the sweep trajectory.

8. The computer-implemented method of claim 1 ,

wherein the manufacturing tool is configured to manufacture the tangible object by utilizing the sweep trajectory.

9. The method of claim 1 , further comprising:

receiving semantic product manufacturing information (PMI) for one or both of the as-designed watertight spline model and the as-executed model,

wherein constructing the as-executed model of the tangible object is performed further based at least in part on the semantic PMI.

10. The method of claim 9 ,

wherein constructing the as-executed model based at least in part on the semantic PMI comprises:

determining one or more constraints of the tangible object based on the semantic PMI; and

interpolating between adjacent as-executed points of the point cloud of as-executed points based on the one or more constraints, wherein the one or more constraints are determined based at least in part on a sampling density of the point cloud of as-executed points indicated by the semantic PMI.

11. The method of claim 9 ,

wherein constructing the as-executed model based at least in part on the semantic PMI comprises:

determining one or more control point derivatives for the as-executed model based at least in part on geometric constraints indicated by the semantic PMI.

12. The method of claim 1 ,

wherein constructing the as-executed model of the tangible object based at least in part on the point-cloud of as-executed points and the as-designed watertight spline model comprises performing an interpolation or approximation procedure of the point-cloud of as-executed points to the as-designed watertight spline model.

13. The method of claim 1 ,

wherein the warp function is determined in real time during a manufacturing process of the tangible object using the manufacturing tool, wherein the method further comprises:

modifying the manufacturing process based at least in part on the warp function.

14. The method of claim 13 ,

wherein modifying the manufacturing process based at least in part on the warp function comprises one or more of:

modifying the as-designed watertight spline model to compensate for one or more errors determined from the warp function; and

modifying one or more parameters of a manufacturing machine performing the manufacturing process based on the warp function.

15. The method of claim 14 ,

wherein modifying the one or more parameters of the manufacturing machine based on the warp function comprises:

determining a compensation function based on the warp function; and

providing the compensation function to the manufacturing machine to modify the one or more parameters.

16. The method of claim 1 , further comprising:

displaying, on a display, a colorized visual representation of the warp function.

17. The method of claim 1 ,

wherein constructing the as-executed model of the tangible object based at least in part on the point-cloud of as-executed points and the as-designed watertight spline model comprises:

performing an interpolation or approximation procedure utilizing a spline structure of the as-designed watertight spline model to determine a plurality of degrees, control points and knot vectors of the as-executed model of the tangible object.

18. The method of claim 17 , further comprising:

determining a discrepancy between the knot vectors of the as-executed model of the tangible object and knot vectors of the as-designed watertight spline model; and

performing knot insertion on the knot vectors of the as-designed watertight spline model to remove the determined discrepancy.

19. The method of claim 1 ,

wherein the as-executed model of the tangible object comprises a same spline structure as the as-designed watertight spline model.

20. The computer-implemented method of claim 1 , further comprising:

determining as-planned instructions for an inspection process of the tangible object based at least in part on metadata of the as-designed watertight spline model and the warp function, wherein the as-planned instructions are described in a Computer-Aided Inspection (CAI) model domain;

performing the inspection process on the tangible object according to the as-planned instructions to produce as-inspected data; and

storing the as-inspected data in the non-transitory computer-readable memory medium.

21. The computer-implemented method of claim 1 , further comprising:

determining as-preprocessed instructions for a simulation or analysis process of the tangible object based at least in part on metadata of the as-designed watertight spline model and the warp function, wherein the as-preprocessed instructions are described in a Computer-Aided Engineering (CAE) model domain;

performing the simulation or analysis process on the tangible object according to the as-preprocessed instructions to produce as-simulated data; and

storing the as-simulated data in the non-transitory computer-readable memory medium.

22. The computer-implemented method of claim 1 ,

wherein the set of sweep points comprise as-executed data for the manufacturing tool, wherein the method further comprises:

receiving as-instructed data for the manufacturing tool to manufacture the tangible object;

determining a univariate warp function based on a difference between the as-instructed data and the as-executed data; and

storing the univariate warp function in the non-transitory computer-readable memory medium.

23. A non-transitory computer-readable memory medium comprising program instructions which, when executed by a processor, cause a computer to:

receive an as-designed watertight spline model of a tangible object, wherein the as-designed watertight spline model is described in a Computer-Aided Design (CAD) model domain;

receive a set of sweep points along a sweep trajectory for a manufacturing tool, wherein the manufacturing tool manufactures the tangible object along the sweep trajectory;

determine a sweep surface based at least in part on the set of sweep points;

sample a plurality of model points on the as-designed watertight spline model;

project each model point of the plurality of model points onto a nearest as-executed point on the sweep surface to obtain a point-cloud of as-executed points on the sweep surface;

construct an as-executed model of the tangible object based at least in part on the point-cloud of as-executed points and the as-designed watertight spline model, wherein the as-executed model comprises a watertight spline model, wherein a spline structure of the as-executed model is based at least in part on a spline structure of the as-designed watertight model;

determine a warp function based on a difference between the as-designed watertight spline model and the as-executed model of the tangible object, wherein the warp function comprises a continuous function approximating differences between the tangible object and the as-designed watertight spline model; and

store the warp function in a non-transitory computer-readable memory medium.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 7, 2025
From: URICK, BENJAMIN; KELLER, DANIEL L.; CRAWFORD, RICHARD H.
To: NVARIATE, INC.
Reel/Frame 069768/0212 →
Continuity (2)
Provisional Application 63604626 · Nov 30, 2023
Related Publication 20250181056A1 · Jun 5, 2025
References Cited (26)
US 6996505B1 · Edelsbrunner · 2006 [cited by examiner]
US 7274364B2 · Sederberg · 2007 [cited by applicant]
US 9269189B1 · Marinov et al. · 2016 [cited by applicant]
US 9652696B2 · Won · 2017 [cited by applicant]
US 9996075B2 · Simon et al. · 2018 [cited by applicant]
US 20170368753A1 · Yang et al. · 2017 [cited by applicant]
US 20190033461A1 · Wingert · 2019 [cited by examiner]
US 20200074028A1 · Yang et al. · 2020 [cited by applicant]
US 20220245305A1 · Yang · 2022 [cited by examiner]
US 20230030783A1 · Urick et al. · 2023 [cited by applicant]
US 20230117766A1 · Yang et al. · 2023 [cited by applicant]
US 20230264264A1 · Prentice et al. · 2023 [cited by applicant]
Baumann et al. “From GCode to STL: Reconstruct Models from 3D Printing as a Service” from “IOP Conf. Series: Materials Science and Engineering 280 (2017) 012033” (Year: 2017). [cited by examiner]
International Search Report and Written Opinion in International Application No. PCT/US2023/027831, mailed Dec. 18, 2023, 21 pages. [cited by applicant]
Invitation to Pay Additional Fees and, Where applicable Protest Fee; International Application No. PCT/US2023/027831, mailed Oct. 26, 2023, 14 pages. [cited by applicant]
B. Urick, R. H. Crawford, R. Jennings, and G. Vernon, “Watertight Tensor-Product Spline Reconstruction,” United States Department of Energy, Kansas City, Missouri, Technical Report NSC-614-2949, 31 pages, Jul. 2020. [cited by applicant]
Lei, et al, “NURBS-based fast geometric error compensation for CNC machine tools”; International Journal of Machine Tool Design and Research, Pergamon Press, Oxford, GB; vol. 48, No. 3-4; Oct. 24, 2007; pp. 307-319. [cited by applicant]
Praveen, K. et al, “Tool path design system to enhance accuracy during double sided incremental forming: An analytical model to predict compensations for small/large components”; J. Manufacturing Processes; vol. 58; pp.… [cited by applicant]
Zhang, B. et al, “Distortion Prediction and NURBS Based Geometry compensation for Reducing Part Errors in Additive Manufacturing”; Procedia Manufacturing; vol. 48; pp. 706-717; 2020. [cited by applicant]
Urick, B. et al, “Reconstruction of Trimmed NURBS Surfaces for Gap-Free Intersections”; J. Computing & Information Science in Engineering; vol. 20; 2020; 14 pgs. [cited by applicant]
Sobh, T. et al, “Analyzing Manufacturing Tolerances for Sensing and Inspection”; Int'l J. Science Technology; 1998; 25 pgs. [cited by applicant]
L. A. Piegl and W. Tiller; “The NURBS Book”, 2nd ed. Berlin; New York: Springer; pp. 134-135, 232-235, 360-453, and 472-485; 1997. [cited by applicant]
G. Farin; “Curves and Surfaces for CAGD: A Practical Guide”; 5 edition. San Francisco, CA: Morgan Kaufmann, pp. 147-153; 2001. [cited by applicant]
E. Cohen, R. F. Riesenfeld, and G. Elber, “Geometric Modeling With Splines: An Introduction”; Natick, Mss: AK Peters, 2001; pp. 396-398 and 440-442. [cited by applicant]
Sarraga, R. F., “Modifying CAD/CAM Surfaces According to Displacements Prescribed at a Finite Set of Points” Computer Aided Design, Elsevier; vol. 36, No. 4, Feb. 2004; 7 pgs. [cited by applicant]
International Search Report and Written Opinion; International Publication No. PCT/US2024/057891; mailed Mar. 3, 2025; 19 pgs. [cited by applicant]