1
0
Fork 0
freesewing/sites/dev/docs/reference/api/part/attr
2025-05-19 17:20:45 -07:00
..
readme.mdx fix(dev:docs): Dimension macro, boundary box, and typo fixes 2025-05-19 17:20:45 -07:00

---
title: Part.attr()
---

This `Part.attr()` method can be used to add attributes to the Part object.
It calls `this.attributes.add()` under the hood, and returns the Part object.

If the third parameter is set to `true` it will call `this.attributes.set()`
instead, thereby overwriting the value of the attribute.

## Signature

```js

Part Part.attr(
  string name,
  mixed value,
  bool overwrite = false
)

```

:::tip

This method is chainable as it returns the `Part` object

:::

## Example

<Example caption=" Example of the Part.attr() method">

```js

({ part, points, Point, Path, paths }) => {

points.A = new Point(0,0)
points.B = new Point(0,40)
points.C = new Point(100,40)

paths.line = new Path()
  .move(points.B)
  .line(points.C)
  .line(points.A)
  .line(points.B)
  .close()
  .addText('I have been flipped!', 'left')

paths.bbox = new Path()
  .move(new Point(0,-40))
  .move(new Point(120,60))

part.attr('transform', 'scale(1,-1) translate(0,-40)')

return part
}

```

</Example>