IP Library Granted Patent US 9,269,189
Granted Patent B1
US 9,269,189 · App. 13/827,243 · Granted Feb 23, 2016

Conversion of T-spline models to trim-free T-spline models: functional case

Inventors: Martin Cvetanov Marinov (Cambridge, GB); Adam Helps (Spanish Fork, UT); Gordon Thomas Finnigan (Cambridge, GB); Thomas Warren Sederberg (Orem, UT); Xin Li (Hefei, CN)
Assignee: Autodesk, Inc.
G06T17/205G06F17/5018
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 9,269,189
App. No.
13/827,243
Granted
Feb 23, 2016
Kind
B1
Abstract

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for constructing a trim-free T-spline surface and control mesh for a NURBS surface control grid of a B-rep face; modifying the trim-free T-spline control mesh to align the trim-free T-spline surface boundary with a functional trimming curve; and redefining one or more faces in the modified trim-free T-spline control mesh that is adjacent to the trimming curve as a variable knot spline face.

Claims (68)

1. A computer-implemented method comprising:

receiving an input boundary representation (B-rep) face and an associated functional trimming curve;

constructing a trim-free T-spline control mesh for a NURBS surface control grid of the input B-rep face;

aligning the trim-free T-spline control mesh with the functional trimming curve; and

generating a representation of the input B-rep face using untrimmed bicubic surface patches for each of one or more faces in the aligned trim-free T-spline control mesh that are adjacent to the functional trimming curve, wherein each bicubic surface patch is represented by a variable knot spline, and wherein at least one bicubic surface patch has a first sum of knot intervals on a first edge of the patch that does not equal a second sum of knot intervals on an opposing second edge of the bicubic surface patch.

2. The method of claim 1 , further comprising adjusting control points of one or more of the untrimmed bicubic surface patches so that each bicubic surface patch is G1 continuous with all of its neighboring patches.

3. The method of claim 1 , wherein generating the representation of the input B-rep face using untrimmed bicubic surface patches comprises:

labeling knot intervals in a variable knot spline control grid, the variable knot spline control grid corresponding to the control grid of the input B-rep face;

generating a bicubic surface patch for one or more faces of the variable knot spline control grid; and

adjusting control points along a boundary curve for one or more edges in each face that has a degree of six.

4. The method of claim 3 , further comprising generating respective face points for each face of the variable knot spline control grid including computing respective edge and vertex points for each face of the variable knot spline control grid.

5. The method of claim 3 , further comprising generating respective face points for each face of the variable knot spline control grid including generating respective face points for zero knot intervals in the variable knot spline control grid.

6. The method of claim 3 , further comprising generating respective variable knot spline face points for each face of the variable knot spline control grid.

7. The method of claim 1 , wherein at least one bicubic surface patch of the untrimmed bicubic surface patches is represented by a variable knot spline that includes T-junctions, and wherein generating the representation of the input B-rep face comprises:

assigning knot intervals to one or more edges that are split by a T-junction extension;

defining one or more blending functions for one or more variable knot splines with T-junctions;

splitting one or more macro patches into respective sub-patches;

determining respective pairs of tangent strips for each edge in the one or more edges; and

defining respective outermost two rows of control points for the respective sub-patches based on the respective pairs of tangent strips for the one or more edges.

8. The method of claim 6 , wherein control points for variable knot splines with T-junctions are linearly mapped to corresponding Bézier control points.

9. The method of claim 1 , wherein generating the representation of the input B-rep face using untrimmed bicubic surface patches for each face in the aligned trim-free T-spline control mesh that is adjacent to the functional trimming curve comprises:

optimizing control point positions in the trim-free T-spline control mesh.

10. A non-transitory computer storage medium having instructions stored thereon that, when executed by data processing apparatus, cause the data processing apparatus to perform operations comprising:

receiving an input boundary representation (B-rep) face and an associated functional trimming curve;

constructing a trim-free T-spline control mesh for a NURBS surface control grid of the input B-rep face;

aligning the trim-free T-spline control mesh with the functional trimming curve; and

generating a representation of the input B-rep face using untrimmed bicubic surface patches for each of one or more faces in the aligned trim-free T-spline control mesh that are adjacent to the functional trimming curve, wherein each bicubic surface patch is represented by a variable knot spline, and wherein at least one bicubic surface patch has a first sum of knot intervals on a first edge of the patch that does not equal a second sum of knot intervals on an opposing second edge of the bicubic surface patch.

11. The medium of claim 10 , further comprising adjusting control points of one or more of the untrimmed bicubic surface patches so that each bicubic surface patch is G 1 continuous with all of its neighboring patches.

12. The medium of claim 10 , wherein generating the representation of the input B-rep face using untrimmed bicubic surface patches comprises:

labeling knot intervals in a variable knot spline control grid, the variable knot spline control grid corresponding to the control grid of the input B-rep face;

