LayOut C API

- Main Page
- Related Pages
- Data Structures
- Files

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
LayOut C API Release Notes

## LayOut API 11.1, LayOut 2026.1

- Updated LOEntityApplyTransform() to return SU_ERROR_INVALID_INPUT when the supplied transform matrix is not invertible.

## LayOut API 11.0, LayOut 2026.0

- Added LOLinearDimensionCreateWithAlignment()
- Added LOLinearDimensionAlignment enumeration
- Added LOLinearDimensionGetLeaderLineVisible()
- Added LOStyleGetTextStrikeThrough()
- Added LOStyleSetTextStrikeThrough()
- Added LOTextStrikeThrough enumeration
- Added LOSketchUpModelGetCamera()
- Added LOSketchUpModelSetCamera()
- Added LOSketchUpModelSetViewportOverridesOnModel()
- Added LOSketchUpModelResetViewportOverridesOnModel()
- Added LODocumentCreateAttributeDictionaryCopy()
- Added LODocumentSetAttribute()
- Added LODocumentGetAttribute()
- Added LODocumentDeleteAttribute()
- Added LOEntityCreateAttributeDictionaryCopy()
- Added LOEntitySetAttribute()
- Added LOEntityGetAttribute()
- Added LOEntityDeleteAttribute()
- Added LOPageCreateAttributeDictionaryCopy()
- Added LOPageSetAttribute()
- Added LOPageGetAttribute()
- Added LOPageDeleteAttribute()
- Added LOTypedValueType::LOTypedValueType_Dictionary enumeration value
- Added LOTypedValueGetDictionary()
- Added LOTypedValueSetDictionary()

## LayOut API 10.0, LayOut 2025.0

- Added LOExportOption_PageRangeType export option.

## LayOut API 9.0, LayOut 2024.0

- Added LOExportOption_PageRange export option.
- Fixed LOEntityMoveToLayer() when moving an entity on a nonshared layer.
- Fixed LOEntityListMoveToLayer() when moving entities on nonshared layers.

## LayOut API 8.1, LayOut 2023.1

- Added LODocumentGetRenderModeOverride()
- Added LODocumentSetRenderModeOverride()
- Added LOImageGetOutputImageRep()
- Added LOPageInfoGetImageDisplayResolution()
- Added LOPageInfoSetImageDisplayResolution()
- Added LOPageInfoGetImageOutputResolution()
- Added LOPageInfoSetImageOutputResolution()
- Added LOSketchUpModelRenderMode::LOSketchUpModelRenderMode_NoOverride render mode type
- Added LOSketchUpModelGetOutputEntities()

## LayOut API 8.0, LayOut 2023.0

- Added LOAutoTextDefinitionGetSequenceType()
- Added LOAutoTextDefinitionSetSequenceType()
- Added LOAutoTextDefinitionSequenceType enumeration
- Added LOEntityType::LOEntityType_ReferenceEntity entity type
- Added LOReferenceEntityRef - a wrapper for the new Reference Entity class in LayOut that wraps imported data that is not from SketchUp Models.
- Added LOReferenceEntityAddReference()
- Added LOReferenceEntityRelease()
- Added LOReferenceEntityFromEntity()
- Added LOReferenceEntityToEntity()
- Added LOReferenceEntityGetClipMask()
- Added LOReferenceEntitySetClipMask()
- Added LOReferenceEntityGetExplodedEntities()

## LayOut API 7.0, LayOut 2022.0

- Added a new dll to the LayOut C API package - `LayOutUtils.dll`.
- Added LOAutoTextDefinitionType::LOAutoTextDefinitionType_ModelRatio mandatory auto-text type
- Added LOAutoTextDefinitionType::LOAutoTextDefinitionType_ModelSceneName mandatory auto-text type
- Added LOAutoTextDefinitionType::LOAutoTextDefinitionType_ModelSceneDescription mandatory auto-text type
- Added LOAutoTextDefinitionType::LOAutoTextDefinitionType_ModelScale mandatory auto-text type
- Added LOAutoTextDefinitionType::LOAutoTextDefinitionType_ModelSectionName mandatory auto-text type
- Added LOAutoTextDefinitionType::LOAutoTextDefinitionType_ModelSectionSymbol mandatory auto-text type
- Added LOAutoTextDefinitionType::LOAutoTextDefinitionType_PageCount auto-text type
- Added LOAutoTextDefinitionType::LOAutoTextDefinitionType_Sequence auto-text type
- Deprecated LOAutoTextDefinitionGetPageNumberStyle()
- Deprecated LOAutoTextDefinitionSetPageNumberStyle()
- Deprecated LOAutoTextDefinitionGetPageNumberStartIndex()
- Deprecated LOAutoTextDefinitionSetPageNumberStartIndex()
- Added LOAutoTextDefinitionGetNumberStyle()
- Added LOAutoTextDefinitionSetNumberStyle()
- Added LOAutoTextDefinitionGetStartIndex()
- Added LOAutoTextDefinitionSetStartIndex()
- Added LOAutoTextDefinitionGetStartPage()
- Added LOAutoTextDefinitionSetStartPage()
- Added LOAutoTextDefinitionGetEndPage()
- Added LOAutoTextDefinitionSetEndPage()
- Added LOAutoTextDefinitionGetIncrement()
- Added LOAutoTextDefinitionSetIncrement()
- Added LOAutoTextDefinitionGetSequenceFormat()
- Added LOAutoTextDefinitionSetSequenceFormat()
- Added LOAutoTextDefinitionRenumberSequence()

