6.2 KiB
title |
---|
plugin-annotations |
Published as @freesewing/plugin-annotations, this plugin provides a variety of macros and snippets to annotate designs.
The annotations plugin provides the following snippets:
The annotations plugin provides the following macros:
- banner
- bannerbox
- bartack
- bartackAlong
- bartackFractionAlong
- crossbox
- cutonfold
- grainline
- hd
- ld
- rmad
- rmd
- pd
- pleat
- scalebox
- sewTogether
- title
- vd
The annotations plugin also provides methods to the Store for adding cutting instructions
For an in-depth look at how to add cutting instructions to your part, see our cutlist how-to
Installation
npm install @freesewing/plugin-annotations
Usage
Either add it as a part plugin in your design, or add it to a pattern instance with Pattern.use().
To import the plugin for use:
import { annotationsPlugin } from '@freesewing/plugin-banner'
// or
import { pluginAnnotations } from '@freesewing/plugin-banner'
Methods
store.cutlist.addCut
The store.cutlist.addCut()
method will add a set of cutting instructions for the part
Signature
store.cutlist.addCut(Object so)
Pass an object to the store.cutlist.addCut
method with any of the following keys; any you don't provide will be filled with the defaults:
Key | Type | Default | Description |
---|---|---|---|
cut | Number|false | 2 | the number of pieces to cut from the specified material. Pass false to clear all cutting instructions for the material |
material | String | 'fabric' | the translation key of the material to cut from |
identical | Boolean | false | should even numbers of pieces be cut in the same direction? false for mirrored |
bias | Boolean | false | should the pieces in these cutting instructions be cut on the bias |
ignoreOnFold | Boolean | false | should these cutting instructions ignore any cutOnFold information set by the part |
You can use any `string` you want for your material, but here are some standard ones we have translation for
Key | Translation |
---|---|
fabric | Main Fabric |
lining | Lining |
canvas | Canvas |
lmhCanavas | Light to Medium Hair Canvas |
heavyCanvas | Heavyweight Hair Canvas |
interfacing | Interfacing |
plastic | Plastic |
ribbing | Ribbing |
Example
import {pluginCutlist} from '@freesewing/plugin-cutlist'
const part = {
name: 'example.front',
plugins: [pluginCutlist],
draft: ({part, store}) => {
// add instructions to cut two from main fabric
store.cutlist.addCut()
// add instructions to cut four on the bias from lining
store.cutlist.addCut({cut: 4, material: 'lining', bias: true, })
return part
}
}
You can also add multiple sets of cutting instructions for the same material
import {pluginCutlist} from '@freesewing/plugin-cutlist'
const part = {
name: 'example.front',
plugins: [pluginCutlist],
draft: ({part, store}) => {
// add instructions to 1 from lining
store.cutlist.addCut({cut: 1, material: 'lining'})
// add instructions to cut 1 on the bias from lining
store.cutlist.addCut({cut: 1, material: 'lining', bias: true, })
return part
}
}
store.cutlist.removeCut
The store.cutlist.removeCut()
method will remove cutting instructions from the part
Signature
store.cutlist.removeCut(String material)
Example
import {pluginCutlist} from '@freesewing/plugin-cutlist'
const part = {
name: 'example.front',
plugins: [pluginCutlist],
draft: ({part, store}) => {
// remove all cutting instructions for all materials
store.cutlist.removeCut()
// remove cutting instructions for just one material
store.cutlist.removeCut('fabric')
return part
}
}
store.cutlist.setGrain
The store.cutlist.setGrain()
method will record the angle of the grainline annotation. This method is called internally by plugin-grainline
to store information for cutting layout tools. You shouldn't have to call it, but it's there if you need it.
Signature
store.cutlist.setGrain(Number grainAngle)
Example
import {pluginCutlist} from '@freesewing/plugin-cutlist'
const part = {
name: 'example.front',
plugins: [pluginCutlist],
draft: ({part, store}) => {
// set the grainline angle
store.cutlist.setGrain(0)
return part
}
}
store.cutlist.setCutOnFold
The store.cutlist.setCutOnFold()
method will record the points that make up the cut on fold line. This method is called internally by plugin-cutonfold
to store information for cutting layout tools. You shouldn't have to call it, but it's there if you need it.
Signature
store.cutlist.setCutOnFold(Point p1, Point p2)
Example
import {pluginCutlist} from '@freesewing/plugin-cutlist'
const part = {
name: 'example.front',
plugins: [pluginCutlist],
draft: ({part, points, Point, store}) => {
// set the cut on fold line
points.p1 = new Point(0, 0)
points.p2 = new Point(0, 10)
store.cutlist.setCutOnFold(points.p1, points.p2)
return part
}
}
Notes
The annotations plugin is part of our plugin-bundle