Line thickness, color Frame Access with arcpy.mapping

410
5
09-01-2010 06:10 PM
Status: In Product Plan
Labels (1)
TedCronin
MVP Honored Contributor

 Border, Background and Drop Shadow, with Line thickness, color, gap, etc for setting elements inside of layouts.  Basically, the ability to change the frame properties for Elements in the layout via arcpy

5 Comments
TedCronin
This would give us further capability in controlling the layout via arcpy.  I would want more control of the properties but via arcpy.  Currently, this is limited.
AndyRitchie
 arcpy.mapping is easy to use, and I would love to see functionality increased to allow customization of everything - beyond line attributes even. Like legend elements!
TedCronin
 @andyroo  I totally agree.
JeffBarrette

@ted , @AndyRitchie Would Element.applyStyle(style_Item) to an existing element be sufficient? 

Exposing the entire symbology model to arcpy.mp would be a very large undertaking and changing the color of a border line symbol can be done via Python CIM access.

At 3.2 we've added a number of Layout/Map element constructor methods. (e.g.,ArcGISProject.createGraphicElement(), or Layout.createMapFrame() ).  The methods include an optional { style_item} parameter that gets associated with the element when created.

To help with apply style items during creation, at 3.2 we added ArcGISProject.listStyleItems().

At 3.3 we plan to allow users to automate adding styles to a project.

 

Thanks, Jeff - Layout and arcpy.mp teams

JeffBarrette
Status changed to: In Product Plan

With Pro 3.3, we added applyStyle(style_Item) to all Layout Elements that can be created using styles. This allows you to apply a style to an existing element in a layout. This does NOT include borders, shadows, etc because those properties are not persisted in a style BUT Python CIM access can be used to set these properties.

Thanks, Jeff - arcpy.mp and Layout SDK teams