1
0
Fork 0
freesewing/sites/dev/docs/reference/api/pattern/sample/readme.mdx
2024-09-29 07:14:59 +02:00

53 lines
1.5 KiB
Text

---
title: Pattern.sample()
---
The `Pattern.sample()` method will _sample_ the pattern which means
to draft multiple variants of the same pattern, and stack them on
top of each other.
:::note
This method is chainable as it returns the Pattern object
:::
Under the hood, this method will call one of
[Pattern.sampleOption()](/reference/api/pattern/sampleoption),
[Pattern.sampleMeasurement()](/reference/api/pattern/samplemeasurement), or
[Pattern.sampleModels()](/reference/api/pattern/samplemodels) to sample
an option, a measurement, or different models respectively.
Unlike those three methods where you pass the relevant info to to the method,
this `Pattern.sample()` method will instead read the
[`settings.sample`](/reference/settings/sample)
object to determine what needs to be done.
See the specific sample methods below for more details:
- [Pattern.sampleOption()](/reference/api/pattern/sampleoption)
- [Pattern.sampleMeasurement()](/reference/api/pattern/samplemeasurement)
- [Pattern.sampleModels()](/reference/api/pattern/samplemodels)
## Pattern.sample() signature
```js
Pattern pattern.sample()
```
## Pattern.sample() example
```js
import { Aaron } from '@freesewing/aaron'
// 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({
sample: {
models: measurements,
},
})
const svg = pattern.sample().render()
```