This was originally an answer to a customer’s question about aligning objects using SKILLCAD tools. He wanted to know if SKILLCAD had a tool that would align and equally space objects, keeping the left and right objects in place. This would also need to work for objects placed vertically. I decided to include the answer in a Blog, since it is something that most layout designers would like to use but isn’t where you would probably expect to find the tool. It is in the Pin Functions which can be found under the SKILLCAD drop-down menu in the Cadence tool bar at the top of the layout window, or when you click on the Pin icon in the SKILLCAD tool bar.
SKILLCAD has really good pin placement and alignment tools, which can also be used on other objects. If you click on the Pin icon in the SKILLCAD tool bar you will get a menu of the SKILLCAD Pin Functions. Select “Align/Distribute Pins” on this menu. This will bring up the SKILLCAD Move/Align Pins form. Even though it says it is for pins, it also does a really good job on objects and instances. Actually, anything with a Bounding Box.
Look in the bottom right of the form. There is a box titled “Distribute In:”. There are two buttons, the top button is “Current Range”. The bottom button is “New Range”.
First select the objects you want aligned. If you select “Current Range”, the tool first identifies the extents of all the selected objects. If the objects are more in the X direction, the tool takes the most left object, and the most right object, and evenly spaces and aligns all the objects between these two objects in the X direction, starting at the most left object. If the objects are more in the Y direction, it spaces and aligns the objects evenly in the Y direction starting at the most bottom object.
If you click on the “New Range” button you can define a new range by drawing a line to define the new range. The direction and length of the range is defined by the direction and length of the line you draw. The selected objects will then be equally spaced within this newly defined range. But they won’t be aligned. To align them, click on the “Current Range” button. Or you can first click on “Current Range”, which will align the instances. Then click on “New Range” and draw the line for the new range. The instances will retain their alignment and will be moved to equal spacings in the new range.
You can also specify a set X and Y distance between objects you want aligned. On the bottom left of the form is an area where you can specify an X and/or a Y spacing. First select the objects you want to align. Enter the spacings. Then when you click on “Set Space”, the objects will be aligned, starting from the most left object, according to the set spacings. Select Align, in the “sp_x:” field, if you want the objects to align vertically. Select Align, in the “sp_y:” field, if you want the objects to align horizontally. If you give both an X and Y value in these fields, the objects will be placed in a diagonal pattern, starting from the most left object, and spaced according to the given X and Y values.