Difference between revisions of "BRL-CAD"

From GICL Wiki
Jump to: navigation, search
 
(11 intermediate revisions by one user not shown)
Line 30: Line 30:
 
BRL-CAD is a collection of more than 400 tools, utilities, and applications comprising more than a million lines of source code. The package is intentionally designed to be extensively cross-platform and is actively developed on and maintained for many common operating system environments including for BSD, Linux, Solaris, Mac OS X, and Windows among others. BRL-CAD is distributed in binary and source code form as free open source software (FOSS), provided under Open Source Initiative (OSI) approved license terms.
 
BRL-CAD is a collection of more than 400 tools, utilities, and applications comprising more than a million lines of source code. The package is intentionally designed to be extensively cross-platform and is actively developed on and maintained for many common operating system environments including for BSD, Linux, Solaris, Mac OS X, and Windows among others. BRL-CAD is distributed in binary and source code form as free open source software (FOSS), provided under Open Source Initiative (OSI) approved license terms.
  
'''History:'''  
+
'''History:''' For more than 20 years, BRL-CAD has been the primary tri-service solid modeling CAD system used by the U.S. military to model weapons systems for vulnerability and lethality analyses. The solid modeling system is frequently used in a wide range of military, academic, and industrial applications including in the design and analysis of vehicles, mechanical parts, and architecture. The package has also been used in radiation dose planning, medical visualization, computer graphics education, CSG concepts and modeling education, and system performance benchmark testing among other purposes.
 
+
For more than 20 years, BRL-CAD has been the primary tri-service solid modeling CAD system used by the U.S. military to model weapons systems for vulnerability and lethality analyses. The solid modeling system is frequently used in a wide range of military, academic, and industrial applications including in the design and analysis of vehicles, mechanical parts, and architecture. The package has also been used in radiation dose planning, medical visualization, computer graphics education, CSG concepts and modeling education, and system performance benchmark testing among other purposes.
+
  
 
Mike Muuss began the initial architecture and design of BRL-CAD back in 1979. Development as a unified package began in 1983. The first public release was made in 1984. BRL-CAD became an open source project on December 21, 2004, with portions licensed under the LGPL and BSD licenses.
 
Mike Muuss began the initial architecture and design of BRL-CAD back in 1979. Development as a unified package began in 1983. The first public release was made in 1984. BRL-CAD became an open source project on December 21, 2004, with portions licensed under the LGPL and BSD licenses.
  
'''Example(s):''' Example file from a BRL-CAD database outputted as ASCII. This file contains two objects: a pipe and an ellipse.
+
'''Example(s):''' [[Example::BRL-CAD Example]]
title {Untitled BRL-CAD Database}
+
units mm
+
attr set {_GLOBAL}
+
put {ellipse} ehy V {0 0 -1000} H {0 0 2000} A {0 1 0} r_1 1000 r_2 500 c 500
+
put {pipe} pipe V0 { 0 0 -1000 } O0 500 I0 250 R0 500 V1 { 0 0 1000 } O1 500 I1 250 R1 500
+
 
