Change scale bar properties with Python

09-22-2010 07:53 AM
Status: Open
Labels (2)
New Contributor III

I want to be able to access and alter scale bar properties such as division values, division numbers, and units via Python.  An ESRI staff member on the ArcObjects forum says it can't be done... yet.

This would help me a lot. I currently have multiple scale bars in one Data Driven Pages MXD that are positioned according to the current scale. It would be nice to just have one that changed the division values and numbers dynamically.
Yep. Been waiting for this for years now.
I did a custom PrintSOE which has this feature:

ay be this can help you until Esri has implemented this feature
I need this to be possible, make map automation much cleaner and make for much better and appropriate cartography.

+100 The ability to dynamically set the properties of a scale bar is paramount in managing advanced webprinting and geoprocessing. Currently we have to setup (and manage!) multiple mxds at slightly different scale settings to ensure that the scale bars and grids/graticules* are actually useful.

*the ability to set the grid/graticule division through arcpy.mapping is also sorely needed.


Just curious what the hold up is for ESRI to implement this?  Seems like a request that has been around for awhile now.


I spoke to a couple of folks on the ESRI arcpy.mapping team about this at UC a couple of years ago. The party line seemed to be that ESRI didn't want to reinvent everything for python that was already available in ArcObjects. I keep hoping if we bug them enough it might happen though. I have to maintain a handful of templates with about 20 named scale bars each to get around this problem, which is kind of ridiculous if you ask me.