Entities

entities/multileader

#include "dxfio/entities/multileader.hpp"

In DxfIO::Entities

struct Gap

A break in a leader line, between two points of one of its segments.

FieldTypeMeaning
IndexintThe segment the break is in. Group 90.
StartVectorWhere the break starts, in world coordinates. Groups 11, 21, 31.
EndVectorWhere the break ends, in world coordinates. Groups 12, 22, 32.

struct Stem

A leader line of a MULTILEADER: its vertices, its breaks and what it overrides of its MULTILEADER.

FieldTypeMeaning
Pointsstd::vector<Vector>The vertices, in world coordinates. Groups 10, 20, 30.
Gapsstd::vector<Gap>The breaks in its segments, each opened by group 90.
IndexintThe line's index in its leader. Group 91.
Colorstd::optional<int>The color of the line, as a packed color, when it has its own. Group 92.
Kindstd::optional<int>The line type, when it has its own: 0 invisible, 1 straight, 2 spline. Group 170.
LinetypeHandleThe linetype of the line, when it has its own. Group 340.
Lineweightstd::optional<int>The lineweight of the line, when it has its own. Group 171.
Arrowstd::optional<double>The size of the arrowhead, when it has its own. Group 40.
HeadHandleThe block that draws the arrowhead, when it has its own. Group 341.
Overridesstd::optional<int>Which properties the line has of its own, as bits. Group 94.

struct Span

A break in the dogleg of a leader.

FieldTypeMeaning
StartVectorWhere the break starts, in world coordinates. Groups 12, 22, 32.
EndVectorWhere the break ends, in world coordinates. Groups 13, 23, 33.

struct Branch

A leader of a MULTILEADER: its landing, its dogleg and the leader lines that run from it.

