On this page:
4.1.5 ACIS Geometry Kernel
4.1.6 Mesh-Based Geometry
4.1.6.2.1 Using tolerance on STL files
4.1.6.2.2 Using the stitch option on AVS and facet files
4.1.6.2.3 Using the improve option on facet files.
4.1.6.2.4 Smoothing faceted surfaces.
4.1.6.2.5 Creating a thin offset volume
4.1.6.2.6 Creating volumes from surfaces
8.5

4.1 Cubit Geometry Formats

4.1.1 Setting the Geometry Kernel

The geometry kernel can be switched between ACIS and Mesh-Based Geometry from the command line using the following command:

Set Geometry Engine {Acis|Facet}

The geometry engine will automatically be set when importing a model.

4.1.2 Terms

Before describing the functionality in Cubit for viewing and modifying solid geometry, it is useful to give a precise definition of terms used to describe geometry in Cubit. In this manual, the terms topology and geometry are both used to describe parts of the geometric model. The definitions of these terms are:

Topology: the manner in which geometric entities are connected within a solid model; topological entities in Cubit include vertices, curves, surfaces, volumes and bodies.

Geometry: the definition of where a topological entity lies in space. For example, a curve may be represented by a straight line, a quadratic curve, or a b-spline. Thus, an element of topology (vertex, curve, etc.) can have one of several different geometric representations.

4.1.3 Topology

Within Cubit, the topological entities consist of vertices, curves, surfaces, volumes, and bodies. Each topological entity has a corresponding dimension, representing the number of free parameters required to define that piece of topology. Each topological entity is bounded by one or more topological entities of lower dimension. For example, a surface is bounded by one or more curves, each of which is bounded by one or two vertices.

4.1.3.1 Bodies and Volumes

A Cubit Body is defined as a collection of other pieces of topology, including curves, surfaces and volumes. The use of Body is not required, and is in fact deprecated in favor of using Volume. Bodies may still be used for grouping volumes, but it is suggested to use Groups instead.

Although a Body may contain groups of Surfaces or Volumes, for most practical purposes within the Cubit environment, a single Volume or Surface will belong to a single Body. For typical three-dimensional models, this means that there should be one Body for every Volume in the model, where the default Body ID is the same as the Volume ID. For this reason, in many instances the term Volume and Body are used interchangeably, although it is more consistent to always refer to Volumes and Volume IDs, and only use Bodies when absolutely necessary.

4.1.3.2 Non-Manifold Topology

In many applications, the geometry consists of an assembly of individual parts, which together represent a functioning component. These parts often have mating surfaces, and for typical analyses these surfaces should be joined into a single surface. This results in a mesh on that surface which is shared by the volume meshes on either side of the shared surface. This configuration of geometry is loosely referred to as non-manifold topology.

4.1.4 Bounding Box Calculations

Bounding box calculations are used for many routines and subroutines in Cubit. These calculations are done using a faceted representation by default. To use the default modeling engine for more accurate (and longer) calculations change the facet bbox setting.

Set Facet BBox [ON|Off]

There are also various settings to control the accuracy of bounding box calculations based on point lists.

Set Tight [[Bounding] [Box] [{Surface|Curve|Vertex} {on|off}]]

If surfaces are used, surface facet points will be included in the point list used to calculate the tight bounding box. This will include vertices and points on the curves. This is the default implementation.

If curves are used, curve tesselation points will be included in the point list used to calculate the tight bounding box. This includes the vertices on the ends of the curves. One use for this is to find a more accurate tight bounding box, since curve tessellations are typically more fine than surface tessellations. However, in practice, it is recommended to just use surface tessellations. One special case is if the user sends in a list of curves as the criteria for the tight bounding box, the curve tessellations are always used, even if this parameter is false.

If vertices are used, vertex points will be included in the point list used to calculate the tight bounding box. In extremely large models, it could be advantageous to just use vertices. So the user would turn off both the surface and curve flags. One special case is if the user sends in a list of curves as the criteria for the tight bounding box, the curve tessellations are always used, even if the curve parameter is false and this parameter is true.

