Skip to main content

Hello! I

have a task to convert data from dgn (v8) into any of the vector formats that can be opened by QGis and then converted back. The following conditions must be met:

1. Saving tag information, including field names, which can be quite long (in this connection, the shape format is not suitable, when converted in which the column names are cut off).

2. Preservation of connections in between the elements of complex objects (cells) with aggregation during the subsequent reverse conversion.

If the first condition is satisfied, for example, when using the tab format as output, then there is difficulty with the second one. Our data is looks like this:

and this:

We have an existing workflow, which is not working properly and can be attached here. But I'm not sure that our way is optimal and want to ask your advice which way of transformation could be best for saving such information?

 

With your permission, I paraphrase a little, so as not to produce topics.

Can someone tell how to save all the information from tags in complex objects while reading dgn? Here is a list of available for reading attributes:

 

<tag name> (string)

<tag name>.color (32 bit integer)

<tag name>.default_value (string)

<tag name>.display (string)

<tag name>.font (32 bit unsigned integer)

<tag name>.height (64 bit real)

<tag name>.insertion_x (64 bit real)

<tag name>.insertion_y (64 bit real)

<tag name>.insertion_z (64 bit real)

<tag name>.justification (32 bit integer)

<tag name>.level (32 bit integer)

<tag name>.llx (64 bit real)

<tag name>.lly (64 bit real)

<tag name>.llz (64 bit real)

<tag name>.name (string)

<tag name>.original_justification (16 bit unsigned integer)

<tag name>.prompt (string)

<tag name>.rotation (64 bit real)

<tag name>.style (32 bit integer)

<tag name>.tagset_name (string)

<tag name>.tagtype (16 bit unsigned integer)

<tag name>.urx (64 bit real)

<tag name>.ury (64 bit real)

<tag name>.urz (64 bit real)

<tag name>.value (string)

<tag name>.weight (32 bit integer)

<tag name>.x (64 bit real)

<tag name>.x_offset (64 bit real)

<tag name>.y (64 bit real)

<tag name>.y_offset (64 bit real)

<tag name>.z (64 bit real)

<tag name>.z_offset (64 bit real)

 

Among them there is no tag "ParentID", which is responsible for connection between objects inside the cell. Without it complex objects are loosing their complexicity.

@MitaAtSafe, @mark2atsafe

, the most full info about reading and writing of dgn tags I found in your article. I should much appreciate it if you could help me


Reply