Question

AutoCAD attributed block with decimal point in Tag not supported.

  • 8 December 2017
  • 4 replies
  • 3 views

Folks,

Wondering if anyone else has had this problem.

I have previously been successful with passing data to CAD attributed blocks

I have a CAD attributed block where the TAG is called XX:8.5

However when I configure this as a USER ATTRIBUTE in my AutoCAD writer layer the decimal point is converted to an underscore.XX:8_5

Unfortunately when the block is generated a new attribute is added to the block(which I didn't know could be done) called XX:8_5 in parallel with the EMPTY XX:8.5 which is actually a visible attribute. Is there an escape character or something I can add to the attribute to point it at the correct block attribute?


4 replies

Badge

I have experienced it myself, and the AutoCAD writer automatically converts any special character (. / \\ etc.) to an underscore. Generally, using these characters in your attribute names is just a very bad idea. Avoid spaces, dots, slashes, ...

 

 

About your specific question, I do not know an escape character that will solve your problem.

I have experienced it myself, and the AutoCAD writer automatically converts any special character (. / \\ etc.) to an underscore. Generally, using these characters in your attribute names is just a very bad idea. Avoid spaces, dots, slashes, ...

 

 

About your specific question, I do not know an escape character that will solve your problem.
Thanks @jneujens. I claim no responsibility for the poor design of the block. I personally come from a heavy SQL database\\DOS background and as a matter of course avoid special characters at all costs. I will seek leave from the client to modify their block to remove the decimal point in the tag.

 

Userlevel 4
Badge +13

Hi @andyew,

Thanks for reporting this. I'm sorry for the delay in our response to you here. We've been looking into a workaround for this. I think we have one which should work (at least it should in the latest 2017.1 release.

 

What should work is is you use the fme_attrib_info{N}.field_name and fme_attrib_info{N}.value list attributes to create the block attributes rather than using the output feature type to create them. This method also can give you a little more control in the situation where you might have two blocks with different scehmas on the same layer. I've attached an example which should work.

 

example.fmwt
Badge

Hi @andyew,

Thanks for reporting this. I'm sorry for the delay in our response to you here. We've been looking into a workaround for this. I think we have one which should work (at least it should in the latest 2017.1 release.

 

What should work is is you use the fme_attrib_info{N}.field_name and fme_attrib_info{N}.value list attributes to create the block attributes rather than using the output feature type to create them. This method also can give you a little more control in the situation where you might have two blocks with different scehmas on the same layer. I've attached an example which should work.

 

example.fmwt
Clever! ;) Good to know this is possible!

Reply