CUBIT Research at the University of South Florida Presented by Eugene Fink
People CUBIT team Steve Owen Byron Hanks Faculty Sunil Saigal Eugene Fink Graduate students Shiraj Khan Matt Boonstra Undergrad students Kevin Albrecht Plamen Stoyanov Will Frost
Tasks Spatial indexing Surface flattening Format conversion Code cleanup Shiraj Khan Kevin Albrecht Matt Boonstra Plamen Stoyanov Will Frost
Tasks Spatial indexing Surface flattening Format conversion Code cleanup
, and areas, angles Preserve lengths Surface flattening Problem: Map a faceted sur- face into the plane x y z u v
Surface flattening Methods: Orthogonal projection, FacetProjParamTool RoadKill (by Alla Sheffer), FacetParamTool RoadKill with hole patching, FacetParamTool
Projection Flatten a faceted surface by projecting it onto a plane. x y z
Projection Find the best-fit plane If there are overlaps, then report a failure Drawback: Works only for near-flat surfaces. x y z Project onto this plane Else, convert the projection into two coordinates u v
RoadKill An algorithm for flattening faceted surfaces, by Alla Sheffer and Eric de Sturler (2001). Minimizes the deformation of angles Uses Newton’s method to solve a constrained minimization problem Drawback: Works only for surfaces without holes.
Patching holes Close all holes and then apply RoadKill. x y z
Patching holes Project a hole onto the best-fit plane Drawback: Works only for near-flat holes. x y z Triangulate the resulting projection Map the triangulation back onto the surface
Examples Orthogonal projection RoadKill (by Alla Sheffer) RoadKill with hole patching
Future extensions Patching complex holes Cracking faceted surfaces x y z u v
Tasks Spatial indexing Surface flattening Format conversion Code cleanup
Deletion of objects Addition of new objects Spatial indexing Problem: Indexing and retrieval of objects in three dimensions. Retrieval of the nearest neighbors Retrieval of the objects that intersect a given object
Spatial indexing Methods: Previous: R-trees (Guttman, 1984), RTree Current: KD -trees (Bentley, 1975), KDDTree Future: R*-trees (Beckmann et al.,1990), RStarTree
KD -trees A binary tree for indexing of points in multiple dimensions. a b c d e f a b c d e f This tree also allows: Indexing of boxes by their center points Indexing of arbitrary objects by their bounding boxes
KD -trees Advantages: Fast initial construction Fast retrieval of points Drawbacks: Slow insertion Slow deletion Performance in CUBIT : KD -trees are usually faster than R-trees.
Performance number of facets seconds KD -trees 1, , ,000 Initial construction 3 KD -trees are faster than R-trees: Construction is about 3 times faster Retrieval is about 1.5 times faster R- trees Retrieval of points KD -trees R- trees milliseconds 1, , ,000 3 number of facets
Future extensions Improving efficiency of KD -trees Implementing R*-trees
Tasks Spatial indexing Surface flattening Format conversion Code cleanup
Format conversion Converting between STL and facet format Loading and saving these formats Collapsing close points Facet format Binary STL ASCII STL
Close points Problem: Identify and collapse all pairs of closely located points. Methods: R-tree indexing, RTree Grid indexing, GridSearchTree d
Grid indexing Indexing of points by their locations in a grid of equal-size cubes.
Grid indexing Divide the space into cubes ; the edge length is twice larger than the collapsing distance 2 · d Index points by cube locations; each cube is a bucket of points Given a point, retrieve the points in the same cube and seven adjacent cubes d
Performance number of facets seconds ,000 10, , Exact comparisons Grid loading is ten to hundred times faster than R-tree loading. Grid indexing R-tree indexing
Future extensions Grid with templates for general use in CUBIT Basic repair of surfaces x y z x y z
Tasks Spatial indexing Surface flattening Format conversion Code cleanup
User commands for saving faceted surfaces in STL and facet format Newton-Raphson procedure in the advancing-front meshing Arguments and returned values in the procedures for cutting spatial objects Testing the beta version of CUBIT 8
Future tasks Topology extraction x y z Decimation of facets z x y Repair of surfaces x y z Smooth representation x y z
Future tasks Topology extraction Decimation of facets Repair of surfaces Smooth representation Plamen Stoyanov Kevin Albrecht New student Matt Boonstra