---
name: "GENLIB_DEF_AB"
section: "3"
platform: "linux"
package: "alliance"
version: "5.1.1-3"
release: "Debian 10 (Buster)"
platforms: ["linux"]
url: "https://new.carta.tech/GENLIB_DEF_AB"
---

# GENLIB\_DEF\_AB(3)

define a new abutment box to the current layout cell

## NAME

GENLIB\_DEF\_AB - define a new *abutment box* to the current layout cell

## SYNOPSYS

```
#include <genlib.h>
void GENLIB_DEF_AB(dx1, dy1, dx2, dy2);
long dx1, dy1, dx2, dy2;
```

## PARAMETERS

- *dx1, dy1*

  Values to be added to the lower left corner of the previous *abutment box*

- *dx2, dy2*

  Values to be added to the upper right corner of the previous *abutment box*

## DESCRIPTION

**DEF\_AB** give a new *abutment box* to the current physical cell. The coordinates of the *abutment box* are the coordinates of the envelop of the *abutment boxes* of each instance plus the delta values given as argument. The *(dx1, dy1)* values are added to the (x1, y1) coordinates of the bottom left corner of the *"standard abutment box"* (the envelop), and the *(dx2, dy2)* are added to the top right ones. You have to call this function before saving, otherwise the figure will not have an *abutment box*. Since it's regarding the *abutment box* of its model that an instance is placed, any futher use of this figure will be incorrect if **DEF\_AB** isn't called, or properly defined.

## ERRORS

**"GENLIB\_DEF\_AB impossible : missing GENLIB\_DEF\_PHFIG"**

No figure has been yet specified by a call to **DEF\_PHFIG**. So it isn't possible to give it a size. you must call **DEF\_PHFIG** before any other layout action.

## EXAMPLE

```
#include <genlib.h>
main()
{
	/∗ Create a figure to work on  ∗/
	GENLIB_DEF_PHFIG("cell");
	/∗ Place an instance ∗/
	GENLIB_PLACE("model","i1", NOSYM,0L,0L);
	GENLIB_PLACE("model","i2", NOSYM,120L,40L);
	GENLIB_DEF_PHINS("i1");
	GENLIB_PLACE_TOP("model2", "i3", NOSYM);
	/∗ define the new abutment box as the standard envelop ∗/
	GENLIB_DEF_AB(0, 0, 0, 0);
	/∗ Save all that on disk ∗/
	GENLIB_SAVE_PHFIG();
}
```

## SEE ALSO

[**genlib**(1)](/genlib/1.md), [**GENLIB\_SAVE\_PHFIG**(3)](/GENLIB_SAVE_PHFIG/3.md).