+
  
 
'''Identifier:''' [[Identifier::http://brlcad.org/]]
 
'''Identifier:''' [[Identifier::http://brlcad.org/]]
Line 50: Line 42:
 
'''File Extensions:''' [[File Extension::g]]
 
'''File Extensions:''' [[File Extension::g]]
  
'''Applications:''' - Applications that the engineering format uses.
+
'''Applications:'''
  
* '''Native application(s):''' [[Native Application::Engineering Format Application Template]] - Applications which are primarily designed to specifically run this engineering format.
+
* '''Native application(s):''' [[Native Application::BRL-CAD]]
  
* '''Interoperable applications:''' [[Interoperable Application::Engineering Format Application Template]] - Applications which can read or write files of this format, but are not native applications for the format.
+
* '''Interoperable applications:''' N/A
  
'''Magic numbers:''' [[Magic Numbers::]] - Unique identifying characters at the beginning of files for this engineering format.
+
'''Magic numbers:''' N/A
  
'''Format(s):''' [[Format::]] - The MIME file types.
+
'''Format(s):''' Unknown
  
'''Rights:''' [[Rights::]] - The name or type of the license for the engineering format. Examples: BSD-style license, Apache License, Proprietary license
+
'''Rights:''' [[Rights::LGPL]], [[Rights::BSD]]
  
'''Sustainability Factors:''' - Facts about the sustainability of this particular engineering format.
+
'''Sustainability Factors:'''
  
* '''Standardization:''' [[Standardization::]] - Information regarding standardization attempts with this format.
+
* '''Standardization:''' [[Standardization::None]]
  
* '''Adoption:''' [[Adoption::]] - Information about how this format has been adopted by other organizations.
+
* '''Adoption:''' [[Adoption::None]]
  
** '''Licensing and patent claims:''' [[Licensing and patent claims::]] - Any licenses or patent claims that the engineering format makes.
+
** '''Licensing and patent claims:''' [[Licensing and patent claims::None]]
  
* '''Self-documentation:''' [[Self-documentation::]] - Any self-documentation capabilities of the format.
+
* '''Self-documentation:''' [[Self-documentation::None]]
  
* '''External dependencies:''' [[External dependencies::]] - Anything that the format depends on outside of its control to function.
+
* '''External dependencies:''' [[External dependencies::None]]
  
* '''Technical protection considerations:''' [[Technical protection considerations::]] - Any considerations that are necessary when it comes to technical protection.
+
* '''Technical protection considerations:''' [[Technical protection considerations::None]]
  
'''Typical use:''' [[Typical use::]] - Keywords that describe the format's typical use. Examples: CAD and CAM
+
'''Typical use:''' [[Typical use::CAD]]
  
'''File classification:''' - Specific properties that pertain to this engineering format.
+
'''File classification:'''
* '''Type {Binary, Text}:''' [[File Classification Type::]] - The type of file, choices are binary and text.
+
* '''Type {Binary, Text}:''' [[File Classification Type::Binary]]
* '''Raster data:''' - Section describes whether or not the engineering format supports raster data.
+
* '''Raster data:'''
** '''Raster data 2D:''' - Can the format support 2D raster data? Example: A format that can contain 2D pixelated data supports 2D raster data.
+
** '''Raster data 2D:'''
*** '''Is Supported:''' [[File Classification Raster Data 2D - Is Supported::]] - Is the feature supported in the engineering format?
+
*** '''Is Supported:''' [[File Classification Raster Data 2D - Is Supported::false]]
*** '''Description:''' [[File Classification Raster Data 2D - Description::]] - This field is used to describe the support or lack of support of the feature.
+
*** '''Description:''' [[File Classification Raster Data 2D - Description::Only supports shapes which are within the tool set provided with the program.]]
** '''Raster data 3D:''' - Can the format support 3D raster data? Example: A format that can contain 2D pixelated data of a 3D model supports 3D raster data.
+
** '''Raster data 3D:'''
*** '''Is Supported:''' [[File Classification Raster Data 3D - Is Supported::]] - Is the feature supported in the engineering format?
+
*** '''Is Supported:''' [[File Classification Raster Data 3D - Is Supported::false]]
*** '''Description:''' [[File Classification Raster Data 3D - Description::]] - This field is used to describe the support or lack of support of the feature.
+
*** '''Description:''' [[File Classification Raster Data 3D - Description::Only supports shapes which are within the tool set provided with the program.]]
* '''Geometric representation:''' - Section describes whether or not the engineering format supports geometric representations.
+
* '''Geometric representation:'''
** '''Implicit representation:''' - Section describes whether or not the engineering format supports implicit representations.
+
** '''Implicit representation:'''
*** '''Implicit surfaces:''' - Can the format support implicit surfaces? Example: A format that can contain surfaces that are generated with mathematical equations that contain the independent variables x, y, and z, like x^2 + y^2 + z^2 * R^2 = 0, supports implicit surfaces.
+
*** '''Implicit surfaces:'''
**** '''Is Supported:''' [[File Classification Implicit Surfaces - Is Supported::]] - Is the feature supported in the engineering format?
+
**** '''Is Supported:''' [[File Classification Implicit Surfaces - Is Supported::true]]
**** '''Description:''' [[File Classification Implicit Surfaces - Description::]] - This field is used to describe the support or lack of support of the feature.
+
**** '''Description:''' [[File Classification Implicit Surfaces - Description::Can specifically define planes.]]
*** '''Implicit curves:''' - Can the format support implicit curves? Example: A format that can contain curves that are generated with mathematical equations that contain the independent variables x, y, and z, supports implicit curves.
+
*** '''Implicit curves:'''
**** '''Is Supported:''' [[File Classification Implict Curves - Is Supported::]] - Is the feature supported in the engineering format?
+
**** '''Is Supported:''' [[File Classification Implicit Curves - Is Supported::true]]
**** '''Description:''' [[File Classification Implicit Curves - Description::]] - This field is used to describe the support or lack of support of the feature.
+
**** '''Description:''' [[File Classification Implicit Curves - Description::Arcs can be created using the arc tool.]]
*** '''Point set:''' - Can the format support point sets? Example: A format that supports surfaces and lines that are generated by points that form triangles supports point sets.
+
*** '''Point set:'''
**** '''Is Supported:''' [[File Classification Point Set - Is Supported::]] - Is the feature supported in the engineering format?
+
**** '''Is Supported:''' [[File Classification Point Set - Is Supported::false]]
**** '''Description:''' [[File Classification Point Set - Description::]] - This field is used to describe the support or lack of support of the feature.
+
**** '''Description:''' [[File Classification Point Set - Description::Points are not supported, only preselected shapes.]]
** '''Mesh:''' - Section describes whether or not the engineering format supports mesh.
+
** '''Mesh:'''
*** '''Manifold surface meshes:''' - Can the format support manifold surface meshes? Example: A format that supports surfaces that are mathematical spaces in which every point has a neighborhood which resembles Euclidean space
+
*** '''Manifold surface meshes:'''
**** '''Is Supported:''' [[File Classification Mainfold Surface Meshes - Is Supported::]] - Is the feature supported in the engineering format?
+
**** '''Is Supported:''' [[File Classification Mainfold Surface Meshes - Is Supported::true]]
**** '''Description:''' [[File Classification Manifold Surface Meshes - Description::]] - This field is used to describe the support or lack of support of the feature.
+
**** '''Description:''' [[File Classification Manifold Surface Meshes - Description::Any type of manifold surface.]]
*** '''Manifold volume meshes:''' - Can the format support manifold volume meshes? Example: A format that supports volumes that are mathematical spaces in which every point has a neighborhood which resembles Euclidean space
+
*** '''Manifold volume meshes:'''
**** '''Is Supported:''' [[File Classification Manifold Volume Meshes - Is Supported::]] - Is the feature supported in the engineering format?
+
**** '''Is Supported:''' [[File Classification Manifold Volume Meshes - Is Supported::true]]
**** '''Description:''' [[File Classification Manifold Volume Meshes - Description::]] - This field is used to describe the support or lack of support of the feature.
+
**** '''Description:''' [[File Classification Manifold Volume Meshes - Description::Purely faceted mesh surfaces.]]
*** '''Non-manifold meshes:''' - Can the format support non-manifold meshes? Example: A format that supports meshes that are not manifolds
+
*** '''Non-manifold meshes:'''
**** '''Is Supported:''' [[File Classification Non-manifold Meshes - Is Supported::]] - Is the feature supported in the engineering format?
+
**** '''Is Supported:''' [[File Classification Non-manifold Meshes - Is Supported::true]]
**** '''Description:''' [[File Classification Non-manifold Meshes - Description::]] - This field is used to describe the support or lack of support of the feature.
+
**** '''Description:''' [[File Classification Non-manifold Meshes - Description::None]]
** '''Parametric representation:''' - Section describes whether or not the engineering format supports parametric representations.
+
** '''Parametric representation:'''
*** '''Parametric surfaces:''' - Can the format support parametric surfaces? Example: A format that can contain surfaces that are generated with parametric equations supports parametric surfaces.
+
*** '''Parametric surfaces:'''
**** '''Is Supported:''' [[File Classification Parametric Surfaces - Is Supported::]] - Is the feature supported in the engineering format?
+
**** '''Is Supported:''' [[File Classification Parametric Surfaces - Is Supported::true]]
**** '''Description:''' [[File Classification Parametric Surfaces - Description::]] - This field is used to describe the support or lack of support of the feature.
+
**** '''Description:''' [[File Classification Parametric Surfaces - Description::Parameters can be set when creating the object.]]
*** '''Parametric curves:''' - Can the format support parametric curves? Example: A format that can contain curves that are generated with parametric equations supports parametric curves.
+
*** '''Parametric curves:'''
**** '''Is Supported:''' [[File Classification Parametric Curves - Is Supported::]] - Is the feature supported in the engineering format?
+
**** '''Is Supported:''' [[File Classification Parametric Curves - Is Supported::true]]
**** '''Description:''' [[File Classification Parametric Curves - Description::]] - This field is used to describe the support or lack of support of the feature.
+
**** '''Description:''' [[File Classification Parametric Curves - Description::Parameters can be set when creating the curve.]]
** '''Contour sets:''' - Can the format support contour sets?
+
** '''Contour sets:'''
*** '''Is Supported:''' [[File Classification Contour Sets - Is Supported::]] - Is the feature supported in the engineering format?
+
*** '''Is Supported:''' [[File Classification Contour Sets - Is Supported::false]]
*** '''Description:''' [[File Classification Contour Sets - Description::]] - This field is used to describe the support or lack of support of the feature.
+
*** '''Description:''' [[File Classification Contour Sets - Description::Does not support any sets.]]
** '''NURBS:''' - Can the format support Non Uniform Rational Basis Splines? Examples: The engineering formats IGES, STEP, ACIS, and PHIGS
+
** '''NURBS:'''
*** '''Is Supported:''' [[File Classification NURBS - Is Supported::]] - Is the feature supported in the engineering format?
+
*** '''Is Supported:''' [[File Classification NURBS - Is Supported::true]]
*** '''Description:''' [[File Classification NURBS - Description::]] - This field is used to describe the support or lack of support of the feature.
+
*** '''Description:''' [[File Classification NURBS - Description::It supports Uniform B-Spline and NURBS.]]
* '''Multi-resolution models:''' - Can the format support models with multiple resolutions? Examples: A format that supports a highly detailed and lowly detailed model simultaneously supports multi-resolution models.
+
* '''Multi-resolution models:'''
** '''Is Supported:''' [[File Classification Multi-resolution Models - Is Supported::]] - Is the feature supported in the engineering format?
+
** '''Is Supported:''' [[File Classification Multi-resolution Models - Is Supported::false]]
** '''Description:''' [[File Classification Multi-resolution Models - Description::]] - This field is used to describe the support or lack of support of the feature.
+
** '''Description:''' [[File Classification Multi-resolution Models - Description::All models are at the same resolution.]]
* '''Dynamics:''' - Section describes whether or not the engineering format supports dynamics.
+
* '''Dynamics:'''
** '''Kinematics:''' - Can the format support kinematics? Example: Does the format allow model parts to rotate?
+
** '''Kinematics:'''
*** '''Is Supported:''' [[File Classification Kinematics - Is Supported::]] - Is the feature supported in the engineering format?
+
*** '''Is Supported:''' [[File Classification Kinematics - Is Supported::true]]
*** '''Description:''' [[File Classification Kinematics - Description::]] - This field is used to describe the support or lack of support of the feature.
+
*** '''Description:''' [[File Classification Kinematics - Description::Any object can be rotated.]]
** '''Assembly:''' - Can the format support assembly? Example: Does the format allow the assembly instructions to be explicitly specified with a model?
+
** '''Assembly:'''
*** '''Is Supported:''' [[File Classification Assembly - Is Supported::]] - Is the feature supported in the engineering format?
+
*** '''Is Supported:''' [[File Classification Assembly - Is Supported::false]]
*** '''Description:''' [[File Classification Assembly - Description::]] - This field is used to describe the support or lack of support of the feature.
+
*** '''Description:''' [[File Classification Assembly - Description::No way to enter text.]]
** '''Force(s):''' - Can the format support forces? Example: Does the format support acceleration forces?
+
** '''Force(s):'''
*** '''Is Supported:''' [[File Classification Force - Is Supported::]] - Is the feature supported in the engineering format?
+
*** '''Is Supported:''' [[File Classification Force - Is Supported::false]]
*** '''Description:''' [[File Classification Force - Description::]] - This field is used to describe the support or lack of support of the feature.
+
*** '''Description:''' [[File Classification Force - Description::Everything is static.]]
* '''Boundary representation''' - Can the format support models with boundary representations?
+
* '''Boundary representation'''
** '''Manifold surface boundary representations:''' - Can the format support manifold surface boundary representations? Example: The engineering format STEP
+
** '''Manifold surface boundary representations:'''
*** '''Is Supported:''' [[File Classification Manifold Surface Boundary Representation - Is Supported::]] - Is the feature supported in the engineering format?
+
*** '''Is Supported:''' [[File Classification Manifold Surface Boundary Representation - Is Supported::false]]
*** '''Description:''' [[File Classification Manifold Surface Boundary Representation - Description::]] - This field is used to describe the support or lack of support of the feature.
+
*** '''Description:''' [[File Classification Manifold Surface Boundary Representation - Description::Objects can be placed inside one another.]]
** '''Manifold volume boundary representations:''' - Can the format support manifold volume boundary representations? Example: The engineering format STEP
+
** '''Manifold volume boundary representations:'''
*** '''Is Supported:''' [[File Classification Manifold Volume Boundary Representation - Is Supported::]] - Is the feature supported in the engineering format?
+
*** '''Is Supported:''' [[File Classification Manifold Volume Boundary Representation - Is Supported::false]]
*** '''Description:''' [[File Classification Manifold Volume Boundary Representation - Description::]] - This field is used to describe the support or lack of support of the feature.
+
*** '''Description:''' [[File Classification Manifold Volume Boundary Representation - Description::Objects can be placed inside one another.]]
** '''Non-manifold boundary representations:''' - Can the format support non-manifold boundary representations? Example: The engineering format STEP
+
** '''Non-manifold boundary representations:'''
*** '''Is Supported:''' [[File Classification Non-manifold Boundary Representation - Is Supported::]] - Is the feature supported in the engineering format?
+
*** '''Is Supported:''' [[File Classification Non-manifold Boundary Representation - Is Supported::false]]
*** '''Description:''' [[File Classification Non-manifold Boundary Representation - Description::]] - This field is used to describe the support or lack of support of the feature.
+
*** '''Description:''' [[File Classification Non-manifold Boundary Representation - Description::Non-manifolds are not supported.]]
* '''Material transparency:''' - Can the format support transparency? Example: Does the format allow models to have a clear window in a car?
+
* '''Material transparency:'''
** '''Is Supported:''' [[File Classification Material Transparency - Is Supported::]] - Is the feature supported in the engineering format?
+
** '''Is Supported:''' [[File Classification Material Transparency - Is Supported::false]]
** '''Description:''' [[File Classification Material Transparency - Description::]] - This field is used to describe the support or lack of support of the feature.
+
** '''Description:''' [[File Classification Material Transparency - Description::Skins are not supported.]]
  
'''References:''' [[References::]] - A list of references regarding any aspects of this engineering format; any reading material supplemental to this page.
+
'''References:''' [[References::None]]

Latest revision as of 20:34, 11 May 2009

Title(s): BRL-CAD - BRL-CAD geometry

Version ID: 7.14.0

Date released: 2008-11-04

Date: 1984-01-01 (First public release)

Creator(s): U.S. Army Ballistic Research Laboratory

Contributor(s): N/A

Relationships: N/A

  • Previous Version(s): N/A
  • Contains: N/A
  • Syntax Format(s): N/A
  • Family Format(s): N/A

Description: BRL-CAD is a powerful cross-platform Open Source combinatorial Constructive Solid Geometry (CSG) solid modeling system that includes interactive 3D solid geometry editing, high-performance ray-tracing support for rendering and geometric analysis, network-distributed framebuffer support, image and signal-processing tools, path-tracing and photon mapping support for realistic image synthesis, a system performance analysis benchmark suite, an embedded scripting interface, and libraries for robust high-performance geometric representation and analysis.

BRL-CAD supports a great variety of geometric representations including an extensive set of traditional CSG primitive implicit solids such as boxes, ellipsoids, cones, and tori, as well as explicit solids made from closed collections of Uniform B-Spline Surfaces, Non-Uniform Rational B-Spline (NURBS) surfaces, n-Manifold Geometry (NMG), and purely faceted mesh geometry. All geometric objects may be combined using boolean set-theoretic CSG operations including union, intersection, and difference.

BRL-CAD has been under active development with a portability heritage that includes systems such as a DEC VAX-11/780 running 4.3 BSD; DECStations running ULTRIX; Silicon Graphics 3030, 4D "IRIS", O2, Onyx, and Origin systems running various versions of IRIX; Sun Microsystems Sun-3 and Sun-4 Sparcs running SunOS; the Cray 1, Cray X-MP, Cray Y-MP, and Cray 2 running UNICOS; DEC Alpha AXP running OSF/1; Apple Macintosh II running A/UX; iPSC/860 Hypercube running NX/2; the Alliant FX/8, FX/80, and FX/2800; Gould/Encore SEL PowerNode6000/9000 and NP1; NeXT workstations; IBM RS/6000; HPPA 9000/700 running HPUX; Ardent/Stardent; Encore Multi-Max; and much more.

BRL-CAD is a collection of more than 400 tools, utilities, and applications comprising more than a million lines of source code. The package is intentionally designed to be extensively cross-platform and is actively developed on and maintained for many common operating system environments including for BSD, Linux, Solaris, Mac OS X, and Windows among others. BRL-CAD is distributed in binary and source code form as free open source software (FOSS), provided under Open Source Initiative (OSI) approved license terms.

History: For more than 20 years, BRL-CAD has been the primary tri-service solid modeling CAD system used by the U.S. military to model weapons systems for vulnerability and lethality analyses. The solid modeling system is frequently used in a wide range of military, academic, and industrial applications including in the design and analysis of vehicles, mechanical parts, and architecture. The package has also been used in radiation dose planning, medical visualization, computer graphics education, CSG concepts and modeling education, and system performance benchmark testing among other purposes.

Mike Muuss began the initial architecture and design of BRL-CAD back in 1979. Development as a unified package began in 1983. The first public release was made in 1984. BRL-CAD became an open source project on December 21, 2004, with portions licensed under the LGPL and BSD licenses.

Example(s): BRL-CAD Example

Identifier: http://brlcad.org/

Documentation: BRL-CAD Documentation

File Extensions: g

Applications:

  • Native application(s): BRL-CAD
  • Interoperable applications: N/A

Magic numbers: N/A

Format(s): Unknown

Rights: LGPL, BSD

Sustainability Factors:

  • Standardization: None
    • Licensing and patent claims: None
  • Self-documentation: None
  • External dependencies: None
  • Technical protection considerations: None

Typical use: CAD

File classification:

References: None