1
0
Fork 0
freesewing/markdown/dev/howtos/code/adding-snippets/en.md
2022-10-12 14:42:45 +02:00

1.3 KiB

title
Adding snippets

Snippets should be stored in the snippets key of the object passed to your part's draft method. The contructor for snippets is available in the Snippets key. You can destructure them for easy access.

```design/src/part.mjs function draftPart = ({ Point, Path, paths, // highlight-start Snippet, snippets, // highlight-end part }) {

// highlight-start snippets.logo = new Snippet('logo', new Point(50,50)) .attr('data-scale', 0.5) .attr('data-rotate', 180) // highlight-end

// prevent clipping paths.demo = new Path() .move(new Point(0,0)) .move(new Point(100,100))

return part }

</Example>

You can scale and rotate a snippet by setting the `data-scale` and `data-rotate` attributes respectively.

- **data-scale** : Either a single scale factor, or a set of 2 scale factors
  for the X and Y axis respectively. See [the SVG scale
  transform](https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/transform#Scale)
  for details.
- **data-rotate**: A rotation in degrees. The center of the rotation will be
  the snippet's anchor point

<Tip>

See [Using attributes](/howtos/code/attributes/) for details on how to set attributes.

</Tip>