Hi @itay,
Thanks for the swift response. I think I'm still missing something, because doing that seems to fail.
So step by step (just to test it) here's what I've currently got connected up in FME
- Shape reader containing road network
- AttributeExposer to expose fme_feature_type
- AttributeCreator to set fme_feature_type to the new value based on the Seed file
- Dynamic DGN writer (it auto sets to "fme_feature_type", I should have seen that as a hint :) )
The problem I have is at the new value based off the seed file. Whatever I choose (as you describe, "layer/level") gets ignored completely, and my output still ends up un-formatted black lines. Here is an example of "Minor ramps" which I'm trying to set my source to (lots of text). All the ones marked as bold, I've tried setting to the fme_feature_type, with no success:
Feature Type 5
Coordinate System Unknown
Dimension 2D
Number of Vertices 1
Min Extents 3437437.5542422365,
7094051.18513186
Max Extents 3437617.5542422365,
7094071.18513186
Attributes (67)
fme_color (string) 1,0.698039215686274,0
fme_geometry (string) fme_point
fme_rotation (64 bit real) 0.0
fme_text_size (64 bit real) 20.0
fme_text_string (encoded: cp1252) 15 RAMPS MINOR RDS
fme_type (string) fme_text
igds_basename (string) 09_SEED_FILE_TRANS-NEW
igds_class (32 bit unsigned integer) 0
igds_color (32 bit integer) 12
igds_color.blue (32 bit integer) 0
igds_color.green (32 bit integer) 178
igds_color.red (32 bit integer) 255
igds_date_last_modified (string) 20160503 01:27:28AM
igds_element_id (string) 28741
igds_element_locked (string) no
igds_element_modified (string) yes
igds_element_new (string) yes
igds_element_priority (32 bit integer) 0
igds_element_type (32 bit unsigned integer) 17
igds_element_view_independent (string) no
igds_element_visibility (string) yes
igds_font (32 bit unsigned integer) 195
igds_graphic_group (32 bit unsigned integer) 0
igds_insertion_x (64 bit real) 3437437.5542422365
igds_insertion_y (64 bit real) 7094061.18513186
igds_justification (32 bit integer) 2
igds_level (32 bit unsigned integer) 5
igds_level_comment (string) RAMP
- MINOR RDS
igds_level_name (string) Level
15
igds_lower_x (64 bit real) 3437437.5542422365
igds_lower_y (64 bit real) 7094051.18513186
igds_max_used_string_len (16 bit unsigned integer) 18
igds_model_id (32 bit unsigned integer) 0
igds_model_name (string) Default
igds_original_justification (16 bit unsigned integer) 1
igds_rotation (64 bit real) 0.0
igds_snappable (string) yes
igds_string_len (64 bit real) 296.671142578125
igds_style (32 bit integer) 0
igds_style_name (encoded: utf-16le) STANDARD_LSTYLE_0
igds_text_size (64 bit real) 20.0
igds_text_string (encoded: cp1252) 15 RAMPS MINOR RDS
igds_text_width_multiplier (64 bit real) 21.0
igds_textstyle_bold (boolean) No
igds_textstyle_char_spacing (64 bit real) 0.0
igds_textstyle_codepage (32 bit unsigned integer) 1252
igds_textstyle_exflags (32 bit unsigned integer) 0
igds_textstyle_font (32 bit unsigned integer) 0
igds_textstyle_id (32 bit unsigned integer) 0
igds_textstyle_overline (boolean) No
igds_textstyle_overrides_style1 (32 bit unsigned integer) 0
igds_textstyle_overrides_style2 (32 bit unsigned integer) 0
igds_textstyle_tnode_word_wrap_len (64 bit real) 0.0
igds_textstyle_txflags (16 bit unsigned integer) 512
igds_textstyle_underline (boolean) No
igds_type (string) igds_text
igds_upper_x (64 bit real) 3437734.2253848147
igds_upper_y (64 bit real) 7094071.18513186
igds_weight (32 bit integer) 0
igds_xhigh (64 bit real) 3437734.2253848147
igds_xlow (64 bit real) 3437437.5542422365
igds_yhigh (64 bit real) 7094071.18513186
igds_ylow (64 bit real) 7094051.18513186
igds_zhigh (32 bit integer) 2147483647
igds_zhigh_uor (32 bit integer) 2147483647
igds_zlow (32 bit integer) -2147483648
igds_zlow_uor (32 bit integer) -2147483648
IFMEText 15
RAMPS MINOR RDS
Encoding Name cp1252
Text Rotation (degrees CCW) 0.0
Text Size 20.0
Text Location As Point 3437437.5542422365,
7094051.18513186
Text Location: IFMEPoint 3437437.5542422365,
7094051.18513186
So I'm still not sure which one of those many attributes to use from the SEED, but unless I'm doing something else wrong, none of the boldened ones work.
Thanks in advance,
Hi @Itay,
Indeed, your workspace and the DGNstyler makes perfect sense. I have also been able to set individual colors for layers. Sadly, still no luck in reading the Seed. I did check that the writer parameter is indeed set to my custom seed instead of the FME default, and all is indeed set correctly there.
So everything looks fine, but the result is still incorrect. by using the attribute you describe above, setting the fme_feature_type to "Level 15" should result in orange lines (as read from the seed). Still, all I get is black, unformatted lines. I even tested by changing the igds_color attribute in fme to an orange color, and that does in fact work. So I can display color, nothing is wrong on that front.
The issue remains of reading this from the seed, as my seed (with the minor ramps shown above as an example) contains about 80 entries, all with different line sizes and colors.
So doing it manually is a possibility, however time constraints and room for error is still a huge problem, so I'd really like to find a way to read the seed instead.
Any other ideas?
Thanks again for all the help.
Hi @robbie_botha
apparently, your seed-file is not set up properly to make it really convenient to use.
Let's take a look at the feature that represents major roads (light orange unsealed). All major roads (light orange unsealed) are supposed to be written on level Level 26A and appear in light orange (color 46) with linestyle 3 and line weight 4. To make these visual attributes easy to reuse, you could set default style for the Level 26A through MicroStation Level Manager:

