Using Additional .NET Assemblies

Because the UDO functionality uses IronPython, we have access to the full .NET eco system. If needed, any subset of the UDO functionality can be implemented in any .NET language and used by the UDO script. There are simple rules to follow to achieve this.

  1. Build your .NET assembly for .NET 2.0 runtime.
  2. Drop the built assembly in any Lib directory upstream of the UDO script location: that is, if you have your UDO script in C:\Users\x\PersonalLib\UserDefinedOutputs\a\b\c\myudo.py and have a .NET assembly called com.Acme.UDOLib You can keep the .NET assembly under:
    • UserDefinedOutputs\Lib
    • UserDefinedOutputs \a\Lib
    • UserDefinedOutputs \a\b\Lib
    • UserDefinedOutputs\a\b\c\Lib
  3. Add the following lines to your Python script:
    • Import clr
    • clr.AddReference("com.Acme.UDOLib")
    • import com.Acme.UDOLib -or-- from com.Acme.UDOLib import * etc

If for some reason you cannot place the .NET assemblies into a Lib directory under UserDefinedOutputs, you need to do a couple more steps before step 3 listed above.

Import sys

sys.path.append("full path to your .NET assembly location")