Skip to main content
Hello FMERs,

 

 

Last week we upgraded to FME 2013 and noticed that in MFAL writer where the mapinfo_brush_pattern is set to 1 (No Fill)  the resultant TAB file has been written with the polygons with a solid fill. 

 

 

I have queried the table in MapInfo using the print currentbrush() function and this has confirmed that the brush_pattern is set to 2 (solid fill)

 

 

As a workaround I have set the mapinfo_brush_pattern to 0 for no fill and 1 for solid fill.  Has anyone else noticed this bug?

 

 

Not noticed it, but just tried and I get the same result if I take a mapinfo file, remove the brush attribute and reset it, with 0 giving no fill and 1 giving solid fill.

 

 

If i set the brush pattern to 1, inspecting before writing confirms that the brush pattern is set to 1. If i then reload into fme and inspect the written file the brush pattern is set to 2.

 

 

However, if I create a box within FME and write that to a mapinfo file, it works exactly as expected.
Hi Andrew,

 

I hadn't noticed this, but I noticed that we did make some changes to the handling of these attributes for 2013.

 

 

Have you reported this to our support queue already? If not I'll investigate that change to see if it could be affecting your workflow.

 

 

Regards

 

 

Mark
Perhaps you could file this with the support team? Ask them to check it re: PR#40910

 

 

http://www.safe.com/supportrequest
Thanks Mark I have logged with the support team
The answer from Safe Support:

 

 

We have implemented some new code and unfortunately it has broken backwards compatibility for this case but it is supposed to be better behavior in the long run. 

 

 

The workaround for this is to expose the fme format attribute 'fme_fill_color' on the source and use an AttributeRemover to remove it .  You should then leave the fill pattern to 1 instead of 0. 

 

 

Basically what is happening is there is a special case for when the mapinfo brush pattern says no fill. If the fme_fill_color has been set then the assumption is that the user likely meant that we do indeed want to fill since we have explicitly set the fill color in the workspace (the reader sets the fme_fill_color if the brush_pattern and the format fill color attributes - ie mapinfo_brush_foreground are set. 

 

 

 In this case we switch the pattern to solid to ensure that the fme_fill_color is honored - this is why changing the brush_pattern is not working properly. So, if we remove that fme_fill_color coming in, the assumption that it was meant to be filled won't occur. 

I had a similar exersise with the above, have tried the solutions from FME answers.

As far as I am concerned, it is still a bug not fixed in FME desktop version 2016. It looks like new attributes now have been added into the "Format Attributes" including "mapinfo_brush_transparent" and however you set the value, it won't work. I ended up "attribute remove" three "attributes": "fme_in_fill", "mapinfo_brush_pattern", "mapinfo_brush_foreground" then results are desirable which has no infill no pattern with the polygons in a mapinfo table. But can not image if you do want a certain colour and certain pattern for the polygons, how do you set them?


Reply