Creates an empty multileader entity with default style-related state.
Gets or sets whether annotative scaling is enabled for this entity.
Gets or sets the arrowhead block handle/name override.
Gets or sets per-index arrowhead overrides.
Each entry maps a branch/line index to a specific arrowhead handle.
Gets or sets the arrowhead size override in drawing units.
Gets the attributes object for this AcDbObject.
The AcCmObject instance containing all attributes
Gets or sets block attribute override values used by block content.
Gets the block content.
Gets or sets the block content color override.
Gets or sets the block content connection type code.
Gets the alias of blockContent.
Gets or sets the referenced block content id/handle for block-based content.
Gets or sets the block content rotation override in radians.
Gets or sets the block content scale vector override.
Gets or sets bottom attachment direction code for vertical text behavior.
Gets or sets the base insertion position of annotation content.
Gets the displayed MText string content.
Gets or sets the overall content scale override.
Gets the content type.
Gets the database in which this object is resident.
When an object isn't added to a database, this property returns the current working database. After it is added to a database, it will be set automatically. You should never set this value manually.
The database this object belongs to
Sets the database for this object.
This is typically set automatically when the object is added to a database. Manual setting should be avoided unless you know what you're doing.
The database to associate with this object
Gets the dogleg enabled.
Gets the dogleg length.
Gets the dogleg vector.
Gets the DXF type name used when exporting this entity.
Gets the objectId of the extension dictionary owned by this object.
If the object does not have an extension dictionary, this returns undefined.
In ObjectARX terms, this is equivalent to AcDbObject::extensionDictionary().
The extension dictionary objectId, or undefined
Sets the objectId of the extension dictionary owned by this object.
This does not create or delete the dictionary object itself — it only establishes or clears the ownership relationship.
Passing undefined removes the association.
The extension dictionary objectId, or undefined
Gets or sets whether block content exists in the serialized payload.
Gets or sets whether MText content exists in the serialized payload.
Returns true if this object is temporary and not yet committed to the database.
A temporary object is identified by its objectId starting with the TEMP prefix.
Gets or sets whether leader landings are enabled.
Gets or sets the gap distance between landing and annotation content.
Gets the landing point.
Gets the name of the layer referenced by this entity.
The layer name
Sets the name of the layer for this entity.
The new layer name
Gets or sets the explicit leader line color override.
Gets the leader line type.
Gets or sets the leader line type handle override.
Gets or sets the lineweight override for leader segments.
Gets a deep-cloned collection of all leader branches.
Gets the alias of leaders.
Gets or sets the MLeader style handle override stored on the entity.
When provided, this value is typically used as a fallback in addition to
mleaderStyleId during style resolution.
Gets the line style for this entity.
This method returns the line style based on the entity's linetype and other properties.
The line style object
Gets the name of the line type referenced by this entity.
The linetype name
Sets the name of the line type for this entity.
The new linetype name
Gets the line type scale factor of this entity.
When an entity is first instantiated, its line type scale is initialized to an invalid value. When the entity is added to the database, if a linetype scale has not been specified for the entity, it is set to the database's current line type scale value.
The linetype scale factor
Sets the line type scale factor for this entity.
The new linetype scale factor
Gets the line weight used by this entity.
The line weight value
Sets the line weight for this entity.
The new line weight value
Gets the mleader style id.
Gets the MText content payload if present.
Gets the normal.
Gets the current number of leader branches.
Gets the object ID.
AutoCAD uses 64-bit integers to represent handles, which exceed the maximum integer value of JavaScript. Therefore, strings are used to represent object handles.
The object ID as a string
Sets the object ID.
The new object ID
Gets the object ID of the owner of this object.
The owner object ID
Sets the object ID of the owner of this object.
The new owner object ID
Gets or sets whether the MLeader plane normal is reversed.
Gets or sets the origin of the MLeader plane definition.
Gets or sets the X-axis direction vector of the MLeader plane.
Gets or sets the Y-axis direction vector of the MLeader plane.
Returns the full property definition for this entity, including all property groups and runtime accessors.
This getter is used by the property inspector UI to:
The returned structure contains:
Note: The groups array contains AcDbEntityPropertyGroup objects whose
properties entries are runtime-resolved property descriptors that include
AcDbPropertyAccessor objects. Each property object therefore
conforms to AcDbEntityRuntimeProperty.
Gets or sets the property-override bit flag.
The flag indicates which visual/behavioral properties are overridden at the entity level instead of inherited from the referenced MLeader style.
Gets the RGB color of this entity.
This method handles the conversion of color indices (including ByLayer and ByBlock) to actual RGB colors. It resolves layer colors and block colors as needed.
The RGB color value as a number
Gets or sets the in-place editor text alignment code.
Gets or sets the text alignment type code.
Gets or sets the explicit text anchor position.
Gets or sets the text angle type code controlling rotation strategy.
Gets or sets the legacy text attachment value used in some DXF variants.
Gets the text attachment direction.
Gets the text attachment point.
Gets or sets text background color override.
Gets or sets whether explicit background color masking is enabled.
Gets or sets background-mask scale factor around text.
Gets or sets text background transparency value.
Gets or sets the MText color override.
Gets or sets whether text columns flow in reverse order.
Gets or sets the gutter width between text columns.
Gets or sets the explicit text column height.
Gets or sets the text column layout type code.
Gets or sets the fixed width for text columns.
Gets the text direction.
Gets or sets whether text direction is treated as negative.
Gets the text drawing direction.
Gets or sets whether text fill/mask is enabled.
Gets or sets the text flow direction override code.
Gets or sets whether a text frame (border) is enabled.
Gets the text height.
Gets or sets left-side text attachment behavior code.
Gets the text line spacing factor.
Gets or sets the text line spacing style code for column/text layout.
Gets the MText anchor point.
Gets or sets right-side text attachment behavior code.
Gets the text rotation.
Gets or sets the text style handle override for MText content.
Gets the text style name.
Gets or sets whether text column height is auto-managed.
Gets or sets whether word breaking is enabled in column layout.
Gets the text width.
Gets or sets top attachment direction code for vertical text behavior.
Gets the transparency level of this entity.
The transparency value.
Sets the transparency level of this entity.
The transparency value.
Gets the type name of this entity.
This method returns the entity type by removing the "AcDb" prefix from the constructor name.
The entity type name
Gets or sets the serialized MLeader version code.
This value mirrors DXF/internal version metadata and is used to keep compatibility with files saved from different AutoCAD generations.
Gets whether this entity is visible.
True if the entity is visible, false otherwise
Sets whether this entity is visible.
True to make the entity visible, false to hide it
Adds a break segment to a specific leader line.
Index of the leader branch.
Index of the leader line.
Break start point.
Break end point.
The current entity instance for chaining.
Adds a leader branch and returns its index.
Optional leader payload used to initialize branch data.
Index of the newly added leader branch.
Adds a leader line to a leader branch and returns the line index.
Index of the target leader branch.
Optional initial vertices for the leader line.
Index of the newly added leader line.
Appends a vertex to one leader line.
Index of the target leader branch.
Index of the target leader line.
Vertex to append.
The current entity instance for chaining.
Creates the extension dictionary for this object if it does not already exist.
This method closely mirrors the behavior of
AcDbObject::createExtensionDictionary() in ObjectARX.
The objectId of the extension dictionary
Writes this multileader entity to DXF group codes.
DXF filer that receives serialized values.
The current entity instance for chaining.
Gets the value of the specified attribute.
This method will throw an exception if the specified attribute doesn't exist. Use getAttrWithoutException() if you want to handle missing attributes gracefully.
The name of the attribute to retrieve
The value of the specified attribute
Gets the value of the specified attribute without throwing an exception.
This method returns undefined if the specified attribute doesn't exist, making it safer for optional attributes.
The name of the attribute to retrieve
The value of the specified attribute, or undefined if it doesn't exist
ProtectedgetProtectedgetCreates the "General" property group for this entity.
This group contains common metadata attributes shared by all CAD entities (e.g., handle, layer). Each property includes a runtime AcDbPropertyAccessor allowing the property inspector to read and update live values.
Subclasses may override this method to append additional general-purpose properties while still preserving this base set.
A fully resolved property group containing runtime-accessible properties.
ProtectedgetGets cloned vertices from the specified leader line.
Index of the leader branch.
Index of the leader line in the branch.
A cloned vertex list so callers cannot mutate internal state.
Retrieves the XData associated with this object for a given application ID.
Extended Entity Data (XData) allows applications to attach arbitrary, application-specific data to an AcDbObject. Each XData entry is identified by a registered application name (AppId) and stored as an AcDbResultBuffer.
This method is conceptually equivalent to AcDbObject::xData() in ObjectARX,
but simplified to return the entire result buffer for the specified AppId.
The application ID (registered AppId name) that owns the XData
The AcDbResultBuffer associated with the AppId, or undefined
if no XData exists for that AppId
ProtectedhasProtectedhasProtectedhasRemoves a leader branch.
Zero-based index of the leader branch to remove.
The current entity instance for chaining.
Removes the XData associated with the specified application ID.
After removal, calls to getXData() for the same AppId will return undefined.
If no XData exists for the given AppId, this method has no effect.
This mirrors the behavior of clearing XData for a specific application in ObjectARX rather than removing all XData from the object.
The application ID whose XData should be removed
Resolves the effective properties of this entity.
This method determines the final, usable values for entity properties such as layer, linetype, lineweight, color, and other display-related attributes. If a property is not explicitly set on the entity (for example, it is undefined or specified as ByLayer / ByBlock), the value is resolved according to the current AutoCAD system variables and drawing context.
Typical system variables involved in the resolution process include, but are not limited to:
CLAYER – Current layerCELTYPE – Current linetypeCELWEIGHT – Current lineweightCECOLOR – Current colorThe resolution follows AutoCAD semantics:
This method does not change user-defined property settings; it only computes and applies the final effective values used for display, selection, and downstream processing.
Sets the value of an attribute.
The name of the attribute to set
Optionalval: AcDbObjectAttrs[A]The value to assign to the attribute
Sets the dogleg direction for one leader branch.
Index of the leader branch.
New dogleg direction vector.
The current entity instance for chaining.
Sets the dogleg length for one leader branch.
Index of the leader branch.
New dogleg length, or undefined to clear the override.
The current entity instance for chaining.
ProtectedsetSets the landing point for one leader branch.
Index of the leader branch.
New landing point, or undefined to clear it.
The current entity instance for chaining.
Replaces the vertices of one leader line.
Index of the target leader branch.
Index of the target leader line.
New vertex sequence.
The current entity instance for chaining.
Attaches or replaces XData for this object.
If XData already exists for the given AppId, it is replaced by the provided AcDbResultBuffer. The caller is responsible for ensuring that:
This method is conceptually similar to AcDbObject::setXData() in ObjectARX.
The result buffer containing the XData to attach
ProtectedshouldGets grip points used for interactive editing.
Cloned grip points derived from renderable geometry.
Gets the object snap points for this entity.
Object snap points are the points that can be used for precise positioning when drawing or editing. This method should be overridden by subclasses to provide entity-specific snap points.
The object snap mode
The pick point
The last point
Array to populate with snap points
OptionalgsMark: anyThe object id of subentity. For now, it is used by INSERT entity only. In AutoCAD, it uses AcGiSubEntityTraits::setSelectionMarkerInput to set GS marker of the subentity involved in the object snap operation. For now, we don't provide such a GS marker mechanism yet. So passed id of subentity as GS marker. Maybe this behavior will change in the future.
OptionalinsertionMat: AcGeMatrix3dCumulative insertion transform matrix from nested block references. This parameter is primarily used by INSERT entities.
Builds renderable primitives for this multileader entity.
Graphics renderer used to create draw entities.
A single entity, an entity group, or undefined when nothing is drawable.
Applies a transformation matrix to this entity.
Transformation matrix applied to all geometry and vectors.
The current entity instance for chaining.
Called by cad application when it wants the entity to draw itself in WCS (World Coordinate System) and acts as a wrapper / dispatcher around subWorldDraw(). The children class should never overidde this method.
It executes the following logic:
The renderer to use for drawing
Optionaldelay: booleanThe flag to delay creating one rendered entity and just create one dummy entity. Renderer can delay heavy calculation operation to avoid blocking UI when this flag is true. For now, text and mtext entity supports this flag only. Other types of entities just ignore this flag.
The rendered entity, or undefined if drawing failed
Represents a multileader entity.
A multileader contains one or more leader branches, each of which can contain one or more leader lines, plus optional MText or block content.