Customization Examples - Intergraph Smart 3D - Reference Data

Intergraph Smart 3D Drawings and Reports Reference Data

Intergraph Smart 3D
Reference Data
12.1 (2019)

When you create a new module, you must add the module to the schema to use it in the rule manager.

Add a new module

  1. Add the new module to either the Custom_DrawingLabelUIModulesCommon.xml or Custom_DrawingDimensionUIModulesCommon.xml file under the correct project and module type.

    The new module name must be unique and cannot have the display name of NONE.

    As an example, assume that the new module is an SP3D label point generator. Thus, the new module belongs under LABEL_UI_MODULES_COMMON/SP3D/POINT_GENERATOR_MODULES. Add the new module to this section as follows:

    DISPLAY="Human Readable Name for the New Module"/>

  2. Create a new module schema file for the new module using the following format:


    In this format, ModuleNameWithoutExtension is the .dll filename of the new module.

  3. If the new module is for labels, save the .xml file in the [SharedContent]\Data\Drawings\LabelUISchemaData folder. If it is for dimensions, save the .xml file in the [SharedContent]\Data\Drawings\DimensionUISchemaData folder.

    You can copy another module schema file and rename the file for this purpose.

  4. Set up all the module compatibilities in this new module schema file.

    • You cannot allow compatibility between modules of the same type. For example, if you add a point generator, you cannot have a <POINT_GENERATOR_MODULES> section in the module schema file.

    • The exception to this rule is that templates can contain multiple positioning modules. Therefore, positioning modules are compatible with each other.

  5. Add references to any supported existing or new properties and groups within the new module schema file.

    New property or property group names must not clash with names that already exist in Custom_DrawingLabelUIPropertiesCommon.xml (for labels) or Custom_DrawingDimensionUIPropertiesCommon.xml (for dimensions).

  6. Open the module schema files for all modules with which your new module is compatible. You must add the new module to the appropriate location in each of these schema files to properly specify all compatibilities.

    Do not include the Custom_ prefix or the .xml suffix for the module names that exist inside schema files. The affixes apply only to the module schema filename.

  7. Add any required new properties to Custom_DrawingLabelUIPropertiesCommon.xml (for labels) or Custom_DrawingDimensionUIPropertiesCommon.xml (for dimensions).

  8. Verify that you can select the new module in the rule manager and that any module properties display.

Edit an Existing Property

You may find that you require other users of the rule manager to follow certain company policies and so forth. In that case, you can force the software to display only certain property options.

Because all custom schema files reside in Shared Content, anyone who uses the rule manager can see the effects of changes to these files. Therefore, putting general labeling restrictions in place is as simple as editing the custom schema properties.

The rule manager reflects changes to these files only if the Smart 3D model is connected to the Shared Content containing those files.

As an example, your company may find that a coarse or medium setting for Granularity is sufficient for label and dimension placement. Therefore, you may want to prohibit a fine setting for the Granularity property.

Edit the label and dimension properties

  1. Locate the display name for the property that you want to limit in the CustomLabelUIPropertiesCommon.xml and Custom_DimensionUIPropertiesCommon.xml files. This example is for the Granularity property.

  2. In each file, remove the line containing the value that you want to restrict from the <POPULATE> section:

    <VALUE NAME="Fine">2</VALUE>

  3. For each file, confirm that the property does not default to the value that you want to restrict, in this case, Fine. Then, save the files.

    If the property defaults to the value you want to prohibit, you must allow this default value as a valid choice or change the default value to one of the available choices. In this case, the valid choices are Coarse or Medium. For example, if your company uses the Medium granularity setting most often, and you want to always make Medium the unconditional default value, change the DEFAULT section of the Granularity property to always default to the Medium setting, regardless of the selected positioning module.

  4. Within the rule manager, open a rule that contains the property for which you have modified values and verify that the property only displays the allowed values.

Other Customizations

You may perform any of the following actions at any time to affect the behavior of the rule manager.

  • Add new module schema files as you introduce new modules into the rule manager

  • Edit module compatibilities in module schema files to change the modules that can be used together in a template

  • Add new supported properties or property groups to module schema files to add new behaviors to modules

    Module code must support these new properties and property groups.

  • Remove supported properties and property groups from module schema files to remove behaviors

  • Add new modules to the common modules schema files so that the modules display in the rule manager

  • Remove modules from the common modules schema files to prevent using specific modules in the rule manager

  • Add new properties or property groups to the common properties schema files to add new behaviors

    The module code must support these new behaviors.

  • Remove properties and property groups from the common properties schema files so that these properties and property groups are unavailable in the rule manager

  • Edit the reserved tags schema files to change the template .xml nodes that you do not want the software to delete when you click Save

  • Edit the reserved symbol tags schema file to change the symbols that are copied during the Copy Rule process

After you have made schema changes, reload the rule manager to see your changes.

See Also

Label Rule Manager
Appendix: Annotation Rule Manager Customization