After the seed-file is altered, you can write any feature on Level 26A with ByLevel color, linestyle, and line weight. This is what you would need in your workspace:
- igds_level = Level 26A added to the feature

- color, linestyle, and line weight set to ByLevel

- destination feature type Level Name set to igds_level

Please take a look at the attached workspace. I also attach your original seed-file with adjusted Level 26A default style and sample output.dgn.
none2dgnv8.fmw
6518-09-seed-file-trans-new.dgn
output.dgn
Hi @lenaatsafe In the past I have been able to use a Seed file in terms of setting the, lineweights, colors etc to show up as per the settings in the Seed file. However this does not always work and I was wondering if there is some other setting I need to configure to ensure this always works. Reading through the answers on this forum question I am still a bit confused as to the difference between igds_level and igds_level_name and was wondering if this has an impact on whether the Seed file works. I did notice that in your example you set igds_level to 'Level 26A' however igds_level appears to be of integer type which has confused me.
Also, even when I do get the colors, lineweights, etc to work from the Seed file, I am unable to get any of the content within the Seed file such as the Title block , to appear in the output DGN. Is there a way to ensure this content comes through?
Thanks
Hi @aquamarine
are you dealing with DGN v7 or DGN v8? As far as I recall, in v8, igds_level as actually level name rather than level number. It is quite not easy to get to level numbers in v8 (in MicroStation). Level numbers seem to be an obsolete concept now. In v7, igds_level is level number while igds_level_name is level name.
If you set fanout on the destination feature type, you can use igds_level for v8 or igds_level_name for v7 as the fanout attribute. The key is to have the correct values in these attributes on the features.
If you do work with v7 seed-file, let's take a look and compare. Is your desired output in v7?
Re the content of the seed file: only the file header is copied, i.e. other elements are not supposed to be transferred into the new file. If you need e.g. seed-file Title Block, you can read your seed-file as an additional source dataset and write its content into the destination dgn-file.