Geometry Metadata

Geometry Metadata enables CUBIT to preserve assembly relationships and material data through the analysis process. Metadata may include a model's assembly structure, or the division of volumes into assemblies, sub-assemblies, and parts. Metadata may also include additional data such as part numbers and material descriptions. CUBIT also generates metadata which describes the relationship between element blocks and assembly parts.

CUBIT's metadata capabilities are part of the material transparency effort of the DART project (see the DART project's Analyst Home Page at http://www-irn.sandia.gov/analyst).

This page describes the procedures for importing, manipulating and exporting Metadata within CUBIT.


Assembly Structure

Volumes can be organized into parts, assemblies, and sub-assemblies. There are two ways to create an assembly structure. The first is to import an XML file along with a STEP file, using the xml option of the import step command.

Import step "<step_filename>" [XML "<xml_filename>"]

The XML file must follow the DART Metadata XML schema found at http://www-irn.sandia.gov/~mfcurre/metadata/ DARTMetadata_final.xsd and described at http://www-irn.sandia.gov/~mfcurre/metadata/DARTXMLschema.htm (This website is subject to change -- The final website will be accessible from somewhere under the Analyst Home Page). For the XML data to be correctly imported, the STEP file must also contain extra data, namely an attribute on each volume that corresponds the the base filename of the file href for a given part in the xml (base filename has no path and no extension). Both the xml file and the STEP file can be exported in their correct formats from Pro/E using an add-in called eMatrix (another tool under the umbrella of the DART project, see the Analyst Home Page for details).

The second way to create the assembly tree is to modify the "name" metadata of a volume.

Metadata Modify Name 'new value' Volume <id>

When you modify a volume's metadata name, a part is created for that volume. That volume is placed as a top-level part in the assembly tree such that its path is "/name". At this time you can't organize cubit-created parts into assemblies and sub-assemblies, but this will be possible at some time in the future.


Viewing Metadata

Once an assembly tree is created the metadata can be viewed using the following command

Metadata List [Name | Description | Material_Description | Material_Specification | File | Units | Instance | ALL] {Volume | Part 'PartPath'[instance]}

If you list a part, you must include its full path. Since it is possible for more than one part to have the same path, you can include an instance number to indicate which instance you are interested in. If you don't include an instance number, CUBIT will list the first part it finds with a matching path.


Modifying Metadata

Existing metadata can be modified using the modify command. The full command syntax is:

Metadata Modify { Name | Description | Material_Description | Material_Specification | File | Units | Instance} 'new value' {Volume|Part 'PartPath'[instance]}

The specified piece of metadata will be changed to "new_value". Note that modifying metadata for a volume that isn't associated with a part will create a new part for that volume, as described above. Also note that metadata is tracked through geometry operations. Take the example where volume 1 is associated with a part called /path/part. If you webcut volume 1 into volume 1 and 2, then both of the new volumes are now associated with /path/part.


Viewing and Modifying Global Metadata

There is also metadata that applies to the whole assembly tree, not a single part. These metadata can be viewed and changed using the following commands:

Metadata List {Classification_Level | Classification_Category | Weapon_Category}

Metadata Modify {Classification_Level | Classification_Category | Weapon_Category} 'new_value' {Volume | Part 'PartPath'[instance]}


Removing Metadata Associations

You can remove the association between a part and a volume using the command:

Metadata Remove {Volume | Part 'PartPath'[instance]}

This command removes the volume from the part. After this command is issued, the volume no longer belongs to any part and has no metadata. You can also remove a whole part at a time, as in "metadata remove part '/path/to/my/part/part_name". This will remove the metadata for all volumes associated with the part.


Replacing Metadata on Imported Geometry

Sometimes you want to replace imported geometry with volumes you created in CUBIT. An example of when you would want to do this is when you are simplifying geometry, or when you are replacing "bad" geometry with good geometry. The volumes in the first list will be removed from their part, and the volumes in the second list will be added to the part. Note that all volumes in the first list must belong to the same part. Otherwise you get an error since CUBIT can't determine which part to add the new volumes to.

Metadata Replace {Volume} <id> with {Volume} <id>

The command will remove all volumes in the first volume list from their part, and then add the second list of volumes to that part.


Exporting Metadata

When you export a mesh and include the xml option, a genesis file is written out in the same format as always, and an xml file is written out as well. This xml file follows the DART schema, and includes a mesh section which provides mapping between element blocks in the genesis file and parts in the metadata. See the Analyst Home Page for details.

Export Mesh "file.g" [XML "file.xml"]