180 likes | 437 Views
U.S. Army Research, Development and Engineering Command. NURBS Methodology for BRL-CAD 26 July 2010. Edwin Davisson Software Development Branch Ballistics & NBC Division 410-278-6300/ ed.davisson@us.army.mil. Approved for Public Release – Distribution Unlimited.
E N D
U.S. Army Research, Development and Engineering Command NURBS Methodology for BRL-CAD 26 July 2010 Edwin Davisson Software Development Branch Ballistics & NBC Division 410-278-6300/ ed.davisson@us.army.mil Approved for Public Release – Distribution Unlimited
Approved for Public Release – Distribution Unlimited First, some definitions:What are NURBS? NURBS are non-uniform rational B-splines. They are a mathematical means by which complex (or simple) geometries can be modeled. Most commercial modeling systems, e.g. Pro/E or Rhino, use NURBS in a boundary representation (brep) of geometry, in which faces of an object are modeled by NURBS surface patches that are trimmed to fit together at object edges. The resulting collection of patches is a “trimmed NURBS brep”. I have loosely used the term NURBS in what follows to mean trimmed NURBS breps and their associated details. Approved for Public Release – Distribution Unlimited 2
Approved for Public Release – Distribution Unlimited A very simple example of a trimmed NURBS brep Approved for Public Release – Distribution Unlimited 3
Approved for Public Release – Distribution Unlimited What problem is being solved and why is it important? We are not generating geometry as quickly as needed for vulnerability studies and often must rely on codes that reduce fidelity and introduce errors that must be fixed. • Preparation of geometry is the most time-consuming part of a vulnerability analysis. • NURBS geometry is often provided by manufacturers to our geometry modeling team, but has not been directly useable for vulnerability analyses. • NURBS models currently must be converted to triangles, reducing the fidelity of the models, introducing overlapping regions, and requiring weeks of correction. If we implement tools to use NURBS models directly, we can speed up preparation of geometry, avoid conversion errors, and maintain model fidelity. Approved for Public Release – Distribution Unlimited 4
Approved for Public Release – Distribution Unlimited Alternatives to building our own capability More modelers: still left with reduced model fidelity and long timelines due to errors needing correction. Improved tools for dealing with faceted models: still left with reduced model fidelity and errors needing correction. Exclusive use of commercial ray-tracer tied to a single provider: still left with a risk for our core business. Adaptation is quicker when we are in control of the resources. Approved for Public Release – Distribution Unlimited 5
Approved for Public Release – Distribution Unlimited Currently: loss of model fidelityand more work due to overlaps BRL-CAD Ray-tracer conversion to facets (under Pro/E control) Pro/E model (NURBS) file BRL-CAD geometry file (facetized) Vulnerability/ Lethality analysis codes (MUVES-S2, MUVES 3,..) Tedious removal of overlaps introduced in conversion. (A week or more per description) Approved for Public Release – Distribution Unlimited 6
Approved for Public Release – Distribution Unlimited A busy map of our planned tools/capabilities BRL-CAD ray-tracer NURBS ray-tracer, NURBS healing code Pro/E model (NURBS) file Pro/E model (NURBS) file Commercial modeler (NURBS) file (Optimized for speed ) STEP (NURBS) file Importer BRL-CAD (trimmed NURBS) file Vulnerability/ Lethality analysis codes (MUVES-S2, MUVES 3,..) Exporter Any BRL-CAD geometry file NURBS facetizer NURBS Boolean evaluator BRL-CAD geometry (facetized) BRL-CAD editor, MGED Analysis results CSG to NURBS converter BRL-CAD unevaluated(NURBS) file Improved editor Approved for Public Release – Distribution Unlimited 7
Approved for Public Release – Distribution Unlimited What have we worked on and what are we doing? BRL-CAD ray-tracer NURBS ray-tracer, NURBS healing code Pro/E model (NURBS) file Pro/E model (NURBS) file Commercial modeler (NURBS) file (Optimized for speed ) STEP (NURBS) file Importer BRL-CAD (trimmed NURBS) file Vulnerability/ Lethality analysis codes (MUVES-S2, MUVES 3,..) Exporter Any BRL-CAD geometry file NURBS facetizer NURBS Boolean evaluator BRL-CAD geometry (facetized) BRL-CAD editor, MGED Analysis results CSG to NURBS converter BRL-CAD unevaluated(NURBS) file Improved editor Approved for Public Release – Distribution Unlimited 8
Approved for Public Release – Distribution Unlimited Two BRL-CAD imports of STEP files from different sources Cam shaft from a Kodak camera. STEP file found online and converted to BRL-CAD. Original modeling system unknown. Duck modeled in Rhino, exported to STEP, and imported (step-g) to BRL-CAD. Approved for Public Release – Distribution Unlimited 9
Approved for Public Release – Distribution Unlimited Our newest NURBS ray-tracer is more accurate and faster. In FY08 the NURBS ray-tracing images were riddled with errors, mostly near the edges where two parameter patches intersect. FY08 Current raytrace, end of FY09 In FY09 new ray-tracing preparation algorithms were developed that eliminated nearly all errors and improved ray-tracing speed as well. FY09 Approved for Public Release – Distribution Unlimited 10
Approved for Public Release – Distribution Unlimited The current ray-tracer accurately renders complex NURBS models OpenMoko cell phone. About 70 regions. Region size ranging from about 6 surface patches to over 100 patches. Approved for Public Release – Distribution Unlimited 11
Approved for Public Release – Distribution Unlimited All BRL-CAD primitives have NURBS representations, shown here: Approved for Public Release – Distribution Unlimited 12
Approved for Public Release – Distribution Unlimited How will we know when we are done ? We will be done when we can: • reliably import NURBS-based models from STEP into BRL-CAD without introducing overlapping regions. • visualize and manipulate BRL-CAD NURBS models in a shaded display mode. • reliably apply an optimized BRL-CAD NURBS ray-tracer to BRL-CAD NURBS models for use in vulnerability analyses. • export BRL-CAD NURBS to STEP (providing a round-trip capability in conjunction with the STEP NURBS importer to BRL-CAD). • convert existing BRL-CAD models to trimmed NURBS in BRL-CAD to support transitioning to these tools. Approved for Public Release – Distribution Unlimited 13
Approved for Public Release – Distribution Unlimited Collaborators, customers,and contributors Collaborators: • Geometric Modeling Team • MUVES 3 developers • MUVES-S2 developers Customers: • National Ground Intelligence Center • Joint Technical Coordination Group • Vulnerability analysts Contributors: • Open source contributors (47 permitted to commit; 26 of the 47 are/have been government or contractor. Of those 47, 18 have committed within the last 12 months; 11 of the 18 are government/contractor/or student.) • Participants in the Google Summer of Code Approved for Public Release – Distribution Unlimited 14
Approved for Public Release – Distribution Unlimited What have we learned? • Tolerances and numerics are, even more than we expected them to be, key in providing reliable NURBS capabilities. • Development of these tools is much faster when several people have dedicated time to immerse themselves in the issues. • Close interaction between developers and users vastly improves the resulting product. • Developers are most productive when tasks are matched with interests. Approved for Public Release – Distribution Unlimited 15
Approved for Public Release – Distribution Unlimited Next tasks for the Advanced Computer Systems Team During the next two to three years: • Improve STEP converter and optimize ray-tracer, applying user-testing feedback. • Develop code to heal NURBS to get reliable representations of imported NURBS models. • Work on boundary-aligned tessellations of trimmed NURBS for shaded display viewing and, when needed, for analysis codes requiring facetized geometry. • Develop a methodology for evaluating Boolean operations to get trimmed BRL-CAD NURBS. Approved for Public Release – Distribution Unlimited 16
Approved for Public Release – Distribution Unlimited Recent publications Interactive Raytracing: The nirt Command by Clifford Yapp, April 2009, ARL-CR-624, prepared by Quantum Research International, Inc. under contract W911QX-06-F-0057. Vehicle Tire and Wheel Creation in BRL-CAD by Clifford Yapp, April 2009, ARL-CR-625, prepared by Quantum Research International, Inc. under contract W911QX-06-F-0057. Various contributions to documentation and discussion at brl-cad.org . Approved for Public Release – Distribution Unlimited 17
Approved for Public Release – Distribution Unlimited Questions? Edwin Davisson Software Development Branch Ballistics & NBC Division 410-278-6300/ ed.davisson@us.army.mil Approved for Public Release – Distribution Unlimited 18