Creates a new AcDbLayout instance.
Gets the attributes object for this AcDbObject.
The AcCmObject instance containing all attributes
Gets the associated block table record ID of this layout.
The block table record ID
Sets the associated block table record ID of this layout.
The new block table record ID
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 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 the current extents setting of the layout.
This value may not be the actual extents of the geometry in the layout, it is just the value last saved in the layout.
The layout extents as a 3D bounding box
Sets the current extents setting of the layout.
The new layout extents as a 3D bounding box
Gets the user-friendly layout name that is displayed in the tab control.
Currently there is no restriction on the name except that the length is limited to 256 characters.
The layout name
Sets the user-friendly layout name that is displayed in the tab control.
The new layout name (limited to 256 characters)
Gets the limits for this layout.
Limits are defined by LIMMAX while this layout is current.
The layout limits as a 2D bounding box
Sets the limits for this layout.
The new layout limits as a 2D bounding box
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 the tab order field, which controls the order in which layouts are displayed.
The tab order should be unique and sequential for each layout in the database.
The tab order value
Sets the tab order field, which controls the order in which layouts are displayed.
The new tab order value
Gets whether the layout tab is included in the selection set for operations.
This flag indicates whether the layout tab is included in the selection set for operations that affect multiple tabs. The user can perform multiple selection via the user interface using shift-click.
True if the tab is selected, false otherwise
Sets whether the layout tab is included in the selection set for operations.
True to select the tab, false to deselect it
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
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
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
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
Sets the value of an attribute.
The name of the attribute to set
Optionalval: AcDbObjectAttrs[A]The value to assign to the attribute
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
Represents the stored characteristics of each paperspace layout.
Layout objects are stored in an AcDbDictionary object with an ACAD_LAYOUT key, allowing easy iteration and indexing. Each layout represents a paperspace configuration that can be used for printing or plotting.
Example