tab by cuiliqing

VIEWS: 25 PAGES: 18

									                       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 fidelity
                     and more work due to overlaps


                                                          BRL-CAD
                                                         Ray-tracer


                                                                               Vulnerability/
               conversion
                                  BRL-CAD                                        Lethality
Pro/E model    to facets
                                geometry file                                  analysis codes
(NURBS) file   (under Pro/E
                                 (facetized)                                    (MUVES-S2,
                control)
                                                                                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
                                                                                                 NURBS
                                                         NURBS                     BRL-CAD       ray-tracer,
                                                         healing                  ray-tracer
                                  Importer               code                                    (Optimized
Pro/E model
 Pro/E model
  Commercial                                                                                     for speed )
(NURBS) file
 (NURBS) file
    modeler                                                                            Vulnerability/
                      STEP                       BRL-CAD
  (NURBS) file     (NURBS) file                                                          Lethality
                                                 (trimmed                              analysis codes
                                                NURBS) file                             (MUVES-S2,
                                Exporter
                                                                                        MUVES 3,..)
                                                       NURBS
                      NURBS
Any BRL-CAD                                           facetizer
                      Boolean
 geometry
                      evaluator
    file
                                            BRL-CAD
     CSG to                                  editor,                 BRL-CAD
    NURBS                                    MGED                    geometry                  Analysis
    converter      BRL-CAD                                          (facetized)                results
                 unevaluated            Improved
                 (NURBS) file             editor
                           Approved for Public Release – Distribution Unlimited                            7
                           Approved for Public Release – Distribution Unlimited
                           What have we worked on
                           and what are we doing?
                                                                                                 NURBS
                                                         NURBS                     BRL-CAD       ray-tracer,
                                                         healing                  ray-tracer
                                  Importer               code                                    (Optimized
Pro/E model
 Pro/E model
  Commercial                                                                                     for speed )
(NURBS) file
 (NURBS) file
    modeler                                                                            Vulnerability/
                      STEP                       BRL-CAD
  (NURBS) file     (NURBS) file                                                          Lethality
                                                 (trimmed                              analysis codes
                                                NURBS) file                             (MUVES-S2,
                                Exporter
                                                                                        MUVES 3,..)
                                                       NURBS
                      NURBS
Any BRL-CAD                                           facetizer
                      Boolean
 geometry
                      evaluator
    file
                                            BRL-CAD
     CSG to                                  editor,                 BRL-CAD
    NURBS                                    MGED                    geometry                  Analysis
    converter      BRL-CAD                                          (facetized)                results
                 unevaluated            Improved
                 (NURBS) file             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.                     Duck modeled in Rhino, exported to
STEP file found online and converted               STEP, and imported (step-g) to BRL-
to BRL-CAD. Original modeling                      CAD.
system unknown.
                       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
                                      FY08             were riddled with errors, mostly near the
                                                       edges where two parameter patches
                                                       intersect.



                                                                                   Current raytrace,
                                                                                   end of FY09




       In FY09 new ray-tracing preparation
algorithms were developed that eliminated
 nearly all errors and improved ray-tracing             FY09
                             speed as well.
                            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

								
To top