Multilines
igds_type: igds_line
The multilines are stored with their igds_type
as igds_line
, but the fact that they are multilines can be detected from igds_element_type
, which is stored as type 36.
The multilines are stored as lines, therefore they are written as lines when performing a DGN-to-DGN translation. Currently, the multilines are imported with their centerlines only. However, the attributes such as offset and symbology (style, weight, color) of the pieces are stored in the list attribute igds_multiline{}
. When reading multilines from a V7 dataset, the multilines are ignored if they are part of a cell. In addition, if the keyword READ_BYTE_OFFSET
is set to true, then it gets ignored for multilines.
A multiline has the attributes shown below.
Attribute Name |
Contents |
igds_mlineStyle{#}.offset igds_mlineStyle{#}.style igds_mlineStyle{#}.color igds_mlineStyle{#}.weight igds_mlineStyle{#}.level |
Where offset is the perpendicular distance of the piece from the centerline, and {}.style, {}.color, {}.weight and {}.level are the line styles, color, weight and level of the individual pieces. |
igds_mlinehdr_num_lines |
Number of pieces of the multiline. Range: Any real number > 0 Default: No default |
igds_mlinehdr_num_breaks |
Number of breaks of the multiline. Range: Any real number > 0 Default: No default |
igds_mlinehdr_num_nodes |
Number of nodes of the multiline. Range: Any real number > 0 Default: No default |
igds_mlinehdr_startcap_angle |
Angle in degrees of the start cap. Range: -360.0..360.0 Default: 0 |
igds_mlinehdr_endcap_angle |
Angle in degrees of the end cap. Range: -360.0..360.0 Default: 0 |
igds_mlinehdr_freeze_group |
Multiline header attribute - value is always 0 (for internal use by the toolkit) |
igds_mlinehdr_version |
Multiline header version - currently it is 3 (for internal use by the toolkit) |
igds_mlinehdr_closed |
Whether or not multiline is closed. Range: 0 or 1 Default: No default |
igds_mlinehdr_arc_cap_by_profile_ |
Multiline header flags (for internal use by the toolkit) |
igds_mlinehdr_offset_model_valid |
Multiline header flags (for internal use by the toolkit) |
igds_mlinehdr_offset_mode |
Multiline header flags (for internal use by the toolkit) |
igds_mlinehdr_placement_offset |
Global offset from definition points. Range: Real Number Default: No default |
igds_mlinehdr_style_id.lo igds_mlinehdr_style_id.hi |
ID of multiline style element. Range: Integer Default: No default |
igds_mlinehdr_styleScale |
Scale of multiline style element. Range: Real Number Default: No default |
igds_mlinehdr_updv.x igds_mlinehdr_updv.y igds_mlinehdr_updv.z |
Up direction vector for 3D to determine side orientation. Range: Real Number Default: No default |
igds_mlattrib_startcap.usestyle igds_mlattrib_startcap.useweight igds_mlattrib_startcap.usecolor igds_mlattrib_startcap.cap_on_arc igds_mlattrib_startcap.cap_out_arc igds_mlattrib_startcap.cap_line igds_mlattrib_startcap.use_class igds_mlattrib_startcap.customstyle igds_mlattrib_startcap.cap_color_ igds_mlattrib_startcap.construction_
The same list of attributes is repeated for end_cap and joint; for example: igds_mlattrib_endcap.usestyle etc. and igds_mlattrib_joint.usestyle etc. |
Flags specifying the properties of the multiline. Range: 0 or 1 Default: No default
|
igds_mlattrib_startcap.style |
Style of start cap. Range: 0..7 Default: 0 |
igds_mlattrib_startcap.weight |
Weight of start cap. Range: 0..31 Default: 0 |
igds_mlattrib_startcap.color |
Color of start cap. Range: 0..254 Default: 0 |
igds_mlattrib_endcap.style |
Style of end cap. Range: 0..7 Default: 0 |
igds_mlattrib_endcap.weight |
Weight of end cap. Range: 0..31 Default: 0 |
igds_mlattrib_endcap.color |
Color of end cap. Range: 0..254 Default: 0 |
igds_mlattrib_joint.style |
Style of joint cap. Range: 0..7 Default: 0 |
igds_mlattrib_joint.weight |
Weight of joint cap. Range: 0..31 Default: 0 |
igds_mlattrib_joint.color |
Color of joint cap. Range: 0..254 Default: 0 |
igds_mlineStyle{#}.offset |
Offset of each member of multiline Default: No Default |
igds_mlineStyle{#}.lineattrib.usestyle igds_mlineStyle{#}.lineattrib.useweight igds_mlineStyle{#}.lineattrib.usecolor igds_mlineStyle{#}.lineattrib.cap_on_arc igds_mlineStyle{#}.lineattrib.cap_out_arc igds_mlineStyle{#}.lineattrib.cap_line igds_mlineStyle{#}.lineattrib.use_class igds_mlineStyle{#}.lineattrib.customstyle igds_mlineStyle{#}.lineattrib.cap_color_from_segment igds_mlineStyle{#}.lineattrib.construction_class |
Values defining the flag of line attribute Default: No Default |
igds_mlineStyle{#}.lineattrib.style |
Style of line attribute Range: 0..7 Default: 0 |
igds_mlineStyle{#}.lineattrib.weight |
Weight of line attribute Range: 0..31 Default: 0 |
igds_mlineStyle{#}.lineattrib.color |
Color of line attribute Range: 0..254 Default: 0 |
igds_mlineStyle{#}.lineattrib.level |
Level of line attribute Default: 0 |
igds_mlinenode_props |
If a multiline has a large number of nodes, which is very likely, it will need to be cleaned up before viewing it in the Universal Viewer. Store these two attributes as strings with comma-separated values. This will be the protocol b_index1, bCount1, b_index2, bCount2, ...... b_indexn, bCountn The writer will parse them in the same order and use them. Default: No default |
igds_mlinebreak{#}.segmask |
Mask bit set for each line that is broken. Default: No default |
igds_mlinebreak{#}.from_joint igds_mlinebreak{#}.to_joint |
Flags setting the line break properties Default: No default |
igds_mlinebreak{#}.point_offset |
Offset from point Default: No default |
igds_mlinebreak{#}.length |
Break length Default: No default |
igds_mlinebreak{#}.angle |
Reserved - should be 0.0 Default: No default |