4.1.5 ACIS Geometry Kernel

ACIS is a proprietary format developed by http://www.spatial.com. Cubit incorporates the ACIS third party libraries directly within the program. The ACIS third party libraries are used extensively within Cubit to import, export and maintain the underlying geometric representations of the solid model for geometry decomposition and meshing. There are many ways to get geometry into the ACIS format. ACIS files can be exported directly from several commercial CAD packages, including SolidWorks, AutoCAD, and HP PE/SolidDesigner. Third party ACIS translators are also available for converting from native formats such as Parasolid, Catia, Pro/E, and many others. Cubit also uses the ACIS libraries for importing IGES and STEP format files.

Cubit is also able to import geometry from an Gambit file.

Importing and creating geometry using the ACIS geometric modeling kernel currently provides the widest set of capabilities within Cubit. All geometry creation and modification tools have been designed to work directly on the ACIS representation of the model.

4.1.6 Mesh-Based Geometry

In contrast to the ACIS format, Mesh-Based Geometry (MBG) is not a third party library and has been developed specifically for use with Cubit. Most of Cubit’ mesh generation tools require an underlying geometric representation. In many cases, only the finite element model is available. If this is the case, Cubit provides the capability to import the finite element mesh and build a complete boundary representation solid model from the mesh. The solid model can then be used to make further enhancement to the mesh. While the underlying ACIS geometry representation is typically non-uniform rational b-splines (NURBS), Mesh-Based Geometry uses a facetted representation. Mesh-Based Geometry can be generated by importing either an Exodus II format file or a facet file.

Many of the same operations that can be done with traditional CAD geometry can also be done with mesh-based geometry. While all mesh generation operations are available, only some of the geometry operations can be used. For example, the following can be done with geometric entities that are mesh-based:

Some operations that are not yet available with mesh-based geometry include:

4.1.6.1 Creating Mesh-Based Geometry Models

Mesh based geometry models can be created in one of two ways

While both of these methods create geometry suitable for meshing, there are some significant differences:

Exodus II files

Exodus II contains a mesh representation that may include 3D elements, 2D elements, 1D elements and even 0D elements. It may also contain deformation information as well as boundary condition information. The import mesh geometry command is designed to decipher this information and create a complete solid model, using the mesh faces as the basis for the surface representations. Exodus II is most often used when a solid model that has previously been meshed requires modification or remeshing. Importing an Exodus II file will generate both geometry and mesh entities, assigning appropriate ownership of the mesh entities to their geometry owners. Deleting the mesh and remeshing, refining or smoothing are common operations performed with an Exodus II model.

Facet files

The facet file formats supported by Cubit are most often generated from processes such as medical imaging, geotechnical data, graphics facets, or any process that might generate discrete data. Importing a facet file will generate a surface representation only defined by triangles. If the triangles in the facet file form a complete closed volume, then a volume suitable for meshing may be generated. In cases where the volume may not completely close or may not be of sufficient quality, a limited set of tools has been provided. In addition to the standard meshing tools provided in Cubit, it is also possible to use the triangle facets themselves as the basis for an FEA mesh.

4.1.6.2 Improving Mesh-Based Geometry Models for Meshing

In many cases, the triangulated representations that are provided from typical imaging processes are not of sufficient quality to use as geometry representations for mesh generation. As a result, Cubit provides a limited number of tools to assist in cleaning up or repairing triangulated representations.

4.1.6.2.1 Using tolerance on STL files

Stereolithography (STL) files, in particular, can be problematic. The import mechanism for STL provides a tolerance option to merge near-coincident vertices.

4.1.6.2.2 Using the stitch option on AVS and facet files

The stitch option on the import facets|avs command provides a way to join triangles that otherwise share near-coincident vertices and edges. This is useful for combining facet-based surfaces to generate a water-tight model.

4.1.6.2.3 Using the improve option on facet files.