FieldType and defaultMeaning
Lastingbool{true}Whether the point the lines end at is set. Group 290.
Bentbool{true}Whether the direction of the dogleg is set. Group 291.
LastVectorThe point the leader lines end at, where the landing starts, in world coordinates. Groups 10, 20, 30.
DoglegVector{.X = 1}The direction of the dogleg. Groups 11, 21, 31.
Spansstd::vector<Span>The breaks in the dogleg, each opened by group 12.
IndexintThe leader's index. Group 90.
LengthdoubleThe length of the dogleg. Group 40.
Stemsstd::vector<Stem>The leader lines, each between group 304 LEADER_LINE{ and group 305.
AttachmentintHow the leader attaches to the content: 0 horizontally, 1 vertically. Group 271, from R2010.

struct Note

The context data of a MULTILEADER: where its content and leaders lie, and how its text or block is drawn.

FieldType and defaultMeaning
Scaledouble{1}The overall scale of the content. Group 40.
BaseVectorThe base point of the content, in world coordinates. Groups 10, 20, 30.
HeightdoubleThe height of the text. Group 41.
ArrowdoubleThe size of the arrowheads. Group 140.
LandingdoubleThe gap between the landing and the text. Group 145.
Leftint{1}How text attaches to a leader on its left. Group 174.
Rightint{1}How text attaches to a leader on its right. Group 175.
AlignintHow the text is aligned. Group 176.
AttachintHow the content attaches, as AutoCAD records it. Group 177.
TextedboolWhether the content is text, which the groups from Text to Breaks then describe. Group 290.
Textstd::stringWhat the text says, with its MTEXT formatting codes. Group 304.
NormalVector{Up}The normal of the text's plane. Groups 11, 21, 31.
StyleHandleThe text style. Group 340.
LocationVectorWhere the text lies, in world coordinates. Groups 12, 22, 32.
DirectionVector{.X = 1}The direction of the text. Groups 13, 23, 33.
RotationdoubleThe rotation of the text. Group 42.
WidthdoubleThe width of the text's frame. Group 43.
TalldoubleThe height of the text's frame. Group 44.
Spacingdouble{1}The line spacing, as a factor of the default. Group 45.
Spacedint{1}The line spacing style: 1 at least, 2 exactly. Group 170.
Colorint{Inherited}The color of the text, as a packed color. Group 90.
Attachmentint{1}The attachment point of the text, as an MTEXT's group 71 gives it. Group 171.
Flowint{5}The drawing direction of the text, as an MTEXT's group 72 gives it. Group 172.
Backgroundint{Inherited}The color of the background, as a packed color. Group 91.
MargindoubleHow far the background reaches past the text, as a factor of the letter height. Group 141.
TransparencyintThe transparency of the background. Group 92.
BackedboolWhether the text has a background fill. Group 291.
FilledboolWhether the background is filled with the drawing window's color. Group 292.
ColumnsintThe columns: 0 none, 1 static, 2 dynamic. Group 173.
GrowsboolWhether the height of the text's frame follows the text. Group 293.
ColumndoubleThe width of a column. Group 142.
GutterdoubleThe gap between columns. Group 143.
ReversedboolWhether the text flows through the columns in reverse. Group 294.
Heightsstd::vector<double>The height of each column. Group 144.
BreaksboolWhether words break at the edge of the frame. Group 295.
BlockedboolWhether the content is a block, which the groups from Block to Frame then describe. Group 296.
BlockHandleThe block record of the content. Group 341.
FacingVector{Up}The normal of the block's plane. Groups 14, 24, 34.
PlacedVectorWhere the block lies, in world coordinates. Groups 15, 25, 35.
SizedVector{.X = 1, .Y = 1, .Z = 1}The scale of the block along each axis. Groups 16, 26, 36.
TurneddoubleThe rotation of the block. Group 46.
Tintint{Inherited}The color of the block, as a packed color. Group 93.
FrameMatrixThe block's transformation matrix, its 16 cells each a group 47.
OriginVectorThe origin of the MULTILEADER's plane, in world coordinates. Groups 110, 120, 130.
AcrossVector{.X = 1}The X axis of the MULTILEADER's plane. Groups 111, 121, 131.
AlongVector{.Y = 1}The Y axis of the MULTILEADER's plane. Groups 112, 122, 132.
FlippedboolWhether the normal of the MULTILEADER's plane is reversed. Group 297.
Branchesstd::vector<Branch>The leaders, each between group 302 LEADER{ and group 303.
Bottomint{9}How text attaches to a leader below it, 9 at its center. Group 272, from R2010.
Topint{9}How text attaches to a leader above it, 9 at its center. Group 273, from R2010.

struct Tip

An arrowhead of a MULTILEADER, by the index of the leader line it ends.

FieldTypeMeaning
IndexintWhich arrowhead of the MULTILEADER this is, by index. Group 94.
BlockHandleThe block that draws the arrowhead. Group 345.

struct Label

The value a MULTILEADER gives an attribute of its block.

FieldTypeMeaning
DefinitionHandleThe ATTDEF of the block the value is for. Group 330.
IndexintWhich attribute of the block the value is for, by index. Group 177.
WidthdoubleThe width of the attribute's text. Group 44.
Textstd::stringThe value the attribute takes. Group 302.

struct Callout

The AcDbMLeader subclass of a MULTILEADER: its context data, and what it overrides of its MLEADERSTYLE.

FieldType and defaultMeaning
Versionint{2}The version of the MULTILEADER's layout. Group 270, from R2010.
ContextNoteWhere the content and the leaders lie, between group 300 CONTEXT_DATA{ and group 301.
StyleHandleThe MLEADERSTYLE. Group 340.
OverridesintWhich properties of the style the MULTILEADER overrides, as bits. Group 90.
Lineint{1}The leader line type: 0 invisible, 1 straight, 2 spline. Group 170.
Colorint{Inherited}The color of the leader lines, as a packed color. Group 91.
LinetypeHandleThe linetype of the leader lines. Group 341.
Lineweightint{-2}The lineweight of the leader lines, as an entity's group 370 gives it. Group 171.
Landingbool{true}Whether the leaders have a landing. Group 290.
Bentbool{true}Whether the leaders have a dogleg. Group 291.
LengthdoubleThe length of the dogleg. Group 41.
ArrowHandleThe block that draws the arrowheads; none for the default arrowhead. Group 342.
SizedoubleThe size of the arrowheads. Group 42.
Contentint{2}The content: 0 none, 1 a block, 2 an MTEXT, 3 a tolerance. Group 172.
LetteringHandleThe text style. Group 343.
Leftint{1}How text attaches to a leader on its left. Group 173.
Rightint{1}How text attaches to a leader on its right. Group 95.
Angleint{1}How the text is turned: 0 along the last leader segment, 1 horizontal, 2 along it but kept upright. Group 174.
AlignintThe alignment of the text: 0 left, 1 center, 2 right. Group 175.
Tintint{Inherited}The color of the text, as a packed color. Group 92.
FramedboolWhether the text has a frame. Group 292.
BlockHandleThe block record of the content. Group 344.
Shadeint{Inherited}The color of the block, as a packed color. Group 93.
SizedVector{.X = 1, .Y = 1, .Z = 1}The scale of the block along each axis. Groups 10, 20, 30.
TurneddoubleThe rotation of the block. Group 43.
ConnectionintWhere the block meets the leaders: 0 the center of its extents, 1 its insertion point. Group 176.
AnnotativeboolWhether the MULTILEADER is annotative. Group 293.
Tipsstd::vector<Tip>The arrowheads of the leader lines, each opened by group 94.
Labelsstd::vector<Label>The values of the block's attributes, each opened by group 330.
NegativeboolWhether the text runs in the negative direction. Group 294.
PinnedintThe alignment of the text while it is edited in place. Group 178.
Pointint{1}The attachment point of the text: 1 left, 2 center, 3 right. Group 179.
Factordouble{1}The overall scale. Group 45.
AttachmentintHow text attaches to the leaders: 0 horizontally, 1 vertically. Group 271, from R2010.
Bottomint{9}How text attaches to a leader below it, 9 at its center. Group 272, from R2010.
Topint{9}How text attaches to a leader above it, 9 at its center. Group 273, from R2010.
ExtendedboolWhether the leaders extend to the text. Group 295, from R2013.

struct MultiLeaderMULTILEADER

A MULTILEADER: one or more leaders that point from a text, a block or a tolerance.

FieldTypeMeaning
RecordEntities::RecordThe layer, linetype, color and the rest every entity carries.
Picturestd::stringThe proxy graphics, for programs that cannot draw the entity. Group 92, or 160 from R2010, then 310.
CalloutBoxed<Entities::Callout>The leaders, their content and what they override of their style, from the AcDbMLeader subclass.

Constants

Inheritedint = -1073741824ByLayer, as a packed color: the color method 0xC0 in the top byte and nothing below it.