Solved

How to extract insertion points from point location blocks and write them back out to CAD as points, not blocks.


Badge +1

I am reading CAD point blocks with Explode Blocks unchecked. FME represents these features as points (fme_point), as expected; however, if I then try to write these points back out to a new CAD file, the writer rejects all of them, saying that the blocks are not defined in the CAD file. I don't want blocks written out. I want simple points written out. Now, if I explode blocks on read, only one of the four blocks/feature types in the CAD file produces the insertion points as points. The other three produce all the lines, arcs, etc. but no points. So, how do I go about getting the points for all the blocks and then writing them out to CAD as plain points, i.e. no blocks.

icon

Best answer by virtualcitymatt 3 May 2021, 09:48

View original

2 replies

Userlevel 4
Badge +26

Attached to the points (when not exploding locks) will be some specific autocad_* attributes that are tell FME that this point is a block inset point. The only one that you probably need to remove is "autocad-entity". There is more info about the attributes here: https://docs.safe.com/fme/html/FME_Desktop_Documentation/FME_ReadersWriters/acad/Inserts.htm

Once you remove that attribute FME should treat the point just as a point. There are also other attribute like autocad_block_name which may need to be removed if just removing autocad_entiy doesn't work.

 

Badge +1

Attached to the points (when not exploding locks) will be some specific autocad_* attributes that are tell FME that this point is a block inset point. The only one that you probably need to remove is "autocad-entity". There is more info about the attributes here: https://docs.safe.com/fme/html/FME_Desktop_Documentation/FME_ReadersWriters/acad/Inserts.htm

Once you remove that attribute FME should treat the point just as a point. There are also other attribute like autocad_block_name which may need to be removed if just removing autocad_entiy doesn't work.

 

@virtualcitymatt​  Thank you so much for the help. Worked like a charm. I did have to remove both autocad_entity and autocad_block_name to make it work. I will, perhaps, post an idea to have a checkbox item added to the Writer, something like "Restore source blocks on write," and have it checked by default. That way, the unchecked status would tell FME to ignore block information. The solution here makes sense but is not explicitly handled in any help files or current interface controls. It relies on implicit, deep understanding and experience and is, therefore, undocumented. I can't be the only one who wants to do what I wanted to do.

Reply