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.
- Build your .NET assembly for .NET 2.0 runtime.
- 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
- 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")