The improve option on the import facets command will collapse short edges on the boundary of the triangulation. This option improves the quality of the boundary triangles.

4.1.6.2.4 Smoothing faceted surfaces.

Individual triangles in a faceted surface representation may be poorly shaped. Just like mesh elements may be smoothed, facets may also be smoothed in Cubit using the following command

Smooth <surface_list> Facets [Iterations <value>] [Free] [Swap]

To use this command, the surface cannot be meshed. Facet smoothing consists of a simple Laplacian smoothing algorithm which has additional logic to make sure it does not turn any of the triangles in-side out. It also determines a local surface tangent plane and projects the triangle vertices to this plane to ensure the volume will not "shrink". The iterations option can be used to specify the number of Laplacian smoothing operations to perform on each facet vertex (The default is 1).

The free option can be used to ignore the tangent plane projection. Used too much, the free option can collapse the model to a point. One of two iterations of this option may be enough to clean up the triangles enough to be used for a finite element mesh.

The swap option can be used to perform local edge swap operations on the triangulation. The quality of each triangle is assessed and edges are swapped if the minimum quality of the triangles will improve.

4.1.6.2.5 Creating a thin offset volume

Offset surfaces may be generated from an existing facet-based surface. This would be used in cases where a thin membrane-like volume might be required where only a single surface of triangles is provided. This command may be accomplished by using the standard create body offset command

The result of this command is a single body with an inside and outside surface separated by a small distance which is generally suitable for tet meshing. This command is currently only useful for small offsets where self-intersections of the resulting surface would be minimal. It is most useful for bodies that may be initially composed of a single water-tight surface.

4.1.6.2.6 Creating volumes from surfaces

A mesh-based geometry volume can be created from a set of closed surfaces. This can be accomplished in the same manner as the standard create body surface command

Create Body Surface <surface_id_range>

This command is limited to surfaces that match triangles edges and vertices at their boundary. The command will internally merge the triangles to create a water-tight model that would generally be suitable for tet meshing.

4.1.6.3 Meshing Mesh-Based Models

Mesh-Based models may be meshed just like any other geometry in Cubit by first setting a scheme, defining a size and using the mesh command. This standard method of mesh generation can be somewhat time consuming and error prone for complex facet models with thousands of triangles. Cubit also provides the option of using the facets themselves as a surface triangle mesh, or as the input to a tetrahedral mesher. This may be accomplished with one of two options:

Mesh <entity_list> From Facets

This command will generate triangular finite elements for each facet on the surface. If the entity_list is composed of one or more volumes, then the tetrahedral mesh will automatically fill the interior. This method is useful when further cleanup and smoothing operations are needed on the triangles after import.

Import Facets <filename> Make_elements

The make_elements on the import facets command will generate the triangular finite elements on the surface at the time the facets are read and created. This option is useful if no further modifications to the facets are necessary.

Creating triangular finite elements in this manner can greatly speed up the mesh generation process, however it is limited to non-manifold topology. If the triangular elements are to be used for tetrahedral meshing (i.e. all edges of the triangulation should be connected to no more than two triangles)

4.1.6.4 Exporting Mesh-Based Geometry

Mesh-Based geometry models and their mesh may be exported by one of the following methods:

Exodus II

Exporting to an Exodus II file saves the finite element mesh along with any boundary conditions placed on the model. It will not save the individual facets that comprise the mesh-based geometry surface representation. Importing an Exodus II file saved in this manner will regenerate the surfaces only to the resolution of the saved mesh.

Facet files

Cubit also provides the option to save just the surface representation to a facet or STL file. The following commands can be used for saving facet or STL files:

Export Facets ’filename’ <entity_list> [Overwrite]

Export STL [ASCII|Binary] ’filename’ <entity_list> [Overwrite]

These commands provide the option of saving specific surfaces or volumes to the facet file. If no entities are provided in the command, then all surfaces in the model will be exported to the file. The overwrite option forces a file to overwrite any file of the same name in the current working directory.