Skip to main content

Hello,

 

is there any way to run code from .Net DLL or executable from within FME Workspace?

 

I know that we can use systemCaller and run it or use python and then execute it from that script but maybe there is any other, let's say more integrated way?

It would be even better to have a possibility to write custom transformer in .Net with access to FMESession etc.

 

Thanks for any hints.

I think it should be possible to write a custom transformer using .NET. First make sure that you've installed FME with the API extensions (selection during install).

Then look in the following directories for docs and a sample application:

<FME Home>\\fmeobjects\\dotnet\\apidoc

<FME Home>\\fmeobjects\\samples\\CSharp


I think it should be possible to write a custom transformer using .NET. First make sure that you've installed FME with the API extensions (selection during install).

Then look in the following directories for docs and a sample application:

<FME Home>\\fmeobjects\\dotnet\\apidoc

<FME Home>\\fmeobjects\\samples\\CSharp

I installed fme with Install SDK option but I can see only java, nodejs, python and tcl :/


I installed fme with Install SDK option but I can see only java, nodejs, python and tcl :/

Which FME version are you using? I found the folders in my FME 2018.1 installation directory.


I think it would be the plugin builder you need to use here, not FME Objects. If I understand correctly, FME Objects is for adding FME functionality into another application, the Plugin Builder is for using other functionality inside FME.

Sadly, FME Objects might support .net, but the FME Plugin Builder doesn't. It is only C++, Java, and Python.

However, it should be possible to call .net inside Python, so you could build a Python plugin that calls/uses .net code (I'm not a developer so I'm probably getting the terminology a bit wrong here).

Here, for example, is a tool for combining Python and .net.

That's the best workaround I can think of I'm afraid.


I think it would be the plugin builder you need to use here, not FME Objects. If I understand correctly, FME Objects is for adding FME functionality into another application, the Plugin Builder is for using other functionality inside FME.

Sadly, FME Objects might support .net, but the FME Plugin Builder doesn't. It is only C++, Java, and Python.

However, it should be possible to call .net inside Python, so you could build a Python plugin that calls/uses .net code (I'm not a developer so I'm probably getting the terminology a bit wrong here).

Here, for example, is a tool for combining Python and .net.

That's the best workaround I can think of I'm afraid.

Tkanks for answer. Have you seen this one: https://github.com/tracasa/FME-DotNetSDK/tree/master/FMEDotNetCallerSample ?


I did not know about that, and I don't think the folk I asked at Safe do either. Thanks for sharing. I'll be sure to pass that on. I hope it is something you can make use of too.


Reply