generating a bicubic surface patch for one or more faces of the variable knot spline control grid; and

adjusting control points along a boundary curve for one or more edges in each face that has a degree of six.

13. The medium of claim 12 , further comprising generating respective face points for each face of the variable knot spline control grid including computing respective edge and vertex points for each face of the variable knot spline control grid.

14. The medium of claim 12 , further comprising generating respective face points for each face of the variable knot spline control grid including generating respective face points for zero knot intervals in the variable knot spline control grid.

15. The medium of claim 12 , further comprising generating respective variable knot spline face points for each face of the variable knot spline control grid.

16. The medium of claim 10 , wherein at least one bicubic surface patch of the untrimmed bicubic surface patches is represented by a variable knot spline that includes T-junctions, and wherein generating the representation of the input B-rep face comprises:

assigning knot intervals to one or more edges that are split by a T-junction extension;

defining one or more blending functions for one or more variable knot splines with T-junctions;

splitting one or more macro patches into respective sub-patches;

determining respective pairs of tangent strips for each edge in the one or more edges; and

defining respective outermost two rows of control points for the respective sub-patches based on the respective pairs of tangent strips for the one or more edges.

17. The medium of claim 16 , wherein control points for variable knot splines with T-junctions are linearly mapped to corresponding Bézier control points.

18. The medium of claim 10 , wherein generating the representation of the input B-rep face using untrimmed bicubic surface patches for each face in the aligned trim-free T-spline control mesh that is adjacent to the functional trimming curve comprises:

optimizing control point positions in the trim-free T-spline control mesh.

19. A system comprising:

one or more computers and one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising:

receiving an input boundary representation (B-rep) face and an associated functional trimming curve;

constructing a trim-free T-spline control mesh for a NURBS surface control grid of the input B-rep face;

aligning the trim-free T-spline control mesh with the functional trimming curve; and

generating a representation of the input B-rep face using untrimmed bicubic surface patches for each of one or more faces in the aligned trim-free T-spline control mesh that are adjacent to the functional trimming curve, wherein each bicubic surface patch is represented by a variable knot spline, and wherein at least one bicubic surface patch has a first sum of knot intervals on a first edge of the patch that does not equal a second sum of knot intervals on an opposing second edge of the bicubic surface patch.

20. The system of claim 19 , further comprising adjusting control points of one or more of the untrimmed bicubic surface patches so that each bicubic surface patch is G 1 continuous with all of its neighboring patches.

21. The system of claim 19 , wherein generating the representation of the input B-rep face using untrimmed bicubic surface patches comprises:

labeling knot intervals in a variable knot spline control grid, the variable knot spline control grid corresponding to the control grid of the input B-rep face;

generating a bicubic surface patch for one or more faces of the variable knot spline control grid; and

adjusting control points along a boundary curve for one or more edges in each face that has a degree of six.

22. The system of claim 21 , further comprising generating respective face points for each face of the variable knot spline control grid including computing respective edge and vertex points for each face of the variable knot spline control grid.

23. The system of claim 21 , further comprising generating respective face points for each face of the variable knot spline control grid

including generating respective face points for zero knot intervals in the variable knot spline control grid.

24. The system of claim 21 , further comprising generating respective variable knot spline face points for each face of the variable knot spline control grid.

25. The system of claim 19 , wherein at least one bicubic surface patch of the untrimmed bicubic surface patches is represented by a variable knot spline that includes T-junctions, and wherein generating the representation of the input B-rep face comprises:

assigning knot intervals to one or more edges that are split by a T-junction extension;

defining one or more blending functions for one or more variable knot splines with T-junctions;

splitting one or more macro patches into respective sub-patches;

determining respective pairs of tangent strips for each edge in the one or more edges; and

defining respective outermost two rows of control points for the respective sub-patches based on the respective pairs of tangent strips for the one or more edges.

26. The system of claim 25 , wherein control points for variable knot splines with T-junctions are linearly mapped to corresponding Bézier control points.

27. The system of claim 19 , wherein generating the representation of the input B-rep face using untrimmed bicubic surface patches for each face in the aligned trim-free T-spline control mesh that is adjacent to the functional trimming curve comprises:

optimizing control point positions in the trim-free T-spline control mesh.

Assignments (2)
CHANGE OF ADDRESS FOR ASSIGNEE Recorded Aug 19, 2022
From: AUTODESK, INC.
To: AUTODESK, INC.
Reel/Frame 061572/0061 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 12, 2013
From: MARINOV, MARTIN CVETANOV; HELPS, ADAM; FINNIGAN, GORDON THOMAS; SEDERBERG, THOMAS WARREN; LI, XIN
To: AUTODESK, INC.
Reel/Frame 031196/0447 →
Continuity (1)
Provisional Application 61744827 · Oct 3, 2012