## LayOut API 5.1, LayOut 2020.1

- Added LOGridSetMajorSpacing()
- Added LOGridSetMinorDivisions()
- Added LOGridSetMajorColor()
- Added LOGridSetMinorColor()
- Added LOGridSetShow()
- Added LOGridSetShowMajor()
- Added LOGridSetShowMinor()
- Added LOGridSetPrint()
- Added LOGridGetInFront()
- Added LOGridSetInFront()
- Added LOGridGetClipToMargins()
- Added LOGridSetClipToMargins()
- Added LOSketchUpModelGetCameraModified()
- Added LOSketchUpModelResetCamera()
- Added LOSketchUpModelGetEffectsModified()
- Added LOSketchUpModelResetEffects()
- Added LOSketchUpModelGetStyleModified()
- Added LOSketchUpModelResetStyle()
- Added LOSketchUpModelGetLayersModified()
- Added LOSketchUpModelResetLayers()
- Changed LOConnectionPointCreateFromPID() to return SU_ERROR_NO_DATA when persistent_id isn't valid for the given model
- Changed LOImageSetClipMask() to accept an SU_INVALID clip_mask, which will remove the existing clip mask, if any
- Changed LOSketchUpModelSetClipMask() to accept an SU_INVALID clip_mask, which will remove the existing clip mask, if any
- Fixed regression from 2019.1 in LOAngularDimensionCreateDimensionTextCopy(), which caused the method to return the plain text instead of the display text
- Fixed regression from 2019.1 in LOLinearDimensionCreateDimensionTextCopy(), which caused the method to return the plain text instead of the display text

## LayOut API 4.0, LayOut 2019 M0

- Added LOPathWindingType enumeration
- Added LOPathGetWindingType()
- Added LOSketchUpModelGetDashScale()
- Added LOSketchUpModelSetDashScale()

## LayOut API 3.0, LayOut 2018 M0

- Added LOApplicationRef - A wrapper for the application when running within LayOut
- Added LOApplicationGetApplication()
- Added LOApplicationGetActiveDocument()
- Added LOApplicationGetVersion()
- Added LOApplicationGetVersionNumber()
- Added LOApplicationGetOnline()
- Added LOApplicationOpenDocument()
- Added LOApplicationQuit()
- Added LOAutoTextDefinitionGetMandatory()
- Added LOAutoTextDefinitionGetDocument()
- Added LOAutoTextDefinitionGetIndex()
- Added LOAutoTextDefinitionGetDocument()
- Added LOAutoTextDefinitionListRef
- Added LOAutoTextDefinitionListCreate()
- Added LOAutoTextDefinitionListRelease()
- Added LOAutoTextDefinitionListGetNumberOfAutoTextDefinitions()
- Added LOAutoTextDefinitionListGetAutoTextDefinitionAtIndex()
- Added LODictionaryClear()
- Added LODictionaryGetNumberOfKeys()
- Added LODictionaryGetKeys()
- Added LODictionaryRemoveEntry()
- Added LODocumentAddReference()
- Added LODocumentGetActiveLayer()
- Added LODocumentSetActiveLayer()
- Added LODocumentGetInitialPage()
- Added LODocumentSetInitialPage()
- Added LODocumentGetAutoTextDefinitionByName()
- Added LODocumentGetAutoTextDefinitions()
- Added LODocumentGetLengthFormatter()
- Added LOEntityGetLocked()
- Added LOEntitySetLocked()
- Added LOFormattedTextGetDisplayText()
- Added LOGroupGetScaleFactor()
- Added LOGroupSetScaleFactor()
- Added LOGroupGetScaleUnits()
- Added LOGroupSetScaleUnits()
- Added LOGroupRemoveScaleFactor()
- Added LOImageRepGetDPI()
- Added LOLayerGetDocument()
- Added LOLayerInstanceGetIndexOfEntity()
- Added LOPageGetDocument()
- Added LOPathAppendPathTo()
- Added LOTableGetBorderStyle()
- Added LOTableSetBorderStyle()
- Added LOTypedValueGetString()
- Added LOTypedValueSetString()
- Changed behavior of LOSketchUpModelGetExplodedEntities() - an exploded raster-rendered model will now wrap the LOImageRef in a LOGroupRef

