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 canonical media name (locale-independent paper name).
Sets the canonical media name (locale-independent paper name).
Gets the plot style table name (CTB/STB).
Sets the plot style table name (CTB/STB).
Gets the custom print scale ratio.
Sets the custom print scale ratio.
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 whether viewports are plotted after paperspace objects.
Sets whether viewports are plotted after paperspace objects.
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 whether this plot settings object is for model space.
Sets whether this plot settings object is for model space.
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 whether viewports plot as raster based on shade plot settings.
Gets whether the plot is centered on the paper.
Sets whether the plot is centered on the paper.
Gets the plot configuration (PC3) name.
Sets the plot configuration (PC3) name.
Gets whether hidden line removal is applied to paperspace objects.
Sets whether hidden line removal is applied to paperspace objects.
Gets the plot origin (paper offset).
Sets the plot origin (paper offset).
Gets the plot paper margins (unprintable area in millimeters).
Sets the plot paper margins (unprintable area in millimeters).
Gets the plot paper size (physical size in millimeters).
Sets the plot paper size (physical size in millimeters).
Gets the plot paper units.
Sets the plot paper units.
Gets whether plot styles are applied during plotting.
Sets whether plot styles are applied during plotting.
Gets the plot rotation.
Sets the plot rotation.
Gets the plot settings name (page setup name).
Sets the plot settings name (page setup name).
Gets the plot type (display, extents, view, etc.).
Sets the plot type (display, extents, view, etc.).
Gets the plot view name used when plot type is kView.
Sets the plot view name used when plot type is kView.
Gets whether viewport borders are plotted.
Sets whether viewport borders are plotted.
Gets whether viewports plot as wireframe based on shade plot settings.
Gets whether lineweights are printed.
Sets whether lineweights are printed.
Gets whether lineweights are scaled by the plot scale.
Sets whether lineweights are scaled by the plot scale.
Gets the shade plot type for viewports.
Sets the shade plot type for viewports.
Gets the shade plot custom DPI (used with kCustom).
Sets the shade plot custom DPI (used with kCustom).
Gets the shade plot ID (visual style or render preset object ID).
Sets the shade plot ID (visual style or render preset object ID).
Gets the shade plot resolution level.
Sets the shade plot resolution level.
Gets whether plot styles are shown in layout mode.
Sets whether plot styles are shown in layout mode.
ObjectARX-style getter for the standard scale as a numeric ratio.
Gets the standard scale selection.
Sets the standard scale selection.
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
Gets whether the standard scale is used to compute the plot scale.
Sets whether the standard scale is used to compute the plot scale.
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 the common DXF wrapper for this object and then delegates the object-specific payload to dxfOutFields.
Writes the plot settings DXF payload.
This follows the PLOTSETTINGS group code specification and emits the plot configuration, media, scale, and flag data for this settings object.
DXF filer that receives the group codes
This plot settings 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
ObjectARX-style getter for the custom print scale.
ObjectARX-style getter for the plot origin.
ObjectARX-style getter for the plot paper margins.
ObjectARX-style getter for the plot paper size.
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
ObjectARX-style setter for shade plot type.
ObjectARX-style setter for shade plot resolution level.
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