# UDT Creator

**URL:** <https://forum.inductiveautomation.com/t/udt-creator/6566>\
**Category:** Ignition\
**Created:** [May 23, 2013, 7:08am UTC](https://forum.inductiveautomation.com/t/udt-creator/6566 "2013-05-23T07:08:18Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![gekkoman](https://avatars.discourse-cdn.com/v4/letter/g/c89c15/32.png) [@gekkoman](https://forum.inductiveautomation.com/u/gekkoman)\
**Post date:** [May 23, 2013, 7:08am UTC](https://forum.inductiveautomation.com/t/udt-creator/6566/1 "2013-05-23T07:08:18Z")

</div>

Here is a simple UDT creater in python to create importable XML file from a simple config file format.

Only dependancy is pyparsing.

The UDT editor in designer is currently a pain to duplicate tags in, alter layout etc so it is much faster to work outside the editor and import as required.

Macro expansion makes it quick to duplicate common options eg history settings, scaling etc

An example config file, and resulting XML has also been included.

Comments in the config file are only documentation. Doco does not cover ignition stuff like datatype numbers etc…you can find these out easy enough by exporting.

Currently you have to edit the source to enter filenames. If program sees any use by others it can easily be enhanced to parse args etc.

The code written only does what I need at the moment so it may not yet cover everyones needs. Never tested with more than one UDT, but it may work with more than one UDT definition in a file.  
[create\_udt.py.zip](https://us1.discourse-cdn.com/inductiveautomation/original/2X/6/6e6d65e9f42889cd587793d474750e115b5bfb19.zip) (11.8 KB)

---

<div class="post-metadata">

**Author:** ![gekkoman](https://avatars.discourse-cdn.com/v4/letter/g/c89c15/32.png) [@gekkoman](https://forum.inductiveautomation.com/u/gekkoman)\
**Post date:** [May 27, 2013, 1:14am UTC](https://forum.inductiveautomation.com/t/udt-creator/6566/2 "2013-05-27T01:14:09Z")

</div>

Updated version - improved comment handling in cnfig file and command line arguments.

-i infile config file  
-o outfile output xml file  
-f force overwrite of outfile  
-h help  
[create\_udt.py\_0.02.zip](https://us1.discourse-cdn.com/inductiveautomation/original/2X/c/cab537a2bb7e69e4caddb1144130271f9fa7b8ee.zip) (15.9 KB)

---

<div class="post-metadata">

**Author:** ![gekkoman](https://avatars.discourse-cdn.com/v4/letter/g/c89c15/32.png) [@gekkoman](https://forum.inductiveautomation.com/u/gekkoman)\
**Post date:** [July 11, 2013, 8:33am UTC](https://forum.inductiveautomation.com/t/udt-creator/6566/3 "2013-07-11T08:33:15Z")

</div>

Update to version 0.03

Python3 compat added  
Included basic alarm support (demo supplied)  
[create\_udt.py\_0.03.zip](https://us1.discourse-cdn.com/inductiveautomation/original/2X/a/a703e619428f35615793ae590ebed3ebb45d4b2b.zip) (18.8 KB)

---

<div class="post-metadata">

**Author:** ![gekkoman](https://avatars.discourse-cdn.com/v4/letter/g/c89c15/32.png) [@gekkoman](https://forum.inductiveautomation.com/u/gekkoman)\
**Post date:** [August 25, 2013, 2:50am UTC](https://forum.inductiveautomation.com/t/udt-creator/6566/4 "2013-08-25T02:50:46Z")

</div>

Updated to version 0.04

Data types used in parameters in 7.63-rc2 has first letter now capitalised.

Option --lower added to revert to all lower case for older versions
