Using Additional .NET Assemblies (2D and Circuit)
Because the UDO functionality uses IronPython, the full .NET ecosystem is accessible. 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
- UserDefinedDocuments\Lib,
- UserDefinedDocuments\a\Lib,
- UserDefinedDocuments\a\b\Lib
- UserDefinedDocuments\a\b\c\Lib
- Add the following line 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 UserDefinedDocuments, 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”) |