SimcenterKnowledge

Materials > Using custom materials

Adding material properties to existing material definitions

You can add material properties to existing material definitions using a correctly structured XML file. You can define these custom properties so that they appear in the materials dialog boxes on existing material property pages or on new tabs. The custom properties always appear in new groups on the dialog box. If you define a property on a new tab and do not specify a name for the tab, the new tab is displayed as DefaultTabName.

You add material properties using an XML file with a .udmpx extension.

The DTD for this customization capability resides in this software's installation structure as ..\ugii\materials\usermaterialsdefinitions.dtd. The DTD defines the structure and legal elements of the XML file that you must provide.

Your users will be able to populate and edit these custom properties using the material dialog boxes, provided the session has the customization. To make the custom properties available to your users, you can place this XML file in any UGOPEN_STARTUP_DIR folder, such as UGII_USER_DIR\startup,  UGII_SITE_DIR\ startup, and UGII_VENDOR_DIR\startup.

If a material defined and saved using this software contains a user-defined property, the property remains in the material object even when the part is opened in another session that does not have the customization.

Example

The following example adds properties to the Isotropic material type by adding a new tab that contains two new groups. The display name is user definable. For this example, the display name is User Tab 1. This tab contains two groups for presentation and organization. The display names are user definable and are User Group and Another User Group. With the first group, we define four properties. Name is the display name, and suffixName forms part of the unique key that is used to reference a specific property. For a property with suffixName="Prop1," the actual key is USER_Prop1. We also modified the existing Mechanical tab by adding a group with another Scalar Field property.

<?xml version="1.0" encoding="utf-8"?><!DOCTYPE Materials SYSTEM "usermaterialsdefinitions.dtd" []><Materials>    <Material type="&MaterialTypeISOTROPIC;">        <!-- Adding a New tab to the Isotropic material definition -->         <Tab label="User Tab 1" >             <!-- Adding a New Group to the Tab -->             <Group label="User Group">                                <!-- Adding a Scalar Field to the group,  a scalar field supports either a constant value or a field.                      In this case the value is a Stress value defaulted to 0.0 and which must be >= 0.0 and < Max Float                      or a field which can be Stress versus Temperature or Stress versus Frequency -->                  <Property name="Scalar Field Property 1"                                suffixName="Prop1"                                valueType="scalarField"                                Dimensions="&MeasureStress;"                                scaleFactor="false">                    <DefaultValue value="&valueZero;"/>                    <LowerBound value="&valueZero;"                                inclusive="true"/>                    <UpperBound value="&maxFloat;"                                inclusive="true"/>                    <FieldDefn nDomains="3">                        <Domain type="&DomainConstant;"/>                        <Domain type="&DomainTemperature;"                                nVariables="1">                            <Variable Measure="&MeasureTemperature;"/>                        </Domain>                        <Domain type="&DomainFrequency;"                                nVariables="1">                            <Variable Measure="&MeasureFrequency;"/>                        </Domain>                    </FieldDefn>                </Property>                <!-- Adding a floating point number                       In this case the value is a unitless value defaulted to 12.3 and which must be >= 0.0 and <=  15.0                 -->                                <Property name="Float Property 2"                    suffixName="Prop2"                    valueType="float"                    Dimensions="&MeasureUnitLess;">                    <DefaultValue value="12.3"/>                    <LowerBound value="0.0"                        inclusive="true"/>                    <UpperBound value="15.0"                        inclusive="true"/>                </Property>                <!-- Adding a boolean which can be true or false                        It is defaulted to false                 -->                                 <Property name="Boolean Property 3"                    suffixName="Prop3"                    valueType="bool" >                    <DefaultValue value="0"/>                </Property>                <!-- Adding a character value                       It is defaulted to blank                -->                                 <Property name="Char Property 4"                    suffixName="Prop4"                    valueType="char" >                    <DefaultValue value="&valueBlank;"/>                </Property>            </Group>             <!-- Adding a Another New Group to the Tab, this one has expanded="false" which means it is displayed collapsed -->              <Group label="Another User Group"                expanded="false">                <!-- Adding another Scalar Field                   -->                                 <Property name="Scalar Field Property 2"                               suffixName="Prop5"                               valueType="scalarField"                               Dimensions="&MeasureStress;"                               scaleFactor="false">                    <DefaultValue value="&valueZero;"/>                    <LowerBound value="&valueZero;"                                inclusive="true"/>                    <UpperBound value="&maxFloat;"                                inclusive="true"/>                    <FieldDefn nDomains="3">                        <Domain type="&DomainConstant;"/>                        <Domain type="&DomainTemperature;"                                nVariables="1">                            <Variable Measure="&MeasureTemperature;"/>                        </Domain>                        <Domain type="&DomainFrequency;"                                nVariables="1">                            <Variable Measure="&MeasureFrequency;"/>                        </Domain>                    </FieldDefn>                </Property>            </Group>        </Tab>        <Tab label="Mechanical">            <Group label="User Group Name"                              expanded="true">                <Property name="Scalar Field Property 3"                             suffixName="Prop6"                             valueType="scalarField"                             Dimensions="&MeasureStress;"                             scaleFactor="false">                    <DefaultValue value="&valueZero;"/>                   <LowerBound value="&valueZero;"                                inclusive="true"/>                    <UpperBound value="&maxFloat;"                                inclusive="true"/>                    <FieldDefn nDomains="3">                        <Domain type="&DomainConstant;"/>                        <Domain type="&DomainTemperature;"                                nVariables="1">                            <Variable Measure="&MeasureTemperature;"/>                        </Domain>                        <Domain type="&DomainFrequency;"                                nVariables="1">                            <Variable Measure="&MeasureFrequency;"/>                        </Domain>                    </FieldDefn>                </Property>            </Group>        </Tab>    </Material></Materials>

New tab with user-defined properties

User-defined properties added to existing tab

How do I

Control user access to material libraries

List custom material definitions

Add a new material definition to a custom library

Export a material to a custom material library

Editingand configuring material definition in a custom library

Edit a material definition in a custom library

Delete a material definition from a custom library

Update a material with changes from the library definition

Learn more

Using custom materials

Quick links

Command reference

Pre/Post video examples

Bulk Entry Descriptions

Simcenter 3D tutorials

Browse Simcenter 3D help by product area

Adding material properties to existing material definitions, Simcenter 3D 2021.1 Series

© 2020 Siemens

window.mainLanguage="en_US"

window.delivId=""

window.projectId=""

MathJax.Hub.Config({ TeX: { extensions: ["autoload-all.js"] }, tex2jax: { displayMath: [ ] }, "SVG": { scale: 125 } });

Source: https://docs.sw.siemens.com/en-US/doc/289054037/PL20200601120302950.advanced/xid912564 · retrieved 2026-07-17