Untrimming: Precise conversion of trimmed-surfaces to tensor-product surfaces

Abstract Trimmed B-spline surfaces are common in the geometric computer aided design (CAD) community due to their capability to represent complex shapes that can not be modeled with ease using tensor product B-spline and NURBs surfaces. However, in many cases, handling trimmed-surfaces is far more complex than tensor-product (non-trimmed) surfaces. Many algorithms that operate on tensor-product surfaces, such as algorithms toward rendering, analysis and manufacturing, need to be specially adapted to consider the trimming domains. Frequently, these special adaptations result in lack of accuracy and elevated complexity. In this paper, we present an algorithm for converting general trimmed surfaces into a set of tensor-product (typically B-spline) surfaces. We focus on two algorithms to divide the parametric space of the trimmed surface into four-sided quadrilaterals with freeform curved boundaries, which is the first step of the algorithm. Then, the quadrilaterals are parameterized as planar parametric patches, only to be lifted to the Euclidean space using a surface-surface composition, resulting in tensor product surfaces that precisely tile the input trimmed surface in Euclidean space. The algorithm is robust and precise. We show that we can handle complex, industrial level, objects, with numerous high orders and rational surfaces and trimming curves. Finally, the algorithm provides user control on some properties of the generated tensor-product surfaces.

[1]  Bernd Hamann,et al.  A tessellation algorithm for the representation of trimmed surfaces with arbitrary trimming curves , 1996, Comput. Aided Des..

[2]  Reinhard Klein,et al.  Efficient Trimmed NURBS Tessellation , 2004, WSCG.

[3]  Reinhard Klein,et al.  Multiresolution rendering by sewing trimmed NURBS surfaces , 2002, SMA '02.

[4]  Elaine Cohen,et al.  Practical Ray Tracing of Trimmed NURBS Surfaces , 2000, J. Graphics, GPU, & Game Tools.

[5]  Josef Hoschek,et al.  Spline conversion for trimmed rational Bézier- and B-spline surfaces , 1990, Comput. Aided Des..

[6]  Gershon Elber,et al.  Revisiting the problem of zeros of univariate scalar Béziers , 2016, Comput. Aided Geom. Des..

[7]  Falai Chen,et al.  Exact and approximate representations of trimmed surfaces with NURBS and Bézier surfaces , 2009, 2009 11th IEEE International Conference on Computer-Aided Design and Computer Graphics.

[8]  Gershon Elber,et al.  Modeling by composition , 2014, Comput. Aided Des..

[9]  David Bommes,et al.  Level-of-detail quad meshing , 2014, ACM Trans. Graph..

[10]  Hiroaki Chiyokura,et al.  Boolean operations on sets using surface data , 1991, SMA '91.

[11]  Gershon Elber,et al.  A B-spline based framework for volumetric object modeling , 2016, Comput. Aided Des..

[12]  Hongwei Lin,et al.  Watertight trimmed NURBS , 2008, ACM Trans. Graph..

[13]  K. C. Hui,et al.  Feature-based decomposition of trimmed surface , 2005, Comput. Aided Des..

[14]  Gershon Elber,et al.  Geometric constraint solver using multivariate rational spline functions , 2001, SMA '01.

[15]  D. Bommes,et al.  Mixed-integer quadrangulation , 2009, SIGGRAPH 2009.

[16]  Andre Schollmeyer,et al.  Direct trimming of NURBS surfaces on the GPU , 2009, ACM Trans. Graph..

[17]  Reuven Bar-Yehuda,et al.  Matching of freeform curves , 1997, Comput. Aided Des..

[18]  Pierre Alliez,et al.  Integer-grid maps for reliable quad meshing , 2013, ACM Trans. Graph..

[19]  Ron Goldman,et al.  Functional composition algorithms via blossoming , 1993, TOGS.

[20]  Les A. Piegl,et al.  Tessellating trimmed surfaces , 1995, Comput. Aided Des..

[21]  G. Klincsek Minimal Triangulations of Polygonal Domains , 1980 .

[22]  Neil A. Dodgson,et al.  Conversion of trimmed NURBS surfaces to Catmull-Clark subdivision surfaces , 2014, Comput. Aided Geom. Des..

[23]  Bruno Lévy,et al.  Quad‐Mesh Generation and Processing: A Survey , 2013, Comput. Graph. Forum.