## LayOut API 2.0, LayOut 2017 M0

- Added LOVector2D and modified LOPathGetTangentAtParameter() to require an LOVector2D instead of an LOPoint2D
- Added LOAngularDimensionRef - A wrapper for LayOut angular dimension entities
- Added LOAngularDimensionLeaderLineType enumeration
- Added LOAngularDimensionCreate()
- Added LOAngularDimensionAddReference()
- Added LOAngularDimensionRelease()
- Added LOAngularDimensionFromEntity()
- Added LOAngularDimensionToEntity()
- Added LOAngularDimensionGetExplodedEntities()
- Added LOAngularDimensionGetUsesCustomText()
- Added LOAngularDimensionSetUsesCustomText()
- Added LOAngularDimensionCreateDimensionTextCopy()
- Added LOAngularDimensionSetDimensionText()
- Added LOAngularDimensionGetLeaderLineType()
- Added LOAngularDimensionSetLeaderLineType()
- Added LOAngularDimensionGetStartConnectionPoint()
- Added LOAngularDimensionSetStartConnectionPoint()
- Added LOAngularDimensionGetEndConnectionPoint()
- Added LOAngularDimensionSetEndConnectionPoint()
- Added LOAngularDimensionGetStartExtentPoint()
- Added LOAngularDimensionSetStartExtentPoint()
- Added LOAngularDimensionGetEndExtentPoint()
- Added LOAngularDimensionSetEndExtentPoint()
- Added LOAngularDimensionGetStartOffsetPoint()
- Added LOAngularDimensionGetEndOffsetPoint()
- Added LOAngularDimensionSetStartOffsetLength()
- Added LOAngularDimensionSetEndOffsetLength()
- Added LOAngularDimensionGetArcCenterPoint()
- Added LOAngularDimensionGetRadius()
- Added LOAngularDimensionSetRadius()
- Added LOAngularDimensionGetAngle()
- Added LOAutoTextDefinitionRef - A wrapper for LayOut auto-text definitions
- Added LOAutoTextDefinitionType enumeration
- Added LOAutoTextDefinitionNumberingStyle enumeration
- Added LOAutoTextDefinitionGetType()
- Added LOAutoTextDefinitionGetName()
- Added LOAutoTextDefinitionSetName()
- Added LOAutoTextDefinitionGetTag()
- Added LOAutoTextDefinitionGetCustomText()
- Added LOAutoTextDefinitionSetCustomText()
- Added LOAutoTextDefinitionGetDateFormat()
- Added LOAutoTextDefinitionSetDateFormat()
- Added LOAutoTextDefinitionGetDisplayFullPath()
- Added LOAutoTextDefinitionSetDisplayFullPath()
- Added LOAutoTextDefinitionGetDisplayFileExtension()
- Added LOAutoTextDefinitionSetDisplayFileExtension()
- Added LOAutoTextDefinitionGetPageNumberStyle()
- Added LOAutoTextDefinitionSetPageNumberStyle()
- Added LOAutoTextDefinitionGetPageNumberStartIndex()
- Added LOAutoTextDefinitionSetPageNumberStartIndex()
- Added LOConnectionPointCreateFromPID()
- Added LODocumentGetNumberOfAutoTextDefinitions()
- Added LODocumentGetAutoTextDefinitionAtIndex()
- Added LODocumentAddAutoTextDefinition()
- Added LODocumentRemoveAutoTextDefinition()
- Added LOImageSetClipMask()
- Added LOPathCreateArc()
- Added LOPathGetCircle()
- Added LOPathGetArc()
- Added LOSketchUpModelGetClipMask()
- Added LOSketchUpModelSetClipMask()
- Added LOSketchUpModelGetModel(), which returns an `SUModelRef`
- Added LOTableRef - A wrapper for LayOut table entities
- Added LOTableCellRotation enumeration
- Added LOTableCreate()
- Added LOTableFromEntity()
- Added LOTableToEntity()
- Added LOTableGetExplodedEntities()
- Added LOTableAddReference()
- Added LOTableRelease()
- Added LOTableGetDimensions()
- Added LOTableGetRowHeight()
- Added LOTableSetRowHeight()
- Added LOTableGetColumnWidth()
- Added LOTableSetColumnWidth()
- Added LOTableInsertRow()
- Added LOTableRemoveRow()
- Added LOTableInsertColumn()
- Added LOTableRemoveColumn()
- Added LOTableCreateCellTextCopy()
- Added LOTableSetCellText()
- Added LOTableGetRowEdgeStyle()
- Added LOTableSetRowEdgeStyle()
- Added LOTableGetColumnEdgeStyle()
- Added LOTableSetColumnEdgeStyle()
- Added LOTableGetCellSpan()
- Added LOTableMergeCells()
- Added LOTableGetCellRotation()
- Added LOTableSetCellRotation()

## Layout API 1.0, LayOut 2016 M0

- Initial release