1
0
Fork 0
freesewing/sites/dev/docs/reference/api/pattern/addpart
Joost De Cock ab3204f9f1 chore: Port FreeSewing.dev to docusaurus
The replaces the NextJS site powering FreeSewing.dev with a Docusaurus
setup. It's part of my efforts to simplify FreeSewing's setup so we can
focus on our core value proposition.
2024-09-28 13:13:48 +02:00
..
readme.mdx chore: Port FreeSewing.dev to docusaurus 2024-09-28 13:13:48 +02:00

---
title: Pattern.addPart()
---

The `Pattern.addPart()` method allows you to add a part to a pattern.
It has the same effect as passing a part to the Design constructor.

:::noteThis method is chainable as it returns the Pattern object:::

## Pattern.addPart() signature

```js
Pattern pattern.addPart(object part)
```

## Pattern.addPart() example

```js
import { Aaron } from "@freesewing/aaron"

const extra = {
  name: 'aaron.extra',
  draft: ({ points, Point, paths, Path, part }) => {
    points.msg = new Point(50,15)
      .attr('data-text', "I am an extra part")
    paths.box = new Path()
      .move(new Point(0,0))
      .line(new Point(0,30))
      .line(new Point(100,30))
      .line(new Point(100,0))
      .close(new Point(100,0))
      .addClass('note')

    return part
  }
}

// Load some public test measurements from the FreeSewing backend
const measurements = (
  await (
    await fetch("https://backend3.freesewing.org/curated-sets/1.json")
  ).json()
).measurements

const pattern = new Aaron({ measurements }).addPart(extra)

const svg = pattern.draft().render()
```