FME Connector anyone?

Hello @Community !

We’ve heard a few people requesting a Speckle connector for FME, I’ve never used FME before and would love to hear what the use cases would be.

So, are you an FME user? Do you have any use cases in mind? Please share them below!

cc @jsdbroughton


The Arup GIS team here in the West of England are heavy FME users. Its a bit like Grasshopper, but runs on a server so can do ‘real’ automation. I can imagine workflows of ‘extract latest highway layout from GIS and put into Speckle every night’ which would be helpful for other design teams to then pull into other design software knowing they have the latest info.


There is FME Desktop as well, which I use to develop File Format Conversion scripts. As mentioned above by Hugh its very similar to Grasshopper and Dynamo, but for GIS. In my opinion a very good companion to Speckle.

1 Like

Big time FME user here. One use case is merging, filtering and homogenizing data from many different sources. If I have a terrain model as a point cloud, a city model in Sketchup, a building in Revit and the road network in ESRI Shape files, then FME is the easiest way to turn all into single model and exporting it to many different formats. Being able to run this and push the result to Speckle for everybody to have the latest update would be very useful.


FME has a basic premise of converting anything into anything but having started in GIS/CAD.

You can run locally or publish workbooks to run as stored procedures to their Cloud Servers (or your own). As such you can set up a “drop-box” to upload a file and choreograph single or multiple transformations to pop out the other end. My “vision” was for speckle to be one of those endpoints.

Effectively as a specialised data store and for immediate consumption by whatever clients you have set up.

I’m a user because I don’t often author anything myself but spend a lot of time and energy converting, analysing and enriching datasets. Some of the recent case-studies from the retreat are a similar approach. Respond to inputs and publish augmentations back to the source.

There is a Revit reader that works well and I have pipelines in mind that mean I never have to open Revit to get the answers I’m looking for. Also, I then consume the data I have preselected to be worth keeping. Not using Revit first-person also allows for hands-off automation of analysis streams.

My first workflow, I’m interested in linking FME with Speckle right now, currently involves BigQuery with my customisations (UDFs)/Cloud Storage/Firestore.

BQ is not yet amazing at geometric analysis (hence the UDFs), but fantastic as a back-end. However any time a new use-0case comes for it, its incumbent on me to maintain a consumer… starts to sound like the Speckle ecosystem.

My intent for Speckle as a user is that Speckle will allow more consumers to access the Project dataset at no technical overhead to me.

maybe evolving sometime to:

Who knows? Ultimately FME (albeit not opensource) can be used by many users as the uber-connector for Speckle

As I’ve been speaking to Safe, their plugin architecture for new connectors (Readers//Writers) can be C++/Python where oftentimes a UI + Python Script is all it takes to handle the ingestion and egress of data. The trick is to have a good knowledge of the API/Scheme for the target.

Very happy to work with / kick something off for this beyond just a shout out to the ether on Twitter.

If Speckle is the democratisation of AEC data then FME is the diplomat.


Another workflow I have FME and webhooks solving for that could be a much less critical path transition to Speckle is synchronising Apple Health / Strava & Komoot

It is the bane of my futile existence managing the streams of these apps, each with unique feature deficiencies :smiley:


We the “server apps” to make simple web tools. Like “Open street map to Rhino downloader”.

  1. Use Server apps to allow user to draw shape on a map
  2. Use workspace to get the data, download it, extrude it using building heights on the objects, download to a custom layer set in DWG.

I did this Revit reading session last week with them to illustrate certain workflows…

FME connection would be huge



I have asked the Safe team to look into FME as well… so I know its on their radar… I can certainly help facilitate with them if you want.


Thanks @Greg_Schleusner for the feedback! It’s turning into a very encouraging thread. Actually, the reason we put this out is that Dale from FME reached out to us regarding collaborating on a connector. I’ll have a proper look at the video from the “masked revit user” :sweat_smile:


Spoke to Dale about this months ago and suggested he reach out to you all.
Direct access to the Speckle postgres DB is a big first step, but that can be done today for self hosted systems. I suppose this is a little trickier for SaaS clients.
Regardless, a big step forward.


Screen Recording 2021-11-20 at 00_23_17

By way of an example mocked up today (not with speckle) but FME > Firebase > Vue


Super cool!
Let us know if you need any help plugging :speckle: in! :boom:

1 Like

Hi all, new to Speckle but long time FME user at Arup. I have had some success reading json data from Speckle using the JSONFragmenter but need some assistance on creating geometry from the mesh data. Also posted on the Safe forum here - FME Community.
Would be interested to hear of any experiences in doing this or info on how the object data is structured (in order to rebuild it correctly)


Hey @owenjpowell welcome to our community!
Inside which software are you trying to recreate the mesh? It’s usually a quite simple operation that consists in looping through the vertices to recreate each mesh face.

For example, here is how we do it in Rhino: speckle-sharp/ConverterRhinoGh.Geometry.cs at main · specklesystems/speckle-sharp · GitHub

We’ve also recently added support for n-gon faces in Speckle, we don’t have any docs on it yet but we’ll add them soon. Otherwise, @Jedd can chime in if needed :slight_smile:

1 Like

Hi @teocomi thanks very much! This was to do with reading the data in FME (Enterprise ETL tool), and I think there’s loads of potential there as is the main tool used in geospatial for data conversions and transformations.

I have had some success in reading the data now with FME, (with a lot of help from Dave Campanas at Safe) and it looks really promising


Awesome, keep us posted on the progress & happy to help where we can :slight_smile:

1 Like

Hey, @owenjpowell I was reading your FME forum post about reinstating the meshes within FME, have you been working with JSON objects received from Speckle outside of FME or been able to reach the Speckle server from within? Either HTTPCaller call or via PythonCaller?

Hi @jsdbroughton thanks for the message, yes Ive been looking into reading speckle data in FME, but with a json export of a stream not direct connection. This was with help from Dave at Safe, based on a json reader with python to build the meshes.

I think it would need a connector building to read the stream. I saw that you were talking to Dale Lutz on twitter - did that go anywhere?


I’m partway into working on a basic connector (read-only, to begin with) I have every intention of opening the repo up soon.

In part, I was looking at something beyond the conversion of the display mesh but seeing how far a speckle.Objects>fmeObjects could be taken.

Adding a UI would appear to be out of scope for the FME connector rn. I’m cracking on with conversions first.

Dale is positive, I think, but as with so many things on their roadmap, gathering interest tasks a long time, just look at the first requests for Navis and Rhino connectors. As I get further down the line I’ll need help I expect.


Loving this convo, let us know if our team can be of any help! :hugs:

1 Like