# UDiTH SDK — user guide

This solution groups plugins that enrich or transform a plant model during a Builder export. End users work with the exported model in UDiTH; model preparers install and configure the plugins in a compatible CAXperts Builder. The solution itself is not a standalone application.

## Getting started

1. Obtain a plugin package compatible with your Builder from your administrator or supplier. Source projects alone are not an installer.
2. Have the required plugin DLLs, dependencies and configuration files installed in the Builder's plugin directory. This repository uses `%AppData%\CAXperts\<Builder>\Plugins` for its development deployment; the actual Builder folder depends on your installation.
3. Prepare the inputs described in the relevant guide. Replace sample database and workbook paths with your own accessible files.
4. Run the normal Builder export with the plugin installed. These plugins generally run before export; they do not provide their own desktop interface.
5. Check the Builder log, then open the exported model and inspect the resulting attributes, graphics or links. A plugin's “finished” message does not necessarily mean every item succeeded: several plugins log errors and continue.

Use a separate output when first trying plugins that delete, merge or rename model data. Removing a plugin affects future exports; it does not undo changes in an already exported model.

## Choose a tool

| User goal | Guide |
| --- | --- |
| Merge related objects | [Combine Objects](UPVBPluginCombineObjects.md) |
| Add or update attributes from workbooks | [Excel Import](UPVBPluginExcelImport.md) |
| Add visible text labels | [Graphics](UPVBPluginGraphics.md) |
| Clip or isolate laser-scan geometry | [Laserscan Clipping](UPVBPluginLaserscanClipping.md) |
| Transform attributes using rules | [Mapping](UPVBPluginMapping.md) |
| Standardize attribute names | [Rename Attributes](UPVBPluginRenameAttributes.md) |

## Configuration and support

For plugins using the shared configuration loader, the first input session's directory is searched before the installed plugin/helper directory; XML is preferred over JSON within each directory. Other plugins have different lookup rules, documented individually. `ProcessOrder`, where supported, controls ordering relative to other plugins; `Debug` enables additional logging.

These guides describe the checked-in implementation, not a verified compatibility matrix. If a plugin does not load, provide your administrator with the Builder version, plugin version and export log.
