Making Guides at an Object's Borders: Difference between revisions

From Scribus Wiki
Jump to navigation Jump to search
No edit summary
Line 9: Line 9:
[[File:Create guides.png]]
[[File:Create guides.png]]
[[File:Create guides1.png]]
[[File:Create guides1.png]]
===setguides2object.py===
==setguides2object.py==
The only error detection is for no document open, and no item selected. For shapes, polygons, and vector graphics, the guides will be created at the bounding box margins.
The only error detection is for no document open, and no item selected. For shapes, polygons, and vector graphics, the guides will be created at the bounding box margins.


Line 43: Line 43:
     result = scribus.messageBox('Error','You need a Document open')
     result = scribus.messageBox('Error','You need a Document open')
</pre>
</pre>
==setguides2inside.py==

Revision as of 20:07, 25 January 2017

This article is part of the Scripts series.

This is a simple script whose idea comes from imagining that you have first created an object on the page and now you want to set some guides at the borders of the frame as a reference for other page content.

Usage is quite simple. Just select your object, run the script. Any pre-existing guides are preserved, so you can repeat this for other objects on the page. If there are any guides you don't want to keep, just slide them off the page – make sure your guides are not locked.

If you have selected more than one object and use the Shift-click method, the guides will be made at the borders of the first object selected. If you use the "rubber-band" method of selecting a number of objects, the guides will be at the borders of the oldest object. Once you group a number of objects, then the guides will be at the bounding box for the group, just as with a complex vector drawing.

Create guides.png Create guides1.png

setguides2object.py

The only error detection is for no document open, and no item selected. For shapes, polygons, and vector graphics, the guides will be created at the bounding box margins.

#!/usr/bin/env python
# -*- coding: utf-8 -*-

# Sets horizontal and vertical guides at the 
# borders of a selected object
# preserves existing guides.
"""
setguides2object.py (c)2011 Gregory Pittman

This is a simple script that creates horizontal
and vertical guides at the edges of a selected object.
As written, it only uses one object, and preserves
any existing guides.
"""
import scribus

if scribus.haveDoc():
    try:
        f = scribus.getSelectedObject()
        xpos, ypos = scribus.getPosition(f)
        width, height = scribus.getSize(f)
        scribus.setHGuides(scribus.getHGuides() + [ypos, ypos + height])
        scribus.setVGuides(scribus.getVGuides() + [xpos, xpos + width])
        scribus.setRedraw(1)
    except:
        result = scribus.messageBox('Error', 'You must select an object')
        sys.exit(1)
else:
    result = scribus.messageBox('Error','You need a Document open')

setguides2inside.py