Question

Shared Cells (dgn cell library) to Autocad Block (dwg)

  • 14 April 2022
  • 3 replies
  • 49 views

Badge +13
  • Contributor
  • 58 replies

I already came quite far with the following post (I hope and think) https://community.safe.com/s/question/0D54Q000080hHLnSAM/dgn-to-dwg-conversion especially with the post of lenaatsafe. I think there are probably two important main steps to do:

 

1) Create a template file which is needed for converting the shared cells to autocad block (in my case I try to make a template file based on a cell dgn library)

2) the actual translation between the source data (a dgn file with cells) and a dwg writer.

 

Based on her post, I think I managed to create a nautocad template file based on the dgn cell library. See below image in how I have created the template file.

afbeelding I think the template file has blocks, since next to the autocad_block_name that I have defined in the attributemanager, the autocad_block_number is added automatically added in output template dwg file (see image below) and for example 27 (as in the image below) for all the autocad lines that define water. However when I use this template file for converting shared cells to autocad blocks, the output look as follows, only autocad points and no autocad blocks. I am wondering what I might have done wrong, I have only done a simple translation between a DGN V8 reader and RealDWG file with the inclusion of a template file. I also unchecked Expand Named Cells in Bentley MicroStation Design Parameters (Reader parameters). Can someone help me in the right direction?

 

 

afbeelding.pngafbeelding.png


3 replies

Badge +10

Hi @joy​ 

 

You are on the right path with needing to create an AutoCAD template file that has block names that correspond to your shared cell names.

But there is a little bit more to creating the template file. Currently, you are aggregating based on the fme_feature_type name, I would recommend not using this attribute about this attribute holds the level name from the DGN and not the cell name.

 

Second, you'll need to ensure you are only writing one definition of the cell. I'd highly recommend reviewing this article and the associated workspace attached to it. The workspace details how you can create an AutoCAD template file with blocks from a Microstation DGN file with cells. 

 

After setting up your AutoCAD template appropriately, your second workspace will need to read the cells only as inserts (uncheck Expand Named Cells), filter the features for cell inserts, then map the igds_cell_name attribute values to the autocad_block_name attributes and set the autocad_entity to autocad_insert so that the AutoCAD writer understands that the points are blocks. Be sure to set the Template File, in the AutoCAD writer, to the DWG file created from the first workspace. The second workspace to convert from DGN to AutoCAD might look something like this:

image 

Hope this information helps!

Andrea

Badge +13

@andreaatsafe​ Dear Andrea, I guess I am a total newbie when it comes to this. I hope you don't mind. I am already stuck on the first step. When I tried using the AttributeExposer to get the igds_cell_name atttribute the values are missing (see image below or the when running the attached workspace one post below). So I can't use this attribute for aggregating and I don't know why I don't have these values. imageIn regards to your second point, I am sorry, but I don't quite understand what you mean with one definition of the cell. In my case I have several cells point and cell lines in the cell library (which I have also included as attachment in this post), so it's more than one cell I suppose. Is that maybe a problem? I will be including my current workspace, the cell library (which contains the symbols for the shared cells in the DGN file) and unfortunately for some reason I don't manage to export a subset of the source dataset (since during the export of the subset the shared are created as cells with its own insertion points instead that it referes to the insertion point of the cell where it refers to)

Badge +13

@andreaatsafe​ here is my current workspace

Reply